3 回答

TA貢獻1827條經(jīng)驗 獲得超9個贊
/g如果您要匹配子字符串的多次出現(xiàn),添加是不夠的。如果是這種情況,可以按照此處的描述使用勉強的量詞。
給定字符串:
<div><p>£20<span class="abc" /><span class="def">56</span></p></div>
您將使用以下內(nèi)容找到想要的文本:
\d+.*>\d+
但是給定相同的字符串重復(fù)兩次:
<div><p>£20<span class="abc" /><span class="def">56</span></p></div><div><p>£20<span class="abc" /><span class="def">56</span></p></div>
您不會多次找到目標(biāo)選擇。由于的貪婪性,您只會找到它一次.*。要使您不再.*貪婪或不情愿,只需在?后面添加一個*,您將到達:
\d+.*?>\d+
它將找到您要求的子字符串的兩次出現(xiàn),如下所示。

TA貢獻1993條經(jīng)驗 獲得超6個贊
只需允許重復(fù)該組即可:(?:...)+表示“匹配...1次或多次:
str.match(/\d+(?:<[^>]*>)+\d+/)
根據(jù)Alan Moore的建議,我也將更改為,使所需的數(shù)字\d*變?yōu)閈d+可選的數(shù)字。
- 3 回答
- 0 關(guān)注
- 678 瀏覽
添加回答
舉報