java中如何匹配大括号中逗号隔开的内容,如:
abcdef{123,abc-1,'xxx'},匹配结果123 abc-1 'xxx'三个值。
直接通过逗号分隔不行么
只是有逗号.可以试试直接split.或者substring.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String s = "abcdef{123,abc-1,'xxx'}";
Pattern p = Pattern.compile("\\{([^}]*)\\}");
Matcher m = p.matcher(s);
while (m.find()) {
String str = m.group(1);//匹配到的结果
String[] arr = str.split(",");//按逗号分开
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
}