我知道 RegEx不是在HTML中搜索的最理想工具。但是,这就是我可以使用的。注意:我不是在寻找能够在各个网站上保持稳定的东西。例如,我只考虑引号,而不必担心撇号。
假设我有以下文字:
The quick brown "fox.jpg" jumps "google.com" over the "lazy.png" dog.
我要搜索与“ fox.jpg” 和“ lazy.png” 匹配的特定图像链接,而忽略“ google.com” 。从理论上讲,我可以使用类似
的搜索模式".*?"
会找到 all 引号,从中我可以简单地解析每个匹配项来确定它是否是图像。
但是类似
".*?(jpg|png)"
不起作用,因为它在“ lazy.png” (错误)上返回了“ fox.jpg” (好)和“ google.com”。< / p>
所以:我还缺少额外的“贪婪”设置吗?告诉RegEx比赛的第一个引号应该是最接近最后一个引号的引号吗?
答案 0 :(得分:4)
在第一个gcry_cipher_close
之后,尝试通过取反的字符集而不是"
重复 {em} "
以外的任何内容,而.
"
:
"[^"]*(jpg|png)"
https://regex101.com/r/PKZLp5/1
现在不管重复是懒惰还是贪婪都没有关系,尽管当文件名长于文件扩展名时,贪婪重复会很快找到匹配项。