我写过像\[(.*)\]
之后我想捕捉\[
和\]
内的任何内容
但结果返回失败
例如:
正则表达式\[(.*)\]
字符串测试:\[\sqrt 3\]
期待:\sqrt 3
答案 0 :(得分:0)
您需要在捕获组中设置.*
才能进行非贪婪的匹配。在正则表达式中,您需要再次反斜杠三次才能匹配文字\
符号。
String s = "\\[\\sqrt 3\\]";
System.out.println(s);
Matcher m = Pattern.compile("\\\\\\[(.*?)\\\\\\]").matcher(s);
while(m.find())
{
System.out.println(m.group(1));
}
输出:
\[\sqrt 3\]
\sqrt 3