javascript - 同一行上的正则表达式多个匹配项

标签 javascript regex

我有以下 JavaScript 正则表达式

用于 http://regexpal.com/

\[.*(\.jpg|\.png|\.gif|\.bmp|\.jpeg).*\]

在 jQuery 代码中使用 -

post.html().match(/\[.*(\.jpg|\.png|\.gif|\.bmp|\.jpeg).*\]/g);

这是我正在使用的示例数据

  1. [cid:image001.jpg@01CD2DC8.704399C0]
  2. s[cid:image001.png@01CD2DC8.704399C0]<
  3. image.jpg
  4. [cid:image002.jpg@01CD2DC8.704399C0]
  5. [cid:image002.exe@01CD2DC8.704399C0]
  6. [cid:image002.gif@01CD2DC8.704399C0]
  7. [[cid:image001.jpg@01CD2DE6.9802A2D0]
    And again
    [cid:image002.png@01CD2DE6.9802A2D0]]
  8. test.gif

我的问题是,在第 7 行,我希望 [] 中包含的两个字符串是分开的,目前它将整行视为匹配项,

最佳答案

你需要修改你的正则表达式来改变贪婪(注意 .*?):

\[.*?(\.jpg|\.png|\.gif|\.bmp|\.jpeg).*?\]

关于javascript - 同一行上的正则表达式多个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10516458/

相关文章:

javascript - 如何从主页面的启动画面播放视频?

javascript - 测试脚本没问题,但实时运行却不行

javascript - 正则表达式 数字表达式

Java 正则表达式模式

python - 使用正则表达式检查测试字符串是否为固定格式

regex - 匹配字符串的最后一个字符失败

javascript - 如何验证电子邮件地址与网站域名是否匹配?

javascript - jQuery .change() 返回当前值而不是发生更改后

javascript - 使用 mousedown 跨越表格的行并在 jquery 中拖动?

javascript - 将空值替换为 JSON OBJECT 中的空值