個人正則表達式模式看起來像 正則表達式
<xxxx location="file path/level1/level2" xxxx some="xxx">
我只對分配給位置的引號感興趣。 若是沒有貪婪的開關,這豈不是像下面同樣容易嗎? spa
/.*location="(.*)".*/
彷佛不起做用。 code
怎麼樣 圖片
.*location="([^"]*)".*
這樣能夠避免使用。*進行無限搜索,而且將與第一個引號徹底匹配。 get
您須要將正則表達式設爲非貪婪,由於默認狀況下, "(.*)"
將與全部"file path/level1/level2" xxx some="xxx"
匹配。 io
相反,您可使點星不貪心,從而使其與儘量少的字符匹配: file
/location="(.*?)"/
添加?
量詞( ?
, *
或+
)上的字符會使它變得非貪婪。 搜索
若是您的引擎支持,請使用非貪婪匹配。 添加? 裏面的捕獲。 bug
/location="(.*?)"/
location="(.*)"
將從「 location=
以後的」匹配到some="xxx
以後的some="xxx
除非您將其設置爲非貪婪。所以,您須要.*?
(即,使其成爲非貪婪的)或更好地替換.*
和[^"]*
。 im
使用惰性量詞?
沒有全局標誌的答案。
例如,