如果我有这样的字符串"错误。 LineNumber = 2,originalLine =' ABC',lineErrors = [找到特殊字符]",我想提取
我是正则表达式的新手,任何指针都会非常有用。我浏览了几个过去的问题,但没有得到我想要的东西。
答案 0 :(得分:2)
您可以使用捕获组捕获值。这是Java中的示例代码。这适用于指定的字符串,但您可以相应地调整和更改它。
public class Main {
public static void main(String[] args) {
String s = "Error. LineNumber = 2, originalLine = 'ABC', lineErrors = [Special chars found]";
String patternStr = "Error. LineNumber = ([\\S ]+), originalLine = ([\\S ]+), lineErrors = ([\\S ]+)";
Pattern p = Pattern.compile(patternStr);
Matcher m = p.matcher(s);
if (m.find()) {
int count = m.groupCount();
System.out.println("group count is " + count);
for (int i = 0; i < count; i++) {
System.out.println(m.group(i+1));
}
}
}
}