我想获得一个正则表达式来将字符串分成两个匹配项。这是我到目前为止:https://jsfiddle.net/9rjzttc2/154/不能获得js正则表达式正确
如果我删除其中一个[img url="http://www.technomag.co.zw/wp-content/uploads/2013/01/quiz.jpg"][/img]
它似乎工作。要点是,它应该读取的字符串,然后替换HTML标记的非HTML标记,使每个[img/]
标签成为一个html <img/>
我想获得一个正则表达式来将字符串分成两个匹配项。这是我到目前为止:https://jsfiddle.net/9rjzttc2/154/不能获得js正则表达式正确
如果我删除其中一个[img url="http://www.technomag.co.zw/wp-content/uploads/2013/01/quiz.jpg"][/img]
它似乎工作。要点是,它应该读取的字符串,然后替换HTML标记的非HTML标记,使每个[img/]
标签成为一个html <img/>
你缺少一个?
,对于“URL”您的捕获组属性太贪婪(在.+
正在消耗更多的比你期望它):
/\[(img)\s+(url="(.+?)")\](\w*)\[\/(img)\]/g
// ^this is needed
此致:https://regex101.com/r/IcKhYK/2
来测试Regexes更容易谢谢。并感谢您向我展示regex101,我一直在使用regexr.com –
感谢您的澄清编辑,@ ibrahim-mahrir – user2926055
我更新你的正则表达式如下:
var imgMarkup = /\[(img)\s+(url="(.+?)")\](\w*)\[\/(img)\]*/g;
这似乎产生你想要什么?如果这仍然不准确,请回复。
用https://regex101.com/ – ccprog