正則表達式之子表達式 ‘()’ 中表達式 '[]' 大表達式 '{}'

什麼是正則表達式:用來在一段不定字符、不定長度、具備簡單規律的字符串中進行字符匹配的按照必定結構書寫的表達式正則表達式

什麼事子表達式:'()' 表明一個子表達式,將其中的內容視爲一個總體進行處理。字符串

        子表達式是一個大的表達式的一部分,把一個表達式劃分爲多個子表達式的目的是爲了把那些子表達式看成一個獨立的元素來使用。子表達式必須用(和)括起來。io

        子表達式中能夠嵌套子表達式,理論上能夠無限嵌套。字符

        子表達式中能夠嵌套中表達式,將嵌套的全部中表達式做爲一個總體進行匹配,同時滿全部箇中表達式條件即爲匹配成功。數字

什麼是中表達式:'[]' 表明一箇中表達式,將其中內容於字符串中每個字符進行匹配,匹配條件爲 '[]' 中的內容。opera

        中表達式中能夠嵌套子表達式,將嵌套的子表達式做爲條件進行匹配,知足任意一個子表達式中的條件即爲匹配成功。

什麼事大表達式:'{}' 表明一個大表達式,將其中內容於字符串進行匹配,用於長度匹配

        '{a,b}' 取前方一個子表達式(或一個字符)。當出現第 a 此後,開始從第一次出現的位置匹配,每次匹配長度爲 b

        '{a,}' 取前方一個子表達式(或一個字符)。當出現第 a 此後,開始從第一次出現的位置匹配,每次匹配至不知足條件

        '{a}' 取前方一個子表達式(或一個字符)。當出現第 a 此後,開始從第一次出現的位置匹配,每次匹配長度爲 a

文本:Your operation systemis Windows 2000.

正則表達式:nbsp;{2,}

結果:Your operation systemis Windows 2000.

分析:這裏使用模式想匹配2個或2個以上的非換行空格,可是從結果能夠看出,沒有匹配到任何東西,由於nbsp;{2,}這個模式只能匹配到像nbsp;;;;;;;這樣以nbsp開頭,2個或2個以上連續分號的文本。由於重複匹配都是緊挨着重複匹配元字符以前的那個字符的屢次重複。

正則表達式:(nbsp;){2,}

分析:將 (nbsp;) 做爲一個總體進行匹配,條件爲 (nbsp;) 連續兩次出現。

文本:1988-03-11

正則表達式:[0-9][0-9]

分析:

  中表達式 [0-9] :匹配 '0-9' 中全部數字

  [0-9][0-9]:同時兩項知足 '0-9'

  合併起來即爲:匹配字符串中,條件爲 '0-9' 的連續兩項

結果:19 88 03 11

文本:1988-03-11

正則表達式:[0-9]|[0-9]

分析:

  中表達式 [0-9] :匹配 '0-9' 中全部數字

  |:或符號

  合併起來即爲:匹配字符串中,條件爲 '0-9' 或 '0-9' 的全部項

結果:1 9 8 8 0 3 1 1

文本:1988-03-11

正則表達式:(19|20)\d{2}

分析:

  子表達式 (19|20) :知足開頭爲 '19' 或 '20' 的匹配項

  \d:匹配全部數字

  {2}:前一個表達式連續兩次出現

  合併起來即爲:匹配字符串中,條件爲 '19' 或 '20' 開頭且連續出現兩次的全部數字項

結果:1988

相關文章
相關標籤/搜索