[英]Java Regex - need help on number match
我正在尝试使用正则表达式匹配字符串24-15-7-49-63-2
中的所有值1
到18
。 我以前使用regex做一般用途,但我不知道该怎么做。
棘手的是,您无法轻松地使用正则表达式定义范围。 但这可能会满足您的要求:
\b([1-9]|1[0-8])\b
您可以在此处查看其运行情况: http : //regexr.com?2v8jj
这是java中的示例:
String text = "24-15-7-49-63-2";
String pattern = "\\b([1-9]|1[0-8])\\b";
Pattern compiledPattern = Pattern.compile(pattern);
Matcher matcher = compiledPattern.matcher(text);
while (matcher.find()) {
System.out.println(matcher.group());
}
输出:
15
7
2
编辑:根据注释,您可以使用以下模式获得唯一的匹配项:
\b([1-9]|1[0-8])\b(?!.*\b\1\b.*)
实际使用中: http : //regexr.com?2v8kh
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.