0

尝试创建以下正则表达式时出现语法错误

var find_img_url:RegExp;
find_img_url = /(http(s?):)|([/|.|\w|\s])*\.(?:jpg|gif|png)/gi; 

这是一个有效的正则表达式,它可以工作,我在http://www.gskinner.com/RegExr/进行了测试

但是编译时出现此错误: Syntax error: expecting identifier before dot.

更新: 在此处找到的文档。正斜杠描绘正则表达式文字的方式与引号描绘字符串文字的方式相同。正斜杠内的正则表达式部分定义了模式。在使用正斜杠定界符定义的正则表达式中包含正斜杠时,必须在正斜杠前面加上反斜杠 () 转义字符。

4

2 回答 2

0

不,这不是有效的正则表达式:

/(http(s?):)|([/|.|\w|\s])*\.(?:jpg|gif|png)/gi
               ^
         you need to escape this like this \/ because it is used as a delimiter in
         the regular expression.
于 2013-09-05T20:58:24.660 回答
0

看起来你在需要像这样逃避\之前错过了一个/

var find_img_url:RegExp;
find_img_url = /(http(s?):)|([\/|.|\w|\s])*\.(?:jpg|gif|png)/gi; 
                           // ^there
于 2013-09-05T20:59:47.760 回答