1. 程式人生 > 實用技巧 >常見的正則表示式面試題2

常見的正則表示式面試題2

附:常用正則表示式:

1.由數字、26個英文字母或者下劃線組成的字串:
    ^[0-9a-zA-Z_]{1,}$
2.非負整數(正整數 + 0 ):
    ^/d+$
3. 正整數:
    ^[0-9]*[1-9][0-9]*$
4.非正整數(負整數 + 0):
    ^((-/d+)|(0+))$
5. 負整數 :
    ^-[0-9]*[1-9][0-9]*$
6.整數:    
    ^-?/d+$
7.非負浮點數(正浮點數 + 0):
    ^/d+(/./d+)?$
8.正浮點數 :
    ^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$
9. 非正浮點數(負浮點數 + 0):
    ^((-/d+(/./d+)?)|(0+(/.0+)?))$
10.負浮點數 :
    ^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$
11. 浮點數 :
    ^(-?/d+)(/./d+)?$
12.由26個英文字母組成的字串 :    
    ^[A-Za-z]+$
13. 由26個英文字母的大寫組成的字串 :
    ^[A-Z]+$
14.由26個英文字母的小寫組成的字串 :
    ^[a-z]+$
15. 由數字和26個英文字母組成的字串 :
    ^[A-Za-z0-9]+$
16.由數字、26個英文字母或者下劃線組成的字串 :    
    ^/w+$
17.email地址 :
    ^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$
18.url:    
    ^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$
19. 年-月-日:
    /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/
20.月/日/年:
    /^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/
21.Emil:
    ^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$
22. 電話號碼:
    (d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?
23.IP地址:
    ^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$
24. 匹配中文字元的正則表示式:
    [/u4e00-/u9fa5]
25.匹配雙位元組字元(包括漢字在內):
    [^/x00-/xff]
26. 匹配空行的正則表示式:
    /n[/s| ]*/r
27.匹配HTML標記的正則表示式:
    /<(.*)>.*<///1>|<(.*) //>/
28.匹配首尾空格的正則表示式:
    (^/s*)|(/s*$)
29.匹配Email地址的正則表示式:
    /w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
30. 匹配網址URL的正則表示式:
    ^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$
31. 匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):
    ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
32. 匹配國內電話號碼:
    (/d{3}-|/d{4}-)?(/d{8}|/d{7})?
33.匹配騰訊QQ號:
    ^[1-9]*[1-9][0-9]*$
34. 只能輸入數字:
    ^[0-9]*$
35.只能輸入n位的數字:
    ^/d{n}$
36.只能輸入至少n位的數字:
    ^/d{n,}$
37.只能輸入m~n位的數字:
    ^/d{m,n}$
38.只能輸入零和非零開頭的數字:
    ^(0|[1-9][0-9]*)$
39.只能輸入有兩位小數的正實數:
    ^[0-9]+(.[0-9]{2})?$
40. 只能輸入有1~3位小數的正實數:
    ^[0-9]+(.[0-9]{1,3})?$
41.只能輸入非零的正整數:
    ^/+?[1-9][0-9]*$
42. 只能輸入非零的負整數:
    ^/-[1-9][0-9]*$
43.只能輸入長度為3的字元:
    ^.{3}$
44. 只能輸入由26個英文字母組成的字串:
    ^[A-Za-z]+$
45.只能輸入由26個大寫英文字母組成的字串:
    ^[A-Z]+$
46. 只能輸入由26個小寫英文字母組成的字串:
    ^[a-z]+$
47.只能輸入由數字和26個英文字母組成的字串:
    ^[A-Za-z0-9]+$
48. 只能輸入由數字和26個英文字母或者下劃線組成的字串:
    ^/w+$
49.驗證使用者密碼(正確格式為: 以字母開頭,長度在5~17 之間,只能包含字元、數字和下劃線)
    ^[a-zA-Z]/w{5,17}$
50.驗證是否包含有 ^%&',;=?$/"等字元:
    [^%&',;=?$/x22]+
51.只能輸入漢字:
    ^[/u4e00-/u9fa5]{0,}$
52、只含有漢字、數字、字母、下劃線不能以下劃線開頭和結尾
    ^(?!_)(?!.*?_$)[a-zA-Z0-9_/u4e00-/u9fa5]+$
53、只含有漢字、數字、字母、下劃線,下劃線位置不限
    ^[a-zA-Z0-9_/u4e00-/u9fa5]+$
54、2~4個漢字
    @"^[/u4E00-/u9FA5]{2,4}$