我试图从字符串(如(111,222,ttt,qwerty)值列表)中获取
我试过这样的模式:
String area = "(111,222,ttt,qwerty)";
String pattern = "\\([([^,]),*]+\\)";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(area);
System.out.println(m.groupCount());
ArrayList<String> values = new ArrayList<String>();
while(m.find()){
System.out.println("group="+m.group(1));
values.add(m.group());
}但我发现那组数是零。我错过了什么?
发布于 2012-01-04 09:13:27
假设您始终具有相同的字符串格式,则只需尝试:
String[] split = area.split("\\(|\\)|,");发布于 2012-01-04 09:13:08
它应该是(...)+而不是[...]+ (字符)。
发布于 2012-01-04 09:32:50
如果只有包含英文字母和数字的单词没有空格,
您可以使用下面的regexp来实现这一点。
String pattern = "[a-zA-Z0-9]+";它检查只包含数字和大写/小写英文字母的字符组。
https://stackoverflow.com/questions/8724344
复制相似问题