佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 正則表達式中最短匹配模式的用法淺析

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

熱門標(biāo)簽:Mysql連接數(shù)設(shè)置 阿里云 Linux服務(wù)器 銀行業(yè)務(wù) 服務(wù)器配置 科大訊飛語音識別系統(tǒng) 團購網(wǎng)站 電子圍欄

前言

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

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

可能很多人會這樣寫

/.*h1>/g

但是這樣真的可以嗎?

因為 * 匹配符是匹配前面一個字符的零到多個,而且它是貪婪匹配的

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


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

/.*?h1>/g

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


其實原理應(yīng)該很簡單,因為 ? 也是貪婪匹配,并且只能匹配0到1個,

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

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

JavaScript正則表達式在線測試工具:http://tools.jb51.net/regex/javascript

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

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

總結(jié)

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

您可能感興趣的文章:
  • JS中正則表達式全局匹配模式 /g用法詳解
  • Java 正則表達式匹配模式(貪婪型、勉強型、占有型)
  • 正則表達式惰性匹配模式(?)
  • 正則表達式全局匹配模式(g修飾符)
  • 正則表達式常見的4種匹配模式小結(jié)

標(biāo)簽:衡水 棗莊 江蘇 大理 萍鄉(xiāng) 蚌埠 衢州 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《正則表達式中最短匹配模式的用法淺析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    常山县| 凌海市| 武胜县| 阳春市| 犍为县| 南木林县| 浙江省| 开鲁县| 屏东县| 华坪县| 岑溪市| 安新县| 玉屏| 新宁县| 安福县| 射洪县| 沛县| 济南市| 凌云县| 北京市| 如东县| 古浪县| 高邮市| 涪陵区| 吉隆县| 邢台县| 论坛| 黔东| 九寨沟县| 安宁市| 汉川市| 德兴市| 新巴尔虎右旗| 青岛市| 沈阳市| 江华| 凌云县| 棋牌| 黄浦区| 东兰县| 犍为县|