【问题标题】:Regex multiple matches on same line同一行上的正则表达式多个匹配项
【发布时间】:2012-05-09 20:51:02
【问题描述】:

我有以下 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. test.gif

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

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-26
      相关资源
      最近更新 更多