我在使用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