12

我有以下 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. 图像.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]
    再说一次
    [cid:image002.png@01CD2DE6.9802A2D0]]
  8. 测试.gif

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

4

1 回答 1

19

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

\[.*?(\.jpg|\.png|\.gif|\.bmp|\.jpeg).*?\]
于 2012-05-09T12:51:02.717 回答