java特殊字符转义字符_Java正则表达式处理特殊字符转义的方法
正则需要转义字符
'$', '(', ')', '*', '+', '.', '[', ']', '?', '\\', '^', '{', '}', '|'
异常现象:
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正则表达式处理特殊字符转义的方法相关推荐
- java qq验证_JAVA正则表达式校验qq号码的方法
导读 正文 Java 正则表达式 正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. 正则表达式实例 一个字符串其 ...
- java 正则表达式过滤_java正则表达式过滤特殊字符
Java用正则表达式 过滤特殊字符,只允许中文.字母Java用正则表达式 过滤特殊字符,只允许中文.字母或数字,该怎么写? String s1="我是正确测试数据aasdf2342343AS ...
- java 正则 实例_Java正则表达式实例详解
创建正则表达式 你可以从比较简单的东西入手学习正则表达式.要想全面地掌握怎样构建正则表达式,可以去看JDK 文档的java.util.regex 的Pattern 类的文档. 字符 B 字符B \xh ...
- java列出文件正则过滤_JAVA正则表达式过滤文件的实现方法
java正则表达式过滤文件的实现方法 正则表达式过滤文件列表,听起来简单,如果用java实现,还真需要一番周折,本文简析2种方式 1.适用于路径确定,文件名时正则表达式的情况(jdk6的写法) Str ...
- java 表达式写法_java正则表达式的写法
展开全部 方法/步骤 Java正则表达式正则表达式的语法知识:Java支持Perl 5 正则表达式语法的一个子集.e69da5e6ba903231313335323631343130323136353 ...
- java 字符串函数_Java字符串函数– 25+必须知道方法
java 字符串函数 Java字符串函数 (Java String Functions) Java String class has a lot of functions to manipulate ...
- java private 接口_java接口中 定义 private 私有方法
在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...
- java 生成随机数_Java 生成随机数的 N 种方法
原标题:Java 生成随机数的 N 种方法 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨用 Java 生成随机数的不同方法. 2 ...
- java 数组删除_Java数组删除指定元素的方法(按数组角标删除)
Java最有效的删除数组指定元素的方法,应该属于这一种形式,下面是Java数组按角标删除数据的工具类,代码如下:public static byte[] removeTheElement(byte[] ...
最新文章
- Redis简介、特性、优势、应用场景和nosql介绍
- RISC-V会彻底改变计算吗?
- ​【安全牛学习笔记】WPS及其他工具WPS
- PHP全栈学习笔记20
- Sencha应用程序的UI测试
- 如何配置三层交换机创建VLAN 2
- 延时求和波束形成的MATLAB仿真
- Java中的程序设计模式--单例与多例
- Zuul:Pre和Post过滤器(下)
- Unity应用架构设计(1)—— MVVM 模式的设计和实施(Part 2)
- 13 SD配置-企业结构-分配-给销售办公室分配销售组
- 说说Asp.net 身份验证、授权
- 分享一些很小众但是很实用的软件
- Python爬虫 | 手把手教你扒一扒贝壳网成交房源数据
- 【踩坑】RTX30系列显卡的CUDA配置
- adb shell 模拟器 关闭\打开WIFI
- 《传奇之王》风波不断 编剧替柳云龙打抱不平_0
- CRM下午茶(九)-老客户挽回
- 计算机操作系统底层相关知识
- oracle vba 数组_vba 数据库目录
热门文章
- java++记录+运行_记录java+testng运行selenium(三)---xml、ini、excel、日志等配置
- python 包编译安装mysql_CentOS7编译安装MySQL8.0.23和Python3.1.9
- 微人事项目实战的数据库脚本_EMP微前端实战之cocos2d线上项目
- Super-palindrome【字符串+思维】
- [洛谷P1341]无序字母对
- 跋山涉水——深入 Redis 字典遍历
- 自定义控件---重写Listbox实现item图标变换和item点击事件
- 《OpenStack云计算实战手册(第2版)》——1.7 添加用户
- python字典键值对转化为相应的变量名和变量值
- 为什么编程语言以及数据库要从1970年1月1日开始计算时