我有以下文字
bla bla == aaaaaa(bb)aaaaaa == bla bla
我想找到字符串(匹配)
== aaaaaa(bb)aaaaaa ==
我不知道==和aaaaaa之间有多少个空格,所以文字也可以是
bla bla == aaaaaa(bb)aaaaaa == bla bla
在这种情况下我想匹配
== aaaaaa(bb)aaaaaa ==
我尝试使用以下正则表达式,但我意识到括号无法识别:
==(.+?)aaaaaa(bb)aaaaaa(.+?)==
怎么做?
答案 0 :(得分:2)
在(
和)
之前加上反斜杠,将它们用作常规字符,这必须有效:
==(.+?)aaaaaa\(bb\)aaaaaa(.+?)==
答案 1 :(得分:1)
如果要在字符串中匹配(
和)
,则需要在它们之前加上反斜杠字符。我想你可能想要像
Pattern pat = Pattern.compile("==(.+?)aaaaaa\\(bb\\)aaaaaa(.+?)==");
(您需要在字符串文字中包含两次反斜杠,以便在实际模式中获得一个反斜杠。)