JavaScript正则表达式(缺少'/'),我该如何解决这个问题?

时间:2012-05-06 15:05:14

标签: javascript regex

我有简单的脚本,我想获取我的图像,然后用逗号分隔它们。但是,由于我获得[gallery],我无法在Uncaught SyntaxError: Invalid regular expression: missing /标记内获取图片链接。

有人可以看看我的RegEx代码中的问题在哪里?

HTML

<textarea>
abc
[gallery]/content/img/upload/img-2012.03.19.-634677727044317051.jpg, /content/img/upload/img-2012.03.19.-634677727046997204.jpg, /content/img/upload/img-2012.03.19.-634677727049487347.jpg, /content/img/upload/img-2012.03.19.-634677727051787478.jpg, /content/img/upload/img-2012.03.19.-634677727054137613.jpg[/gallery]
def
</textarea>​

的JavaScript

$(function(){
    var text = $('textarea').val();
    var re = /\[gallery\]([^}]+)[/gallery\]/g;
    var gallery = re.exec(text);
    alert(gallery);
});​

小提琴http://jsfiddle.net/BcFsg/

3 个答案:

答案 0 :(得分:2)

是的,问题是你错过了一个逃脱角色

var re = /\[gallery\]([^}]+)\[\/gallery\]/g;
//                          |
//                       [ HERE ]

jsfiddle here http://jsfiddle.net/BcFsg/1/

答案 1 :(得分:1)

您需要通过编写/来逃避正则表达式中间的\/

答案 2 :(得分:1)

看到更新的小提琴...我不知道为什么但似乎你不必逃避收盘]

编辑:输出错误(所有方括号都需要转义)...更新小提琴 编辑2:更新小提琴只提醒图像列表

fiddle