我正在尝试使用正则表达式将字符串1
中的所有值18
与24-15-7-49-63-2
匹配。我之前使用正则表达式用于一般用途,但我不知道如何做到这一点。
答案 0 :(得分:4)
棘手的是,您无法使用正则表达式轻松定义范围。但这可能会做你想要的:
\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.*)