正则表达式查找所有匹配项

Regex finding all maches

我有这个代码

<img style="border:0px;" src="http://example.com/images/items/Start.gif" ONMOUSEOVER="itempopup(event,'83560729')" ONMOUSEOUT="kill()" onclick="removeItem('83560729',219395,0);document.getElementById('tab8').innerHTML=''"><img style="border:0px;" src="http://example.com/images/items/Start_init.gif" ONMOUSEOVER="itempopup(event,'83014012')" ONMOUSEOUT="kill()" onclick="removeItem('83014012',219395,0);document.getElementById('tab8').innerHTML=''"><img style="border:0px;" src="http://example.com/images/items/start.gif" ONMOUSEOVER="itempopup(event,'82196324')" ONMOUSEOUT="kill()" onclick="removeItem('82196324',219395,0);document.getElementById('tab8').innerHTML=''"> </div>

也张贴在这里:https://regex101.com/r/gM2yD7/1 而且我在查找所有匹配项时遇到问题。我尝试以不同的方式找到 3 场比赛,但让我接近的是: items/[sS]tart.*itempopup(event,\'(\d+) ,但他没有找到所有 3 场比赛,而是只得到 1 场比赛。任何人都可以帮我提点建议?

要使 .* 非贪婪(惰性),你应该使用 ?:

items\/[sS]tart.*?itempopup\(event,\'(\d+)

.*greedy 意味着引擎会尽可能多地重复它,因此正则表达式会继续尝试将 . 与下一个字符,匹配整个标记,然后它会回溯直到匹配以下标记 - 这意味着它将继续匹配所有内容并最终匹配 itempopup(event,\'(\d+)