Zir*_*ode 3 java regex escaping
我试图在另一个字符串中替换第一次出现的字符串"[]":
aString.replaceFirst("[]","blah");
我收到错误:java.util.regex.PatternSyntaxException:索引1 []附近的未闭合字符类
[和]显然是元字符,但是当我试图用\ eclipse来逃避它们时,抱怨它不是一个有效的转义序列.
我看了但找不到,我错过了什么?
谢谢
正则表达式模式\用作转义字符,但Java也是如此.因此,要在正则表达式模式中获得单个 escape(\),您应该写:\\.为逃避正则表达式中的逃逸,将模式加倍:\\\\.
当然,这是非常乏味的,因为正则表达式有很多类似的逃避序列.这就是为什么Java正则表达式还支持"引用"模式的"部分"部分,这允许您将模式编写为:\\Q[]\\E.
编辑:正如另一个答案暗示:java.util.regex.Pattern.quote()在\\Q和之间执行此包装\\E.
| 归档时间: |
|
| 查看次数: |
10232 次 |
| 最近记录: |