国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

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

2020-03-16 20:53:01
字體:
供稿:網(wǎng)友

前言

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

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

可能很多人會這樣寫

/<.*h1>/g

但是這樣真的可以嗎?

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

所以你得到的就會是下面的結果了。

正則表達式,最短匹配,正則表達式匹配最短的,最短

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

/<.*?h1>/g

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

正則表達式,最短匹配,正則表達式匹配最短的,最短

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

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

總結

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


注:相關教程知識閱讀請移步到正則表達式頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 绥阳县| 天津市| 庆安县| 江山市| 大名县| 望都县| 江油市| 香港 | 彩票| 桐城市| 德清县| 开原市| 古田县| 满洲里市| 博湖县| 玛纳斯县| 土默特右旗| 龙门县| 莱州市| 肥乡县| 靖西县| 永年县| 孟州市| 友谊县| 白玉县| 万宁市| 涞水县| 长葛市| 沂水县| 全州县| 达拉特旗| 淮安市| 万荣县| 宁阳县| 道真| 岳阳县| 工布江达县| 南充市| 呼玛县| 五寨县| 关岭|