正規表示式中 和 和 的理解

2021-09-26 22:46:47 字數 484 閱讀 7584

要理解?=和?!,首先需要理解前瞻,後顧,負前瞻,負後顧四個概念:

前瞻:exp1(?=exp2) 查詢exp2前面的exp1

後顧:(?<=exp2)exp1 查詢exp2後面的exp1

負前瞻:

exp1(?!exp2) 查詢後面不是exp2的exp1

負後顧:

(?"中國人".replace(/(?<=中國)人/, "rr") // 匹配中國人中的人,將其替換為rr,結果為 中國rr

"法國人".replace(/(?<=中國)人/, "rr") // 結果為 法國人,因為人前面不是中國,所以無法匹配到12

要理解?:則需要理解捕獲分組和非捕獲分組的概念:

()表示捕獲分組,()會把每個分組裡的匹配的值儲存起來,使用$n(n是乙個數字,表示第n個捕獲組的內容)

(?:)表示非捕獲分組,和捕獲分組唯一的區別在於,非捕獲分組匹配的值不會儲存起來12

舉例:

正規表示式中 和 和 的理解

要理解?和?首先需要理解前瞻,後顧,負前瞻,負後顧四個概念 前瞻 exp1 exp2 查詢exp2前面的exp1 後顧 exp2 exp1 查詢exp2後面的exp1 負前瞻 exp1 exp2 查詢後面不是exp2的exp1 負後顧 exp2 exp1 查詢前面不是exp2的exp1舉例 中國人 ...

關於正規表示式中 和

是正規表示式匹配字串開始位置 是正規表示式匹配字串結束位置 很多人始終沒搞清楚這是什麼意思,這裡用幾個例子看下就一目了然了。先搞清楚 匹配字串開始位置 其實就是從字串左邊第乙個字元開始匹配 1 str 2 pattern blog 因為 為特殊字元 3 str preg replace patter...

正規表示式中 和 的區別

圓括號 是組,主要應用在限制多選結構的範圍 分組 捕獲文字 環視 特殊模式處理 示例 1 abc bcd cde 表示這一段是abc bcd cde三者之一均可,順序也必須一致 2 abc 表示這一組要麼一起出現,要麼不出現,出現則按此組內的順序出現 3 abc 表示找到這樣abc這樣一組,但不記錄...