正規表示式

2021-08-19 20:47:41 字數 1671 閱讀 7922

作用

分割、查詢、匹配、替換字串

-----------基本語法-----------

界定符

/ /原子

正規表示式最小匹配單位

可見原子:unicode編碼表中用鍵盤輸出後肉眼可見的字元

- 標點 ;  " _ ? . 等等

- 英文本母數字 a-z,a-z,0-9

- 漢字、日文、阿拉伯文等其他語言文字

- 數理化公式符號 ∈ ∑

- 其他可見字元

不可見原子:unicode編碼表中用鍵盤輸出後肉眼不可見的字元

- 換行符 \n

- 回車 \r

- 製表符 \t

- 空格

- 其他不可見符號

元字元之篩選原子方式

- |    匹配兩個或者多個分支選擇

-     匹配方括號中的任意乙個原子

- [^]    匹配除方括號中的原子之外的任意字元

元字元之原子的集合

- .    匹配除換行符之外的任意字元

- \d    匹配任意乙個十進位制數字,即[0-9]

- \d    匹配任意乙個非十進位制數字,即[^0-9]

- \s    匹配乙個不可見原子,即[\f\n\r\t\v]

- \s    匹配乙個可見原子,即[^\f\n\r\t\v]

- \w    匹配任意乙個數字、字母或下劃線,即[0-9a-za-z_]

- \w    匹配任意乙個非數字、字母或下劃線,即[^0-9a-za-z_]

量詞

表示其前面的原子恰好出現n次

表示其前面的原子最少出現n次

表示其前面的原子最少出現n次,最多出現m次

*    匹配其之前的原子0次、1次或者多次,即

+    匹配其之前的原子1次或者多次,即

?    匹配其之前的原子0次或者1次,即

邊界控制

^    匹配字串開始的位置

$    匹配字串結束的位置

模式單元

( )    匹配其中的整體為乙個原子

貪婪匹配

匹配結果存在歧義時取最長

懶惰匹配

匹配模式存在歧義時取最短

常見修正模式

u    懶惰匹配

i    忽略英文本母大小寫

x    忽略空白

s    讓元字元'.'匹配包括換行符在內的所有字元

中文匹配

utf-8漢字編碼範圍是0x4e00-0x9fa5,在ansi(gb2312)環境下,0xb0-0xf7,0xa1-0xfe

utf-8要使用u模式修正符使模式字串被當成utf-8,在ansi環境下,要使用chr將ascii碼轉換為字元

e.g:/^[\u4e00-\u9fa5]$/        /[\x-\x]/u        

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...