編程開發中常用的正則表達式語法介紹

編程開發中常用的正則表達式語法介紹

正則表達式

基本符號:

^ 表示匹配字符串的開始位置 (例外 用在中括號中[ ] 時,可以理解為取反,表示不匹配括號中字符串)

$ 表示匹配字符串的結束位置

* 表示匹配 零次到多次

+ 表示匹配 一次到多次 (至少有一次)

? 表示匹配零次或一次

. 表示匹配單個字符

| 表示為或者,兩項中取一項

( ) 小括號表示匹配括號中全部字符

[ ] 中括號表示匹配括號中一個字符 範圍描述 如[0-9 a-z A-Z]

{ } 大括號用於限定匹配次數 如 {n}表示匹配n個字符 {n,}表示至少匹配n個字符 {n,m}表示至少n,最多m

\ 轉義字符 如上基本符號匹配都需要轉義字符 如 \* 表示匹配*號

\w 表示英文字母和數字 \W 非字母和數字

\d 表示數字 \D 非數字

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

常用的正則表達式

匹配中文字符的正則表達式: [\\u4e00-\\u9fa5]

匹配雙字節字符(包括漢字在內):[^\\x00-\\xff]

匹配空行的正則表達式:\n[\s| ]*\r

匹配HTML標記的正則表達式:/.*|/

匹配首尾空格的正則表達式:(^\s*)|(\s*$)

匹配IP地址的正則表達式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //

匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配網址URL的正則表達式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

sql語句:^(select|drop|delete|create|update|insert).*$

1、非負整數:^\d+$

2、正整數:^[0-9]*[1-9][0-9]*$

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、負浮點數:^(-((正浮點數正則式)))$

10、英文字符串:^[A-Za-z]+$

11、英文大寫串:^[A-Z]+$

12、英文小寫串:^[a-z]+$

13、英文字符數字串:^[A-Za-z0-9]+$

14、英數字加下劃線串:^\w+$

15、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

16、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$

或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>""])*$

17、郵政編碼:^[1-9]\d{5}$

18、中文:^[\\u0391-\\uFFE5]+$

19、電話號碼:^((\d2,3)|(\d{3}\-))?(0\d2,3|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

20、手機號碼:^((\d2,3)|(\d{3}\-))?13\d{9}$

21、雙字節字符(包括漢字在內):^\\x00-\\xff

22、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那樣的trim函數)

23、匹配HTML標記:.*|

24、匹配空行:\n[\s| ]*\r

25、提取信息中的網絡鏈接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

26、提取信息中的郵件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

27、提取信息中的圖片鏈接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

28、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

29、提取信息中的中國手機號碼:(86)*0*13\d{9}

30、提取信息中的中國固定電話號碼:(\d3,4|\d{3,4}-|\s)?\d{8}

31、提取信息中的中國電話號碼(包括移動和固定電話):(\d3,4|\d{3,4}-|\s)?\d{7,14}

32、提取信息中的中國郵政編碼:[1-9]{1}(\d+){5}

33、提取信息中的浮點數(即小數):(-?\d*)\.?\d+

34、提取信息中的任何數字 :(-?\d*)(\.\d+)?

35、IP:(\d+)\.(\d+)\.(\d+)\.(\d+)

36、電話區號:/^0\d{2,3}$/

37、騰訊QQ號:^[1-9]*[1-9][0-9]*$

38、帳號(字母開頭,允許5-16字節,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

39、中文、英文、數字及下劃線:^[\\u4e00-\\u9fa5_a-zA-Z0-9]+$


分享到:


相關文章: