正则需要转义的字符

前端之家收集整理的这篇文章主要介绍了正则需要转义的字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

(){}[]^$|?*+.\ 这些元字符, 都需要转义,其他的都不要转义了,如果把不需要转义的转义了,在js中不会有啥错,只是在java中,把不该转的转了 ,就会,报错。编译器是通不过的。。

举个栗子:

例如有这么个字符串android:id="@+id/abc" 需要提取出其中的abc,那么针对通用的提取,正则表达式应该这样写: (?<=android:id="@\+id/)(.)+(?=")

放到java中运行,那么需要把所有的\变成\\,然后就成这样了 (?<=android:id="@\\+id/)(.)+(?=") ,这样放进去是有问题的,结果是这样


so,因为java中string中的不能含有"",必须转义。那么把"变成\" 就可以了



另外还发现一个问题,在正则中对于/,可以转义,也可以不转义,java中是不会报错的。所以,上面的正则也可以写成:

(?<=android:id=\"@\\+id\\/)(.)+(?=\")

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