正則表達式學(xué)習(xí)記錄
1.字符類型
\d數(shù)字0-9,\D非數(shù)字0-9,\s空白符,\S非空白符,.非換行符之外的所有符號,\w數(shù)字字母下劃線,\W非數(shù)字字母下劃線,等,
2.字符數(shù)量(量詞)
基本表示({}):
{1}匹配1個,{1,3}匹配一個到3個,{1,}匹配一個以上,
簡寫表示:
? 匹配0個到1個,等效{0,1} ;* 匹配0個到多個,等效{0,};+ 匹配1個到多個,等效{1,}
3.位置信息
^ :開始位置,$結(jié)束位置,\b整個單詞的邊緣位置,(?=p)緊貼p前面的位置(p代表模式),(?!p)緊貼p前面位置以外的位置,(?<=p)緊貼p后面的位置,(?<!)緊貼p后面的位置以外的位置
4.匹配模式
關(guān)于() [] | 等符號的應(yīng)用
| 表示分支或,如 tony is a good boy中匹配good和boy可以用/good|boy/
() 表示分組 如ababcd中要匹配abab,可以用/(ab){2}/,同時()可以用反向引用,如:a-b-c a/b/c a:b:c 中匹配所有abc這種,可以用a([-\/:])b\1c,
反向引用以左括號為標(biāo)準(zhǔn),從左到右依次是\1 \2 \3...,在replace中可用$1,$2,$3...表示如'a-b-c-d'.replace(/(.)-(.)-(.)-(.)/,'$1=$2=$3=$4')結(jié)果為a=b=c=d,
(?:) 則表示非捕獲分組(即不參與引用)
[] 表示取值范圍,[]中始終表示其中之一,如[0-9]表示0到9中的一個,[abc]表示abc中的一個,^在[]中代表取反,[^abc]表示除了abc以外的字符(注意:是全局取反,而不是除了abc以外的字母)
? 默認(rèn)正則是貪婪模式,在量詞后面加?表示非貪婪模式 如abcdefa 匹配[a-z]{3,5}結(jié)果是abcde ,匹配到足夠多,能匹配到5個絕不按照三個來,這就是貪婪模式,而當(dāng)用?之后,正則為
[a-z]{3,5}?,匹配結(jié)果為 abc def

浙公網(wǎng)安備 33010602011771號