2

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

在这种情况下是:[]

这是不可能的吗?

4

1 回答 1

3

如果您的意思是要捕获ID,x,y零件,请确保有可能:

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

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

  • /.../是正则表达式文字。
  • The\[是一个文字[字符(因为[在正则表达式中是特殊的,我们必须对其进行转义)。
  • (....)是一个捕获组。我们使用它来捕获括号内的文本。
  • [^\]]是一个字符类,意思是“任何不是]字符的东西”。我们必须]在内部转义,否则它会终止字符类。
  • 意思是“+一个或多个以前的事情”。
  • 当然,the\]是字面的结尾]字符。
于 2013-06-13T07:43:19.850 回答