我想得到单词text2,但是它返回null。您可以更正吗?
String str = "Text SETVAR((&&text1 '&&text2'))";
Pattern patter1 = Pattern.compile("SETVAR\\w+&&(\\w+)'\\)\\)");
Matcher matcher = patter1.matcher(str);
String result = null;
if (matcher.find()) {
result = matcher.group(1);
}
System.out.println(result);
您的正则表达式与您的字符串不匹配,因为您未指定打开的括号也\\w+
将匹配单词character的任何组合,并且不匹配space和&
。
取而代之的是,您可以使用否定的字符类[^']+
,该类将匹配长度为1或大于1的字符的任何组合,但引号除外:
String str = "Text SETVAR((&&text1 '&&text2'))";
"SETVAR\\(\\([^']+'&&(\\w+)'\\)\\)"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句