亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

正則表達(dá)式教程之子表達(dá)式用法分析

 更新時(shí)間:2017年01月09日 12:02:09   作者:MikanMu  
這篇文章主要介紹了正則表達(dá)式教程之子表達(dá)式用法,分析了正則表達(dá)式中子表達(dá)式的概念、功能與使用方法,需要的朋友可以參考下

本文實(shí)例講述了正則表達(dá)式教程之子表達(dá)式用法。分享給大家供大家參考,具體如下:

注:在所有例子中正則表達(dá)式匹配結(jié)果包含在源文本中的【和】之間,有的例子會(huì)使用java來(lái)實(shí)現(xiàn),如果是java本身正則表達(dá)式的用法,會(huì)在相應(yīng)的地方說(shuō)明。所有java例子都在JDK1.6.0_13下測(cè)試通過(guò)。

一、問(wèn)題引入

首先來(lái)看一個(gè)例子,有的短語(yǔ)如Windows 2000雖然是多個(gè)單詞組成,但其實(shí)是一個(gè)整體,HTML頁(yè)面中可以使用非換行空格( 即non-breaking space)讓它在瀏覽器中顯示在一行上,現(xiàn)在來(lái)匹配多個(gè)這樣的空格:

文本:Your operation systemis Windows   2000.

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

結(jié)果:Your operation systemis Windows   2000.

分析:這里使用模式想匹配2個(gè)或2個(gè)以上的非換行空格,但是從結(jié)果可以看出,沒(méi)有匹配到任何東西,因?yàn)閚bsp;{2,}這個(gè)模式只能匹配到像nbsp;;;;;;;這樣以nbsp開(kāi)頭,2個(gè)或2個(gè)以上連續(xù)分號(hào)的文本。

因?yàn)榍懊嬲f(shuō)過(guò)的重復(fù)匹配都是緊挨著重復(fù)匹配元字符之前的那個(gè)字符的多次重復(fù),但是,如果我們想對(duì)一個(gè)字符串進(jìn)行多次匹配,又該怎么做呢?

二、子表達(dá)式

從上面我們引出子表達(dá)式。子表達(dá)式是一個(gè)大的表達(dá)式的一部分,把一個(gè)表達(dá)式劃分為多個(gè)子表達(dá)式的目的是為了把那些子表達(dá)式當(dāng)作一個(gè)獨(dú)立的元素來(lái)使用。子表達(dá)式必須用(和)括起來(lái)。所以,前面的例子中正則表達(dá)式應(yīng)該寫成(nbsp;){2,}。

來(lái)看一個(gè)匹配有效年份的正則:

文本:1988-11-13

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

結(jié)果:【1988】-11-13

分析:這個(gè)例子中,為了排除沒(méi)有意義的年份,把年份的前兩位數(shù)字限定為19或20,|是正則表達(dá)式里的或操作符。這里必須把19|20放到一個(gè)子表達(dá)式里,即(19|20),否則只能匹配到以20開(kāi)頭的年份,

三、子表達(dá)式的嵌套

子表達(dá)式允許嵌套,而且允許多層嵌套,嵌套層次在理論上沒(méi)有限制。

在表達(dá)式 ((A)(B(C))) 中,存在以下幾個(gè)子表達(dá)式:

1   ((A)(B(C)))

2   (A)

3   (B(C))

4   (C)

共4個(gè),第0個(gè)始終代表整個(gè)表達(dá)式。在后面的回溯引用中會(huì)介紹到通過(guò)\n(n是子表式的編號(hào))來(lái)引用子表達(dá)式。

子表達(dá)式嵌套的例子可參看后面匹配IPV4地址的正則表達(dá)式。

PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:

JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg

希望本文所述對(duì)大家正則表達(dá)式學(xué)習(xí)有所幫助。

