匹配正则表达式javascript中的特殊字符

时间:2013-06-13 07:41:21

标签: javascript regex

我想检测特殊字符的字符串内容,如下所示:ADD[ID,x,y];

在这种情况下:[]

这样做不可能吗?

1 个答案:

答案 0 :(得分:3)

如果您的意思是想捕获ID,x,y部分,请确保它是可能的:

var str = "ADD[ID,x,y];";
var match = /\[([^\]]+)\]/.exec(str);
if (match) {
    console.log(match[1]); // "ID,x,y"
}

表达式非常简单,但看起来很复杂。所以:

  • /.../是正则表达式文字。
  • \[是一个文字[字符(因为[在正则表达式中很特殊,我们必须将其转义)。
  • (....)是一个捕获组。我们用它来捕获括号内的文本。
  • [^\]]是一个字符类,意思是“任何不是]字符的东西”。我们必须在内部转义],否则它会终止字符类。
  • +表示“之前的一件或多件事”。
  • 当然,\]是字面结尾]字符。