我在使用 java.util.regex 的模式匹配器让一些正则表达式工作时遇到问题。我有以下表达式:
(?=^.{1,6}$)(?=^\d{1,5}(,\d{1,3})?$)
我针对以下字符串测试匹配项:
12345 (match OK)
123456 (no match)
123,12 (match OK)
当我在以下站点上对其进行测试时,它似乎运行良好:
http://www.regextester.com/,好的
http://myregextester.com/index.php,好的
但是我似乎无法让它与我的 java 程序中的任何内容相匹配。此外,在线 java 正则表达式测试器给出相同的结果(不匹配):
http://www.regexplanet.com/advanced/java/index.html 没有匹配项???
我不知道为什么我不能让它在 java 中工作,但似乎在很多其他正则表达式引擎中工作?
编辑:这是非工作代码。原谅错字,我不能从我的代码 PC 复制/粘贴到 stackoverflow。
String inputStr = "12345";
String pattern = "(?=^.{1,6}$)(?=^\\d{1,5}(,\\d{1,3})?$)";
Pattern regexp = Pattern.compile(pattern);
System.out.println("Matches? "+regexp.matcher(inputStr).matches());
System.out.println(inputStr.matches(pattern));