欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

正則表達(dá)式中最短匹配模式的用法淺析

 更新時(shí)間:2017年07月17日 09:11:18   作者:jackPan  
最短匹配應(yīng)用于:假如有一段文本,你只想匹配最短的可能,而不是最長(zhǎng)。下面這篇文章主要給大家介紹了關(guān)于正則表達(dá)式中最短匹配模式用法的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

前言

最近有一次想用正則表達(dá)式從網(wǎng)頁(yè)里面抓取一些東西出來(lái),內(nèi)容不復(fù)雜卻出現(xiàn)不少問(wèn)題。下面話不多說(shuō),來(lái)一起看看詳細(xì)的介紹:

當(dāng)我們用正則表達(dá)式去匹配一個(gè)標(biāo)簽的首尾的時(shí)候,比如匹配 <h1>hello world</h1> 中的 h1 的開始和閉合標(biāo)簽

可能很多人會(huì)這樣寫

/<.*h1>/g

但是這樣真的可以嗎?

因?yàn)?* 匹配符是匹配前面一個(gè)字符的零到多個(gè),而且它是貪婪匹配的

所以你得到的就會(huì)是下面的結(jié)果了。


顯然這并不是我們想要的,那么怎么把貪婪匹配換成最小匹配呢,

/<.*?h1>/g

上面的寫法就可以了,如下圖:


其實(shí)原理應(yīng)該很簡(jiǎn)單,因?yàn)?? 也是貪婪匹配,并且只能匹配0到1個(gè),

所以它會(huì)匹配到第一個(gè)的時(shí)候就結(jié)束了,從而阻止了 * 的匹配多個(gè)的貪婪。

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

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

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

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript正則表達(dá)式技巧大全》、《JavaScript替換操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • java 字符串匹配函數(shù)

    java 字符串匹配函數(shù)

    java去掉字符串中匹配的字符串
    2008-09-09
  • 正則 捕獲組(capture group)

    正則 捕獲組(capture group)

    捕獲組就是把正則表達(dá)式中子表達(dá)式匹配的內(nèi)容,保存到內(nèi)存中以數(shù)字編號(hào)或手動(dòng)命名的組里,方便后面引用
    2009-07-07
  • Java正則表達(dá)式學(xué)習(xí)教程

    Java正則表達(dá)式學(xué)習(xí)教程

    這篇文章主要是關(guān)于Java正則表達(dá)式的學(xué)習(xí)教程,本教程的目的在于幫助你駕馭Java正則表達(dá)式,感興趣的小伙伴們可以參考一下
    2015-12-12
  • 正則表達(dá)式匹配0-10的正整數(shù)以及使用細(xì)節(jié)

    正則表達(dá)式匹配0-10的正整數(shù)以及使用細(xì)節(jié)

    我們可以使用正則表達(dá)式來(lái)代表一些我們希望的字符串類型,比如正整數(shù),下面這篇文章主要給大家介紹了關(guān)于正則表達(dá)式匹配0-10的正整數(shù)以及使用細(xì)節(jié)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • python 正則表達(dá)式 re.sub & re.subn

    python 正則表達(dá)式 re.sub & re.subn

    正則表達(dá)式一個(gè)比較常見的用途是找到所有模式匹配的字符串并用不同的字符串來(lái)替換它們。sub方法提供一個(gè)替換值,可以是字符串或函數(shù),和一個(gè)要被處理的字符串。這篇文章主要介紹了python 正則表達(dá)式 re.sub & re.subn,需要的朋友可以參考下
    2017-12-12
  • JS中正則表達(dá)式全局匹配正斜杠的方法

    JS中正則表達(dá)式全局匹配正斜杠的方法

    這篇文章主要介紹了JS中正則表達(dá)式全局匹配正斜杠的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • js 正則學(xué)習(xí)小記之匹配字符串字面量?jī)?yōu)化篇

    js 正則學(xué)習(xí)小記之匹配字符串字面量?jī)?yōu)化篇

    昨天在《js 正則學(xué)習(xí)小記之匹配字符串字面量》談到 /"(?:\\.|[^"])*"/ 是個(gè)不錯(cuò)的表達(dá)式,因?yàn)榭梢詽M足我們的要求,所以這個(gè)表達(dá)式可用,但不一定是最好的
    2020-04-04
  • 正則表達(dá)式中環(huán)視的簡(jiǎn)單應(yīng)用示例【基于java】

    正則表達(dá)式中環(huán)視的簡(jiǎn)單應(yīng)用示例【基于java】

    這篇文章主要介紹了正則表達(dá)式中環(huán)視的簡(jiǎn)單應(yīng)用,簡(jiǎn)單分析了環(huán)視的概念與功能,并基于java給出了正則表達(dá)式環(huán)視的具體使用技巧,需要的朋友可以參考下
    2017-04-04
  • js正則表達(dá)式之search方法講解

    js正則表達(dá)式之search方法講解

    返回與正則表達(dá)式查找內(nèi)容匹配的第一個(gè)子字符串的位置
    2012-10-10
  • 教你輕松記住JS正則表達(dá)式

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

    有沒(méi)有人像小編一樣,學(xué)了好幾遍正則表達(dá)式卻還是很懵圈,學(xué)的時(shí)候老明白了,學(xué)完了忘光了。好吧,其實(shí)還是練的不夠,今天就隨我來(lái)復(fù)習(xí)一下這傲嬌的正則表達(dá)式吧。
    2016-07-07

最新評(píng)論