元字符
^ 匹配字符串的開始
$ 匹配字符串的結(jié)束
. 匹配除換行符以外的任意字符
\w 匹配字母或數(shù)字或下劃線或漢字
\s 匹配任意的空白符
\d 匹配數(shù)字
\b 匹配單詞的開始或結(jié)束
( 左括號
)右括號 ex:(\d{1,3}.){3}\d{1,3}
反義
\W 匹配任意不是字母粉捻,數(shù)字瘤载,下劃線肌索,漢字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非數(shù)字的字符
\B 匹配不是單詞開頭或結(jié)束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou這幾個(gè)字母以外的任意字符
匹配次數(shù)
- 重復(fù)零次或更多次
- 重復(fù)一次或更多次
? 重復(fù)零次或一次
{n} 重復(fù)n次
{n,} 重復(fù)n次或更多次
{n,m} 重復(fù)n到m次
*? 重復(fù)任意次,但盡可能少重復(fù)
+? 重復(fù)1次或更多次,但盡可能少重復(fù)
?? 重復(fù)0次或1次,但盡可能少重復(fù)
{n,m}? 重復(fù)n到m次,但盡可能少重復(fù)
{n,}? 重復(fù)n次以上,但盡可能少重復(fù)
前綴后綴
- (exp) 匹配exp,并捕獲文本到自動(dòng)命名的組里
ex:(\d{1,3}.){3}\d{1,3} - (?:exp) 匹配exp,不捕獲匹配的文本瘪吏,也不給此分組分配組號
- (?=exp) 匹配exp前面的位置
\b\w+(?=ing\b) I'm singing while you're dancing.時(shí),它會(huì)匹配sing和danc蜗巧。 - (?<=exp) 匹配exp后面的位置
(?<=\bre)\w+\b reading a book時(shí)掌眠,它匹配ading。 - (?!exp) 匹配后面跟的不是exp的位置
\d{3}(?!\d)匹配三位數(shù)字幕屹,而且這三位數(shù)字的后面不能是數(shù)字蓝丙; - (?<!exp) 匹配前面不是exp的位置
(?<![a-z])\d{7}匹配前面不是小寫字母的七位數(shù)字