相關(guān)文章

  • 正則表達(dá)式必知必會(huì)之重復(fù)匹配詳細(xì)示例

    正則表達(dá)式必知必會(huì)之重復(fù)匹配詳細(xì)示例

    這篇文章主要給大家介紹了關(guān)于正則表達(dá)式必知必會(huì)之重復(fù)匹配的相關(guān)資料,重復(fù)匹配正則表達(dá)式中匹配多個(gè)字符的辦法就是通過(guò)使用集中特殊的元字符來(lái)做到,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • JS 正則表達(dá)式(學(xué)習(xí)筆記2)匹配網(wǎng)址url參數(shù)

    JS 正則表達(dá)式(學(xué)習(xí)筆記2)匹配網(wǎng)址url參數(shù)

    呵呵,剛學(xué)習(xí)正則表達(dá)式,今天幫一個(gè)美女解決了個(gè)問(wèn)題。感到很高興。先貼下今天都學(xué)了什么吧。不然忘記了。
    2010-05-05
  • PHP中的遞歸正則表達(dá)式用法分享

    PHP中的遞歸正則表達(dá)式用法分享

    其實(shí)很多語(yǔ)言中的正則表達(dá)式都是支持遞歸的, 本文主要介紹PHP的正則遞歸. 雖然, 工作中最常用的正則表達(dá)式都很普通, 只用最基本的語(yǔ)法就能解決85%以上的問(wèn)題, 而且合理有效地使用普通正則來(lái)解決復(fù)雜問(wèn)題也是一門技巧與學(xué)問(wèn),但是更高級(jí)一點(diǎn)的語(yǔ)法的確有它存在的價(jià)值,看下面具體介紹
    2012-09-09
  • 正則表達(dá)式教程之重復(fù)匹配詳解

    正則表達(dá)式教程之重復(fù)匹配詳解

    這篇文章主要介紹了正則表達(dá)式教程之重復(fù)匹配,結(jié)合實(shí)例形式分析了正則表達(dá)式重復(fù)匹配及防止過(guò)度匹配相關(guān)技巧,需要的朋友可以參考下
    2017-01-01
  • 教你輕松記住JS正則表達(dá)式

    教你輕松記住JS正則表達(dá)式

    有沒(méi)有人像小編一樣,學(xué)了好幾遍正則表達(dá)式卻還是很懵圈,學(xué)的時(shí)候老明白了,學(xué)完了忘光了。好吧,其實(shí)還是練的不夠,今天就隨我來(lái)復(fù)習(xí)一下這傲嬌的正則表達(dá)式吧。
    2016-07-07
  • 如何使用正則表達(dá)式對(duì)輸入數(shù)字進(jìn)行匹配詳解

    如何使用正則表達(dá)式對(duì)輸入數(shù)字進(jìn)行匹配詳解

    正則表達(dá)式用于字符串處理、表單驗(yàn)證等場(chǎng)合,實(shí)用高效,下面這篇文章主要給大家介紹了關(guān)于如何使用正則表達(dá)式對(duì)輸入數(shù)字進(jìn)行匹配的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • 正則表達(dá)式常用元字符整理小結(jié)

    正則表達(dá)式常用元字符整理小結(jié)

    以下關(guān)于正則表達(dá)式的內(nèi)容來(lái)自 MSDN 和維基百科,僅供自己查閱方便
    2012-06-06
  • linux 正則表達(dá)式grep實(shí)例分析

    linux 正則表達(dá)式grep實(shí)例分析

    正則表達(dá)式(Regular Expression)是用于描述一組字符串特征的模式,用來(lái)匹配特定的字符串。通過(guò)特殊字符+普通字符來(lái)進(jìn)行模式描述,從而達(dá)到文本匹配目的工具
    2020-04-04
  • 最常用的PHP正則表達(dá)式收集整理

    最常用的PHP正則表達(dá)式收集整理

    正則表達(dá)式用于字符串處理、表單驗(yàn)證等場(chǎng)合,實(shí)用高效。本文收集了一些常用的表達(dá)式:
    2008-04-04
  • linux grep不區(qū)分大小寫查找字符串方法

    linux grep不區(qū)分大小寫查找字符串方法

    這篇文章主要介紹了linux grep不區(qū)分大小寫查找字符串方法,需要的朋友可以參考下
    2020-03-03

最新評(píng)論