我写了这个正则表达式:
String regex = "^\\s+something\\s+(not\\s+)?else\\s+([-,\\s\\d]+)$";
这个代码:
String line = "something else 1, 2-3";
Matcher m = Pattern.compile(regex).matcher(line);
m.matches()
将返回true
,这就是我想要的。
但是,对于以下代码,它也返回true
,但我不希望它匹配。如何修改我的正则表达式以使其返回false
?
String line = "something else 1 2 3";
Matcher m = Pattern.compile(regex).matcher(line);
谢谢!
更新:我没有做任何范围检查。我只想看看列表中的空格之间是否有逗号。所以1, 3, 5-7
是有效的,但1, 2 5-7
不是1 2 3
。