柚子快報(bào)邀請(qǐng)碼778899分享:正則表達(dá)式簡(jiǎn)略記錄
柚子快報(bào)邀請(qǐng)碼778899分享:正則表達(dá)式簡(jiǎn)略記錄
1、元字符:
. ------- 匹配除換行符外的任意字符 \w ------- 匹配字母或數(shù)字或下劃線或漢字 \s ------- 匹配任意的空白符 \d ------- 匹配數(shù)字 \b ------- 匹配單詞的開始或結(jié)束 ^ ------- 匹配字符串的開始 $ ------- 匹配字符串的結(jié)束
2、字符轉(zhuǎn)義 \
3、重復(fù)次數(shù){}
* ------- 重復(fù)零次或更多次 + ------- 重復(fù)一次或更多次 ? ------- 重復(fù)零次或一次 {n} ------- 重復(fù)n次 {n,} ------- 重復(fù)n次或更多次 {n, m} ------- 重復(fù)n次到m次
4、字符類[]
[aeiou] --------------- 匹配a,e,i,o,u中的任意字符 [.?!]-------------------- 匹配.,?,!中的任意字符 [0-9]------------------- 匹配0-9中的任意數(shù)字 [a-z0-9A-Z]---------- 匹配a-z0-9A-Z中的任意數(shù)字 (?0\d{2}[)-]?\d{8}
5、分支條件—從左往右進(jìn)行|
0\d{2}-\d{8}|0\d{3}-\d{7} (?0\d{2})?[-]?\d{8}|0\d{2}[-]?\d{8}
6、分組()
(\d{1,3}.){3}\d{1,3} ((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
7、反義
\W \ 匹配任意不是字母或數(shù)字或下劃線或漢字的字符 \S \ 匹配任意不是空白符的字符 \D \ 匹配任意非數(shù)字的字符 \B \ 匹配不是單詞的開始或結(jié)束的位置 [^x] \ 匹配除了x以外的任意字符 [^abc] \ 匹配除了abc以外的任意字符
8、后向引用
捕獲 (exp) \ 匹配exp,并捕獲文本到自動(dòng)命名的組里 捕獲 (?exp) \ 匹配exp, 并捕獲文本到名稱為name的組里 捕獲 (?:exp) \ 匹配exp, 不捕獲匹配的文本,也不給此分組分配組號(hào) 零寬斷言 (?=exp) \ 匹配exp前的位置 零寬斷言 (?<=exp) \ 匹配exp后面的位置 零寬斷言 (?!exp) \ 匹配后面不是跟著exp的位置 零寬斷言 (?
9、零寬斷言
查找某些內(nèi)容之前或之后的東西,也就是說他們像\b,^,$那樣用于指定一個(gè)位置,這個(gè)位置滿足一定的條件(即斷言)—零寬斷言 斷言用來聲明一個(gè)應(yīng)該為真的事實(shí)。正則表達(dá)式中只有斷言為真時(shí)才會(huì)繼續(xù)進(jìn)行匹配。 (?=exp) \b\w+(?=ing)\b,匹配ing結(jié)尾的單詞的前面部分。 (?<=exp) (?<=\bre)\w+\b, 匹配以re開頭的單詞的后半部分 ((?<=\d)\d{3})+\b
10、貪婪匹配和懶惰匹配
a.*b \a開始b結(jié)束的最長(zhǎng)字符 a.*b? \ a開始b結(jié)束的最短字符
*? \ 重復(fù)任意次,但盡可能少的重復(fù) +? \ 重復(fù)一次或多次,但盡可能少的重復(fù) ?? \ 重復(fù)零次或一次,但盡可能少的重復(fù) {n, m}? \重復(fù)n到m次,但盡可能少的重復(fù) {n,}? \重復(fù)n次以上,但盡可能少的重復(fù)
11、注釋
(?#comment) 2[0-4]\d(?#200-249)|250-5|[01]?\d\d?(?#0-199)
12、平衡組/遞歸匹配
(?‘greap’) (?‘-greap’) (?(group)yes|no) (?!)
柚子快報(bào)邀請(qǐng)碼778899分享:正則表達(dá)式簡(jiǎn)略記錄
相關(guān)文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。