前言
好久到沒有去寫關於正則表達式的總結了,雖然自己寫了一些關於正則表達式的東西。但是
感覺上對正則表達式還停留在網上查找的階段,對於大部分的人來說,很難寫自己的正則表達式
對於正則表達式筆者也做過相關的總結。呃,過了一段時間還是模糊了。因此找一些練習題來找
回自己的記憶。
需要說明的是這些練習題有的是網上的!
初級練習
1、求非負整數 : ^\d+$
Tips:需要注意的是這個匹配模式為多行模式下進行的
2、匹配正整數: ^[1-9]*[1-9][0-9]*$ 在網上也有這種寫法的 ^[0-9]*[1-9][0-9]*$
這里截圖我也不貼了,前者指能匹配123012這種整數,而后者可以匹配001230。
取舍就看實際的需要了
3、非正整數:^(-\d+|(0+))$
4、負整數:^-[0-9]*[1-9][0-9]*$
5、整數 :^-?\d+$
6、非負浮點數 :^\d+(\.\d+)?$
7、正浮點數 :^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
8、非正浮點數 :^((-\d+(\.\d+)?)|(0+(\.0+)?))$
9、負浮點數:^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
10、浮點數:^(-?\d+)(\.\d+)?$
11、有數字、26個英文字母組成的字符串:^[A-Za-z0-9]+$
中級練習
1、長度為8-10的用戶密碼(以字母開頭、數字、下划線)
^[a-zA-Z]\w{7,10}$
2、驗證輸入只能是漢字 : ^[\u4e00-\u9fa5]{0,}$
3、電子郵箱驗證:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
4、URL地址驗證:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
5、電話號碼的驗證:請參考:http://blog.csdn.net/kiritor/article/details/8733469
6、簡單的身份證號驗證:\d{15}|\d{18}$
..............................
高級練習
1、提取並捕獲html標簽內容:
<a(?: [^>]*)+href=([^ >]*)(?: [^>]*)*>
<OPTION\s.*?>