Java Regex - 需要数字匹配方面的帮助

时间:2011-11-21 12:19:23

标签: java regex

我正在尝试使用正则表达式将字符串1中的所有值1824-15-7-49-63-2匹配。我之前使用正则表达式用于一般用途,但我不知道如何做到这一点。

1 个答案:

答案 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.*)

行动中:http://regexr.com?2v8kh