我在使用java.util.regex的模式匹配器获取一些正则表达式来工作时遇到了问题。我有以下表现:正则表达式在rubular中匹配,而不是在java中
(?=^.{1,6}$)(?=^\d{1,5}(,\d{1,3})?$)
我测试对下列字符串匹配:
12345 (match OK)
123456 (no match)
123,12 (match OK)
当我测试它在以下网站似乎很好地工作:
http://www.regextester.com/,ok
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));
你在Java中使用什么方法进行匹配? – Joey 2012-07-19 09:12:09
请用Java显示你的(非工作)代码。 – nhahtdh 2012-07-19 09:14:54
你能告诉我们你想要匹配什么,并提供你正在使用这个正则表达式的Java代码吗? – Lopina 2012-07-19 09:17:55