2011-11-01 70 views
1

示例:在給定字符串中必須至少有兩位數字,與它們的位置無關/[0-9]{2}/正則表達式不區分大小寫

如果他們喜歡a1b2分離它不工作:

這IF他們在一起纔有效。

編輯:謝謝你的迴應,但我意識到這個例子太微不足道了。試試這個:必須至少有兩個數字在一個給定的字符串和兩個字母x和&兩個字母和兩個字母J.

不會在每個可能的排列之間添加*真的很漫長?有沒有辦法不關心命令?

+1

[regex:包含至少8位十進制數字]的可能重複(http://stackoverflow.com/questions/5416250/regex-contains-at-least-8-decimal-digits) –

+0

'[0-9] {2}'會匹配兩個相鄰的數字 - 所以只需測試該匹配。我錯過了什麼嗎? –

+1

也許這給你的靈感:http://stackoverflow.com/questions/5950756/regex-for-checking-that-at-least-3-of-4-different-character-groups-exist –

回答

2

「感謝您的答覆,但這應該是一個簡單的例子 ,如果它所更像」

嗯,是因爲你有更多的規則,你的正則表達式會變得更加冗長。這是不可避免的。一般來說,當你想檢查是否有至少你應該使用positive lookahead assertions

/^(?=.*\d.*\d)(?=.*x.*x).*$/ 

此帳戶至少有兩個數字,至少有兩個X的。剩下的我留給你。

+0

謝謝!我選擇了我最初的例子,但這是我尋找的解決方案 – captainclam

+0

@captainclam很高興爲您提供幫助。 – FailedDev

1

你可以說一個數字,然後按任何(或沒有),然後一個數字:/[0-9].*[0-9]/

3

下面會爲你工作:

/\d.*\d/ 
相關問題