1. 程式人生 > >正則表達式之分組

正則表達式之分組

表達式 字符串

假設有如下幾行文本:

  1. "xxx" : {"name" : "123"}

  2. "yyy" : {"name" : "456"}

  3. "zzz" : {"name" : "789"}

如果匹配出第1條和第3條,那麽可以使用以下的正則表達式:

"((xxx)|(zzz))".*

其中,最外層的括號是不能省略的,即不能寫成:co

  1. "(xxx)|(zzz)".*

然後,在匹配到的結果中,

cop技術分享

  1. ① $0 指匹配到的全部字符串

  2. ② $1 指 ((xxx)|(zzz)) 這部分匹配到的字符串

  3. ③ $2 指(xxx) 這部分匹配到的字符串

  4. ④ $3 指(zzz) 這部分匹配到的字符串

對於 "xxx" : {"name" : "123"} 這行文本, $0 ~ $3 的值分別為:

技術分享

  1. ① $0 : "xxx" : {"name" : "123"

    }

  2. ② $1 :xxx

  3. ③ $2 : xxx

  4. ④ $3 : (空字符串)

對於 "zzz" : {"name" : "789"} 這行文本, $0 ~ $3 的值分別為:

技術分享

  1. ① $0 : "zzz" : {"name" : "789"}

  2. ② $1 : zzz

  3. ③ $2 : (空字符串)

  4. ④ $3 : zzz

本文出自 “勤能補拙” 博客,請務必保留此出處http://echoroot.blog.51cto.com/11804540/1922564

正則表達式之分組