关于正则表达式中的元字符的过滤

前端之家收集整理的这篇文章主要介绍了关于正则表达式中的元字符的过滤前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

java使用String.replaceAll方法其实底层使用的也是正则,而若替换的目标字符串是经过用户输入,或对用户输入加以拼装的,可能需要过滤

正则的元字符防止报错

解决方法如下:

-------------------------------------------------------------------------------------网上转载的资料------------------------------------------------------------------------------------

转义字符 \Q...\E

使用 \Q 开始,\E 结束,可使中间的标点符号失去特殊意义,将中间的字符作为普通字符。

使用 \U 开始,\E 结束,除了具有 \Q...\E 相同的功能外,还将中间的小写字母转换成大写。在大小写敏感模式下,只能与大写文本匹配。

使用 \L 开始,\E 结束,除了具有 \Q...\E 相同的功能外,还将中间的大写字母转换成小写。在大小写敏感模式下,只能与小写文本匹配。


说明

\Q...\E 适合用于:表达式中需要比较长的普通文本,而其中包含了特殊符号。


举例

表达式

说明

@H_403_40@\Q(a+b)*3\E

可匹配文本 "(a+b)*3"。

@H_403_40@\(a\+b\)\*3

如果不使用 \Q...\E 进行转义,则对每个特殊符号进行转义。

原文链接:https://www.f2er.com/regex/361733.html

猜你在找的正则表达式相关文章