我有以下的正則表達式來測試手機號碼:/^1[0-9]{10}|[0-9]{8}$/
。 如果我有字符串"123456789"
,我用Java測試它,結果是錯誤的;但在JavaScript中,結果是正確的。任何人都可以告訴我原因嗎?js和java之間的正則表達式的區別
-2
A
回答
0
在Java中,您可能正在使用match
。類似的東西;我對Java並不熟悉。無論如何,主要的想法是,該方法只檢查字符串的開始的匹配。你的正則表達式匹配一個以1
開頭的字符串和10個數字,或者以8位數字結尾的字符串; 123456789
既不是。在JavaScript中,所有三個String.prototype.match
,RegExp.prototype.exec
和RegExp.prototype.test
檢查任何地方。
我想你的意思是:
/^(1[0-9]{10}|[0-9]{8})$/
但是,這仍然錯; 123456789難以匹配,這是更嚴格的。我不知道你的意圖是什麼,但它只是不工作:
- 三人失蹤位數+12(345)678-9 ___
- 兩名失蹤位數+1(234)567- 89__
- (123)中的一個缺失數字456-789
- 123-4567中的兩位數字太多| 89
雖然我對其他國家的電話號碼格式不太瞭解。
相關問題
- 1. Java和ECMA-262(AS,JS)中正則表達式的區別
- 2. Python和Rubular之間的正則表達式的區別?
- 3. 正則表達式中的*和。*之間的區別(使用python)
- 4. C#和JavaScript正則表達式之間的區別?
- 5. 正則表達式:^和\ A之間的區別
- 6. 正則表達式中$ 1和$&之間的區別
- 7. \ w和\ b正則表達式元字符之間的區別
- 8. 正則表達式中(。*)和(。*?)之間的區別是什麼?
- 9. 正則表達式[A-Z]和[a-zA-Z]之間的區別
- 10. PCRE:。*和。*之間的區別在正則表達式
- 11. 'RegExp'和正則表達式的區別?
- 12. 「。」之間的區別和 「$」 表達式
- 13. JSP中的Java表達式和Java腳本之間的區別
- 14. 這三個正則表達式之間的區別是什麼
- 15. 2個正則表達式字符串之間的區別
- 16. 這兩個正則表達式之間的區別?
- 17. c的表達式和C++的表達式之間的區別
- 18. Ruby正則表達式:使用一個正則表達式新建和聯合之間的區別
- 19. JavaScript和Java之間的正則表達式模式的差異?
- 20. [^ \ d]。*和^ [^ \ d]。*在java正則表達式中的區別
- 21. java正則表達式中「\\ d +」和「\\ d ++」的區別
- 22. 這兩個正則表達式之間有什麼區別
- 23. 正則表達式的區別
- 24. 正則表達式類型的區別?
- 25. 正則表達式來識別0.00和10.00之間的小數
- 26. 正則表達式中方括號和括號之間的區別是什麼?
- 27. 關於javascript和php正則表達式之間區別的反饋
- 28. Python和Javascript之間在評估正則表達式上的區別
- 29. JavaScript與正則表達式和filter_var之間的區別電子郵件驗證
- 30. 測試表達式之間的區別
我不相信在Java測試的結果是錯誤的。 – Pointy
正則表達式表示,「a'1'後面跟着10個數字或8位數字 – Pointy
@Pointy,如果它是'/^1([0-9] {10} | [0- 9] {8})$ /',是不是像'/ ^(1 [0-9] {10} | [0-9] {8})$ /'這樣匹配?我沒有嘗試運行這在java btw中 –