我有以下 JavaScript 正则表达式
\[.*(\.jpg|\.png|\.gif|\.bmp|\.jpeg).*\]
在 jQuery 代码中使用 -
post.html().match(/\[.*(\.jpg|\.png|\.gif|\.bmp|\.jpeg).*\]/g);
这是我正在使用的示例数据
- [cid:image001.jpg@01CD2DC8.704399C0]
- s[cid:image001.png@01CD2DC8.704399C0]<
- image.jpg
- [cid:image002.jpg@01CD2DC8.704399C0]
- [cid:image002.exe@01CD2DC8.704399C0]
- [cid:image002.gif@01CD2DC8.704399C0]
- [[cid:image001.jpg@01CD2DE6.9802A2D0]
And again
[cid:image002.png@01CD2DE6.9802A2D0]]- test.gif
我的问题是,在第 7 行,我希望 [] 中包含的两个字符串是分开的,目前它将整行视为匹配项,
最佳答案
你需要修改你的正则表达式来改变贪婪(注意 .*?
):
\[.*?(\.jpg|\.png|\.gif|\.bmp|\.jpeg).*?\]
关于javascript - 同一行上的正则表达式多个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10516458/