---恢復內容開始---
正規表示式
首先你要知道的是,談到正則,就只和字串相關了。在我給你提供的工具中,你輸入的每乙個字都是乙個字串。
其次,如果在乙個位置的乙個值,不會出現什麼變化,那麼是不需要規則的。
字元組 :[字元組]正則在同乙個位置可能出現的各種字元組成了乙個字元組,在正規表示式中用表示
字元分為很多類,比如數字、字母、標點等等。
待匹配結果
匹配結果
說明[0123456789]
8true
在乙個字元組裡列舉合法的所有字元,字元組裡的任意乙個字元和"待匹配字元"相同都視為可以匹配
[0123456789]
afalse
由於字元組中沒有"a"字元,所以不能匹配
[0-9]
7true
也可以用-表示範圍,[0-9]就和[0123456789]是乙個意思
[a-z]
strue
同樣的如果要匹配所有的小寫字母,直接用[a-z]就可以表示
[a-z]
btrue
[a-z]就表示所有的大寫字母
[0-9a-fa-f]
etrue
可以匹配數字,大小寫形式的a~f,用來驗證十六進製制字元
元字元:
元字元
匹配內容
. 匹配除換行符以外的任意字元
\w匹配字母或數字或下劃線
\s匹配任意的空白符
\d匹配數字
\n匹配乙個換行符
\t匹配乙個製表符
\b匹配乙個單詞的結尾
^匹配字串的開始
$匹配字串的結尾
\w
匹配非字母或數字或下劃線
\d
匹配非數字
\s
匹配非空白符
a|b
匹配字元a或字元b
()
匹配括號內的表示式,也表示乙個組
[...]
匹配字元組中的字元
[^...]
匹配除了字元組中字元的所有字元
量詞:
量詞
用法說明
*重複零次或更多次
+重複一次或更多次
?重複零次或一次
重複n次
重複n次或更多次
重複n到m次
正則待匹配字元
匹配結果
說明海.
海燕海嬌海東
海燕海嬌海東
匹配所有"海."的字元
^海.海燕海嬌海東
海燕只從開頭匹配"海."
海.$海燕海嬌海東
海東只匹配結尾的"海.$"
二, * + ? {}正則
待匹配字元
匹配結果
說明李.?
李傑和李蓮英和李二棍子
李傑李蓮
李二
?表示重複零次或一次,即只匹配"李"後面乙個任意字元
李.*李傑和李蓮英和李二棍子
李傑和李蓮英和李二棍子
*表示重複零次或多次,即匹配"李"後面0或多個任意字元
李.+李傑和李蓮英和李二棍子
李傑和李蓮英和李二棍子
+表示重複一次或多次,即只匹配"李"後面1個或多個任意字元
李.李傑和李蓮英和李二棍子
李傑和李蓮英
李二棍
匹配1到2次任意字元
注意:前面的*,+,?等都是貪婪匹配,也就是盡可能匹配,後面加?號使其變成惰性匹配正則
待匹配字元
匹配結果
說明李.*?
李傑和李蓮英和李二棍子李李
惰性匹配
三, [^]正則
待匹配字元
匹配結果
說明李[傑蓮英二棍子]*
李傑和李蓮英和李二棍子
李傑李蓮英
李二棍子
表示匹配"李"字後面[傑蓮英二棍子]的字元任意次
李[^和]*
李傑和李蓮英和李二棍子
李傑李蓮英
李二棍子
表示匹配乙個不是"和"的字元任意次
[\d]
456bdha345
63
表示匹配任意乙個數字,匹配到4個結果
[\d]+
456bdha3
4563
表示匹配任意個數字,匹配到2個結果
四, 分組() 與 或| [^]身份證號碼是乙個長度為15或18個字元的字串,如果是15位則全部
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...