正则需要转义字符

'$', '(', ')', '*', '+', '.', '[', ']', '?', '\\', '^', '{', '}', '|'

异常现象:

java.util.regex.PatternSyntaxException: Dangling meta. character '*' near index 0

解决方法

对特殊字符加\\转义即可。

注意:虽然使用[]在部分条件下也可以,但是在对于(、[、{范围边界开始符不匹配的情况下会报如下:

异常现象

java.util.regex.PatternSyntaxException: Illegal repetition near index 50

Java过滤正则表达式特殊字代码如下(注意:\\需要第一个替换,否则replace方法替换时会有逻辑bug)

/**

* 转义正则特殊字符 ($()*+.[]?\^{},|)

*

* @param keyword

* @return

*/

public static String escapeExprSpecialWord(String keyword) {

if (StringUtils.isNotBlank(keyword)) {

String[] fbsArr = { "\\", "$", "(", ")", "*", "+", ".", "[", "]", "?", "^", "{", "}", "|" };

for (String key : fbsArr) {

if (keyword.contains(key)) {

keyword = keyword.replace(key, "\\" + key);

}

}

}

return keyword;

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

java特殊字符转义字符_Java正则表达式处理特殊字符转义的方法相关推荐

  1. java qq验证_JAVA正则表达式校验qq号码的方法

    导读 正文 Java 正则表达式 正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. 正则表达式实例 一个字符串其 ...

  2. java 正则表达式过滤_java正则表达式过滤特殊字符

    Java用正则表达式 过滤特殊字符,只允许中文.字母Java用正则表达式 过滤特殊字符,只允许中文.字母或数字,该怎么写? String s1="我是正确测试数据aasdf2342343AS ...

  3. java 正则 实例_Java正则表达式实例详解

    创建正则表达式 你可以从比较简单的东西入手学习正则表达式.要想全面地掌握怎样构建正则表达式,可以去看JDK 文档的java.util.regex 的Pattern 类的文档. 字符 B 字符B \xh ...

  4. java列出文件正则过滤_JAVA正则表达式过滤文件的实现方法

    java正则表达式过滤文件的实现方法 正则表达式过滤文件列表,听起来简单,如果用java实现,还真需要一番周折,本文简析2种方式 1.适用于路径确定,文件名时正则表达式的情况(jdk6的写法) Str ...

  5. java 表达式写法_java正则表达式的写法

    展开全部 方法/步骤 Java正则表达式正则表达式的语法知识:Java支持Perl 5 正则表达式语法的一个子集.e69da5e6ba903231313335323631343130323136353 ...

  6. java 字符串函数_Java字符串函数– 25+必须知道方法

    java 字符串函数 Java字符串函数 (Java String Functions) Java String class has a lot of functions to manipulate ...

  7. java private 接口_java接口中 定义 private 私有方法

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...

  8. java 生成随机数_Java 生成随机数的 N 种方法

    原标题:Java 生成随机数的 N 种方法 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨用 Java 生成随机数的不同方法. 2 ...

  9. java 数组删除_Java数组删除指定元素的方法(按数组角标删除)

    Java最有效的删除数组指定元素的方法,应该属于这一种形式,下面是Java数组按角标删除数据的工具类,代码如下:public static byte[] removeTheElement(byte[] ...

最新文章

  1. Redis简介、特性、优势、应用场景和nosql介绍
  2. RISC-V会彻底改变计算吗?
  3. ​【安全牛学习笔记】WPS及其他工具WPS
  4. PHP全栈学习笔记20
  5. Sencha应用程序的UI测试
  6. 如何配置三层交换机创建VLAN 2
  7. 延时求和波束形成的MATLAB仿真
  8. Java中的程序设计模式--单例与多例
  9. Zuul:Pre和Post过滤器(下)
  10. Unity应用架构设计(1)—— MVVM 模式的设计和实施(Part 2)
  11. 13 SD配置-企业结构-分配-给销售办公室分配销售组
  12. 说说Asp.net 身份验证、授权
  13. 分享一些很小众但是很实用的软件
  14. Python爬虫 | 手把手教你扒一扒贝壳网成交房源数据
  15. 【踩坑】RTX30系列显卡的CUDA配置
  16. adb shell 模拟器 关闭\打开WIFI
  17. 《传奇之王》风波不断 编剧替柳云龙打抱不平_0
  18. CRM下午茶(九)-老客户挽回
  19. 计算机操作系统底层相关知识
  20. oracle vba 数组_vba 数据库目录

热门文章

  1. java++记录+运行_记录java+testng运行selenium(三)---xml、ini、excel、日志等配置
  2. python 包编译安装mysql_CentOS7编译安装MySQL8.0.23和Python3.1.9
  3. 微人事项目实战的数据库脚本_EMP微前端实战之cocos2d线上项目
  4. Super-palindrome【字符串+思维】
  5. [洛谷P1341]无序字母对
  6. 跋山涉水——深入 Redis 字典遍历
  7. 自定义控件---重写Listbox实现item图标变换和item点击事件
  8. 《OpenStack云计算实战手册(第2版)》——1.7 添加用户
  9. python字典键值对转化为相应的变量名和变量值
  10. 为什么编程语言以及数据库要从1970年1月1日开始计算时