Javascript正则表达式不匹配

时间:2014-07-23 20:00:32

标签: javascript regex

我被困这个问题好几个小时了。我有一个正则表达式模式和一个匹配的字符串。关于regex101.com,它确定匹配的字符串,但在我的脚本中,对于JSFiddle,它不匹配。

RegExp:/\[img=?.*?http:\/\/lorempixel\.com\/640\/480.*?\/img\]/

要匹配的字符串:[img=http://lorempixel.com/640/480]description[/img]

脚本:JSFiddle

有人能在这里找到问题吗?

1 个答案:

答案 0 :(得分:2)

您无法使用正则表达式文字连接正则表达式,并且需要.match方法的正则表达式。

var regex = new RegExp("\\[img=?.*?" + regexSafeUrl + ".*?\/img\\]");

http://jsfiddle.net/wue82/1/

编辑:James Montague是正确的,.match将隐式使用RegExp。您不需要转换为RegExp的字符串中的/,或者这些将被视为文字斜杠。你真正的问题是这样做,也没有在字符串中正确转义。

http://jsfiddle.net/wue82/3/