2014-01-28 43 views
0

我要尋找一個正則表達式與特殊字符和大小4+的僅匹配數字字符串。 我做了張貼在這裏的問題有點回顧:定期爲有特殊字符數字表達** **只有

測試網站:http://regexlib.com/RETester.aspx


1- regular expression for numeric and special chacter check

解決方案:^((?!.*?\d)(?!.*?[^\w\s]).)+$

我嘗試這個規則表達於:

  • 155-555:否匹配(錯誤的)
  • 155555:否匹配(錯誤的)

Regular Expression to match a string of numbers including special characters 2-

解決方案:([-()_.+ ]*\d[-()_.+ ]*){4,}

  • 155-555:匹配(正確)
  • 155555:比賽(正確)
  • 155-555aaa:匹配(錯誤)

這正則表達式匹配前面的字符串。但是有一個錯誤。第三個字符串155-555aaa包含字母,而不是特殊字符。我們應該沒有匹配155-555aaa因爲a不是特殊字符。我怎樣才能修改這個正則表達式來只匹配帶特殊字符的數字字符串。 該數字串可以是任何形式的:

例如: 24332-2432 @ 2342年至1234年


特殊字符:&〜#「{'[(| -`_ \ C^A @)]} =} ^¨$$ *%ù]

數字 =數字

+4

什麼是「特殊字符」?ぷ特別嗎? – MSalters

+0

ok特殊字符:[&〜#「{'[(| -'_ \ç^à@)]} =} ^¨$$ *%ù] –

+0

怎麼樣:'[^ a-zA-Z ] {4,}'? –

回答

5

只是匹配任何[a-zA-Z](具有4個或更多的長度):

^[^a-z\s]{4,}$ 

上RegexPal Here is a test

+0

非常有趣所以你否定所有字母嗎? –

+1

是的,因此'[^ az]'與'[az]'相反 – Bojangles

+1

他否定了所有字母, ^')和字符串的結尾('$'),這就是他如何防止「155-555aaa」匹配 – Dane

1

有了更新的特殊字符= [&~#"{'[(|-``_\ç^à@)]}=}^¨$*%ù]類的「特殊或數字」變成只是[0-9&~#"{'[(|-``_\ç^à@)]}=}^¨$*%ù]和完整的regex變得 ^[0-9&~#"{'[(|-``_\ç^à@)]}=}^¨$*%ù]{4,}$

但相當懷疑ù是特殊的ú不是。

相關問題