常用簡(jiǎn)單元字符
\bhi\b \b是用來匹配單詞的 匹配兩個(gè)b之間的單詞
\. 匹配換行符以外任意的字符
\w 匹配任意字母,數(shù)字,下劃線
\s 匹配任何空白字符串, 等價(jià)[\f\n\r\t\v]
\d 匹配數(shù)字
\un 匹配n,其中n是一個(gè)用四個(gè)十六進(jìn)制數(shù)字表示的Unicode字符
限定符
* >= 0 次
? 0次或1次
+ >=1次
{n} 出現(xiàn)n次
{n,} >=n次
{n, m} 重復(fù)n到m次,包括n和m
“非”語義
\W 大寫W,匹配任意不是字母、數(shù)字和下劃線的字符
\S 大寫S, 匹配任意不是空白字符的字符
\D 匹配任意非數(shù)字字符
\B 匹配不是單詞開始或結(jié)束位置
[^aeiou] 匹配除了aeiou這5個(gè)字符以外的字符
"或"語義
[aeiou] 方括號(hào),aeiou字符中任選一個(gè),方括號(hào)可以理解為從方括號(hào)里的字符中任選一個(gè)
| 豎線,豎線前后任一正則滿足即可,語義類似編程語言的邏輯“或”(短路?)
斷言
^ 匹配字符串開始的位置
$ 匹配字符串結(jié)束的位置
(?=exp) 匹配一個(gè)位置,要求這個(gè)位置后面能匹配表達(dá)式exp
(?!exp) 匹配一個(gè)位置,要求這個(gè)位置后面不能匹配表達(dá)式exp
想表達(dá)"或"的意思 ------ 字符簇和分歧
[abc]表示 a、b、c這三個(gè)字符中的任意一個(gè)
[b-f]表示從b到f這么多字符中任選一個(gè)
括號(hào)的三個(gè)作用
1、括號(hào)的第一個(gè)作用 ---- 把分組當(dāng)作一個(gè)整體看待
2、分組匹配到的內(nèi)容也就是這個(gè)分組捕獲到的內(nèi)容,從左往右,以左括號(hào)為標(biāo)志,每個(gè)分組會(huì)自動(dòng)擁有一個(gè)從1開始的編號(hào),分組捕獲到的內(nèi)容可以通過\分組編號(hào)的形式進(jìn)行后向引用。 (ab|cd)123\1 -- \1就是后向引
3、括號(hào)第三個(gè)作用,可以改變優(yōu)先級(jí)
修飾符(匹配選項(xiàng))
加g修飾符 表示全局匹配
加i修飾符 表示不區(qū)分大小寫
加m修飾符 表示多行模式 會(huì)改變^和$的行為
RegExp 上用來匹配提取的方法 ----- exec()
var matches = pattern.exec(str); //接受一個(gè)參數(shù):源字符串 結(jié)果數(shù)組,在沒有匹配項(xiàng)的情況下返回null
RegExp上用來測(cè)試匹配成功與否的方法 ----- test()
var result = pattern.test(str) // 接受一個(gè)參數(shù),源字符串 返回: 找到匹配項(xiàng) 返回true 沒找到返回false
String類型上的模式匹配方法
1、匹配捕獲的match方法
str.match(pattern) => pattern.exec(str)
2、 返回索引search 方法
str.search(pattern) ==> 返回的是 pos 索引的位置
3、查找并替換的replace方法
str.replace(RegExp or String, String or Function);
第一個(gè)參數(shù)(查找)
第二個(gè)參數(shù)(替換內(nèi)容)
第二個(gè)參數(shù)是一個(gè)函數(shù)
在只有一個(gè)匹配項(xiàng)的情況下,會(huì)傳遞3個(gè)參數(shù)給這個(gè)函數(shù):模式的匹配項(xiàng)、匹配項(xiàng)在字符串中的位置、原始字符串
在有多個(gè)捕獲組的情況下,傳遞的參數(shù)是模式匹配項(xiàng)、第一個(gè)捕獲組、第二個(gè)、第三個(gè)...最后兩個(gè)參數(shù) 是模式的匹配項(xiàng)在字符串位置、原始字符串
這個(gè)函數(shù)要返回一個(gè)字符串,表示要替換掉的匹配項(xiàng)
轉(zhuǎn)義
前面加一個(gè)\ 表示轉(zhuǎn)義
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。