111111111 - Invalid
A121278237 - Invalid
7777777777 - Invalid
121263263 - Valid
111111112 - Valid
2
A
回答
12
^([0-9])(?!\1+$)[0-9]+$
應該工作。它需要至少兩位數的字符串才能成功匹配。
說明:
匹配的一個數字,並捕獲它變成反向引用#1:
([0-9])
斷言,這是不可能匹配任何長度的字符串(> 1)相同的位的那剛剛匹配,然後是字符串的末尾:
(?!\1+$)
然後匹配任何字符串的數字,直到字符串的末尾:
[0-9]+$
編輯:當然,在Java中,您需要轉義字符串內的反斜槓("\\"
)。
2
- 取一個[0-9]正則表達式並丟棄不僅包含數字的字符串。
- 取第一個字符,並將其用作正則表達式[C] +以查看該字符串是否包含任何其他數字。
+0
對於生產代碼,我可能更喜歡這種方法:使用非常簡單的正則表達式在單獨的步驟中執行檢查。這樣代碼將更容易被團隊中的其他人所理解。所以也爲此+1。 – Jonik 2009-11-06 13:14:09
0
建立在Tim的答案上,通過添加或子句來消除「至少兩位數」的要求。
^([0-9])(?!\1+$)[0-9]+$|^[0-9]$
例如:
String regex = "^([0-9])(?!\\1+$)[0-9]+$|^[0-9]$";
boolean a = "12".matches(regex);
System.out.println("a: " + a);
boolean b = "11".matches(regex);
System.out.println("b: " + b);
boolean c = "1".matches(regex);
System.out.println("c: " + c);
回報
a: true
b: false
c: true
相關問題
- 1. F#檢查一個字符串是否只包含數字
- 2. 檢查一對字符串是否包含相同的字符?
- 3. 檢查2個字符串是否包含相同的字符?
- 4. 檢查一個字符串是否包含數字和字母
- 5. 檢查一個字符串是否只包含特殊字符
- 6. 如何檢查一個字符串是否包含兩個相同的字符?
- 7. 檢查一個字符串是否包含數字
- 8. 檢查字符串是否包含一個數字範圍
- 9. Java,如何檢查一個字符串是否包含數字?
- 10. PHP檢查字符串是否包含一些字母/數字
- 11. 檢查字符串是否包含字(不是子字符串!)
- 12. 檢查一個字符串是否不包含一些文字
- 13. Applescript:檢查一個字符串是否包含空字符串?
- 14. Python2,檢查一個字符串是否只包含數字,與x.isdigit混淆()
- 15. 檢查一個字符串是否只包含紅寶石數字
- 16. Smalltalk:如何檢查一個字符串只包含數字?
- 17. 檢查字符串是否只包含指定的字符
- 18. 檢查字符串是否包含字母數字
- 19. 檢查字符串是否只包含拉丁字符?
- 20. 檢查一個字符串是否包含任何字符串數組元素
- 21. 測試以查看一個字符串是否只包含字母數字
- 22. 檢查字符串是否包含數字和符號
- 23. 如何檢查是否字符串包含數字符號
- 24. 如何檢查字符串是否只包含1個相同的號碼
- 25. 檢查一個字符串是否包含整數
- 26. 檢查字符串是否不包含其他字符串
- 27. 如何檢查字符串是否包含PowerShell中的數字
- 28. 如何檢查一個字符串是否只包含特定字符
- 29. PHP - 如何檢查一個字符串是否只包含小寫字符?
- 30. 如何檢查字符串是否只包含英文字母?
這是功課? – finnw 2009-11-06 11:52:07
不..不是.. – Milli 2009-11-06 11:55:20
那麼爲什麼「使用正則表達式」的限制呢? – CPerkins 2009-11-06 11:55:40