首頁  >  文章  >  web前端  >  最短匹配模式使用詳解

最短匹配模式使用詳解

php中世界最好的语言
php中世界最好的语言原創
2018-03-29 13:47:531167瀏覽

這次帶給大家最短匹配模式使用詳解,使用最短匹配模式的注意事項有哪些,以下就是實戰案例,一起來看一下。

前言

最近有一次想用正規表示式從網頁裡面抓取一些東西出來,內容不複雜卻出現不少問題。下面話不多說,來一起看看詳細的介紹:

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

可能很多人會這樣寫

/<.*h1>/g

但是這樣真的可以嗎?

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

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

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

/<.*?h1>/g

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

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

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

PS:這裡再提供大家2款非常方便的正規表示式工具供大家參考使用:

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

Linux grep與正規表示式的使用

用正規表示式驗證登入頁面的輸入內容

以上是最短匹配模式使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn