正規表示式詳細學習資料

weixin_34236869發表於2016-03-17

常用的元字元.

匹配除換行符以外的任意字元\w

匹配字母或數字或下劃線或漢字\s

匹配任意的空白符\d

匹配數字\b

匹配單詞的開始或結束^

匹配字串的開始$

匹配字串的結

常用的限定符*

重複零次或更多次+

重複一次或更多次?

重複零次或一次{n}

重複n次{n,}

重複n次或更多次{n,m}

重複n到m次


常用的反義程式碼\W

匹配任意不是字母,數字,下劃線,漢字的字元\S

匹配任意不是空白符的字元\D

匹配任意非數字的字元\B

匹配不是單詞開頭或結束的位置[^x]

匹配除了x

以外的任意字元[^aeiou]

匹配除了aeiou

這幾個字母以外的任意字元

常用的正規表示式

:

匹配中文字元的正規表示式:

[\u4e00-\u9fa5], [\

-\

]

可以

.

評註:匹配中文還真是個頭疼的事,有了這個表示式就好辦了

匹配雙位元組字元

(

包括漢字在內

)

[^\x00-\xff]

評註:可以用來計算字串的長度(一個雙位元組字元長度計

2

ASCII

字元計

1

匹配空白行的正規表示式:

\n\s*\r

評註:可以用來刪除空白行

匹配

HTML

標記的正規表示式:

<(\S*?)[^>]*>.*?|<.*? />



------------

評註:

網上流傳的版本太糟糕,

上面這個也僅僅能匹配部分,

對於複雜的巢狀標記依舊無能

為力

匹配首尾空白字元的正規表示式:

^\s*|\s*$

評註:可以用來刪除行首行尾的空白字元

(

包括空格、製表符、換頁符等等

)

,非常有用的表

達式

匹配

Email

地址的正規表示式:

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

評註:表單驗證時很實用

匹配網址

URL

的正規表示式:

[a-zA-z]+://[^\s]*

評註:網上流傳的版本功能很有限,上面這個基本可以滿足需求

匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

評註:表單驗證時很實用

匹配國內電話號碼:

\d{3}-\d{8}|\d{4}-\d{7}

評註:匹配形式如

0511-4405222

021-87888822

匹配騰訊

QQ

號:

[1-9][0-9]{4,}

評註:騰訊

QQ

號從

10000

開始

匹配中國郵政編碼:

[1-9]\d{5}(?!\d)

評註:中國郵政編碼為

6

位數字

匹配身份證:

\d{15}|\d{18}

評註:中國的身份證為

15

位或

18

匹配

ip

地址:

\d+\.\d+\.\d+\.\d+

評註:提取

ip

地址時有用

匹配特定數字:

^[1-9]\d*$

//

匹配正整數

^-[1-9]\d*$

//

匹配負整數

^-?[1-9]\d*$

//

匹配整數

^[1-9]\d*|0$

//

匹配非負整數(正整數

+ 0

^-[1-9]\d*|0$

//

匹配非正整數(負整數

+ 0

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$

//

匹配正浮點數

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$

//

匹配負浮點數

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

//

匹配浮點數

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$

//

匹配非負浮點數(正浮點數

+ 0

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$

//

匹配非正浮點數(負浮點數

+ 0

評註:處理大量資料時有用,具體應用時注意修正

相關文章