我有以下声明:
<div><img src="pict001.png"></div><div><img src="pict002.jpg"></div>
我正在尝试匹配src名称,结果是:
[ "pict001.png", "pict002.jpg" ]
到目前为止,我有:
/pict[\d]+\.wpf/
但我在文件扩展名
上遇到了问题(?)答案 0 :(得分:1)
如果您有可接受的文件扩展名列表,可以这样设置:
pict[\d]+\.(jpg|png|xyz)
。您所做的是围绕()
期望的|
分隔的不同类型的扩展程序。 Using your test data you provided I did some quick testing on Rubular.
如果您没有扩展程序列表,则可以执行更加动态的操作,例如:pict[\d]+\.[a-zA-Z]{2,3}
。这几乎是一回事,只会返回2到3个字符的任何文件扩展名。长。通过调整数字,您可以允许在特定范围的字符中进行任何奇数扩展。
使用更复杂的正则表达式,有助于将它们分解成更小的部分以找出所有规则。在这种情况下,您可以将pict[\d]+\.
部分与pict#######.
匹配。之后你只需要一个较小的正则表达式来找到你的扩展。您可以根据需要将其设置为复杂(或简单)。看看我提供的两个,唯一真正的区别在pict[\d]+\.
之后,所以你可以用额外的规则和条件来定制它。
答案 1 :(得分:0)
搜索所有匹配项将起作用:
pict[\d]+\.[a-zA-Z0-9]+(?=([^a-zA-Z0-9]|$))
如果你想要特定的扩展,你可以用(png | jpg | gz)替换[a-zA-Z0-9] +(?=([^ a-zA-Z0-9] | $))或某些东西,但扩展名可以是数字和字母的任意组合。