我正在尝试使用正则表达式将字符串分成两个匹配项。这是我到目前为止所得到的:https://jsfiddle.net/9rjzttc2/154/
如果我删除其中一个[img url="http://www.technomag.co.zw/wp-content/uploads/2013/01/quiz.jpg"][/img]
,它似乎有效。要点是它应该读取字符串,然后用HTML标记替换非html标记,以便每个[img/]
标记变为html <img/>
答案 0 :(得分:1)
你错过了?
,你的捕获组是&#34; url&#34;属性过于贪婪(.+
的消耗比预期的要多):
/\[(img)\s+(url="(.+?)")\](\w*)\[\/(img)\]/g
// ^ this is needed
你的:https://regex101.com/r/IcKhYK/2
答案 1 :(得分:0)
我将您的正则表达式更新为以下内容:
var imgMarkup = /\[(img)\s+(url="(.+?)")\](\w*)\[\/(img)\]*/g;
它似乎产生了你想要的东西?如果这仍然不准确,则回复。