正則表達式練習題


正則表達式在線測試:http://tool.chinaz.com/regex/

1、匹配整數或者小數(包括正數和負數)

  -?\d+(\.\d+)?

    -?表示-匹配0次或一次,\d表示整數,+表示匹配一次或多次,(\.\d+)?表示小數
2、匹配年月日日期 格式2018-12-6

  ^[1-9]\d{0,3}-(1[0-2]|0?[1-9])-(3[01]|[12]\d|0?[1-9])$

    1.^[1-9]表示年是以數字1-9開頭的,\d{0,3}表示年的位數,^[1-9]\d{0,3}就表示1-9999年之間

    2.(1[0-2]|0?[1-9])中|前面的1[0-2]表示從10到12,后面的0?[1-9]表示01-09或者1-9,

      (1[0-2]|0?[1-9])表示月,01-12或者1-12

    3.(3[01]|[12]\d|0?[1-9])$其中3[01]表示30或31,[12]\d表示從10-29,最后的0?[1-9]表示從

      01-09或者是從1-9.整體就表示從01-31或者1-31

3、匹配qq號

  [1-9]\d{4,11}

    表示5位到12位qq.第一位為非0

4、11位的電話號碼

  1[3-9]\d{9}

    第一位數字為1,第二位為3-9,后面隨便9位數
5、長度為8-10位的用戶密碼 : 包含數字字母下划線

  \w{8,10}

    ........最簡單的,不寫解釋了
6、匹配驗證碼:4位數字字母組成的

  [\da-zA-Z]{4}或者[0-9a-zA-Z]{4}

    [ ]里面的表示數字,或者a-z或者A-Z,{4}表示4位
7、匹配郵箱地址

  [0-9a-zA-Z][\w\-.]+@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)*\.[A-Za-z0-9]{2,6}

    [0-9a-zA-Z][\w\-.]+  @前面必須有內容且只能是字母(大小寫),數字,下划線,減號,點

    [a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)*  @和最后一個點之間必須有內容且只能是字母(大小寫),數字,點,減號,且兩個點不能挨着

    [A-Za-z0-9]{2,6}  最后一個點之后必須有內容且內容只能是字母(大小寫),數字長度為大於等於2,小於等於6
8、從類似
<a>wahaha</a>
<b>banana</b>
<h1>qqxing</h1>
這樣的字符串中,
1)匹配出wahaha,banana,qqxing內容。

  \w{6}

  >\w+<
2)匹配出a,b,h1這樣的內容

  <\w+>

9、1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))
1)從上面算式中匹配出最內層小括號以及小括號內的表達式

  \([^()]+\)  \(和\)表示前后位( ),[^()]就表示外面的()里面沒有()

10、從類似9-2*5/3+7/3*99/4*2998+10*568/14的表達式中匹配出從左到右第一個乘法或除法

  \d+[*/]\d+  [*/]前后的\d+表示*或/前面的整數,可能是多位數字,要加+


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM