KANIKIG

KANIKIG

just for fun | 兴趣使然 Ph.D. in Engineering|❤️ #NFT $ETH| [Twitter](https://twitter.com/kanikig2)|[Github](https://github.com/KANIKIG)|[Telegram channel](https://t.me/kanikigtech)

正則表達式入門

image

參考:https://deerchao.cn/tutorials/regex/regex.htm

正規表達式是什麼#

正規表達式就是記錄文本規則的程式碼。

測試正規表達式#

線上測試工具:wegester

元字符#

代碼說明
.匹配除換行符以外的任意字符
\w匹配字母或數字或底線或漢字
\s匹配任意的空白符
\d匹配數字
\b匹配單詞的開始或結束
^匹配字串的開始
$匹配字串的結束

:

查找目標正規表達式
hi 後面不遠處跟著一個 Lucy\bhi\b.*\bLucy\b
以 0 開頭,然後是兩個數字,然後是一個連字號 “-”,最後是 8 個數字0\d\d-\d\d\d\d\d\d\d\d 或 0\d {2}-\d {8}
匹配以字母 a 開頭的單詞\ba\w*\b
1 個或更多連續的數字\d+
剛好 6 個字符的單詞\b\w{6}\b
整個字串是 5 到 12 位數字^\d{5,12}$

字符轉義#

例:

查找目標正規表達式
deerchao.cndeerchao\.cn
C:\WindowsC:\\Windows

重複#

代碼 / 語法說明
*重複零次或更多次
+重複一次或更多次
?重複零次或一次
{n}重複 n 次
{n,}重複 n 次或更多次
{n,m}重複 n 到 m 次

例:

正規表達式查找目標
Windows\d+Windows 後面跟 1 個或更多數字
^\w+一行的第一個單詞

字符類#

例:

正規表達式查找目標
[aeiou]任何一個英文元音字母
[0-9]一位數字
(?0\d{2}[) -]?\d{8}幾種格式的電話號碼

分枝條件#

匹配分枝條件時,將會從左到右地測試每個條件,如果滿足了某個分枝的話,就不會去再管其它的條件了。

例:

正規表達式查找目標
0\d{2}-\d{8}|0\d{3}-\d{7}三位區號,8 位本地號 或 4 位區號,7 位本地號
\d{5}-\d{4}|\d{5}美國郵編的規則是 5 位數字,或者用連字號間隔的 9 位數字

分組#

可以用小括號來指定子表達式(也叫做分組)

例:

正規表達式查找目標
(\d{1,3}.){3}\d{1,3}簡單的 IP 地址匹配
((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)正確的 IP 地址

反義#

代碼說明
\W匹配任意不是字母,數字,底線,漢字的字符
\S匹配任意不是空白符的字符
\D匹配任意非數字的字符
\B匹配不是單詞開頭或結束的位置
[^x]匹配除了 x 以外的任意字符
[^aeiou]匹配除了 aeiou 這幾個字母以外的任意字符

例:

正規表達式查找目標
\S+不包含空白符的字串
<a[^>]+>用尖括號括起來的以 a 開頭的字串

後向引用#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。