我想检测字符串内容的特殊字符,如下所示:ADD[ID,x,y];
在这种情况下是:[
和]
这是不可能的吗?
如果您的意思是要捕获ID,x,y
零件,请确保有可能:
var str = "ADD[ID,x,y];";
var match = /\[([^\]]+)\]/.exec(str);
if (match) {
console.log(match[1]); // "ID,x,y"
}
表达式真的很简单,但看起来很复杂。所以:
/.../
是正则表达式文字。\[
是一个文字[
字符(因为[
在正则表达式中是特殊的,我们必须对其进行转义)。(....)
是一个捕获组。我们使用它来捕获括号内的文本。[^\]]
是一个字符类,意思是“任何不是]
字符的东西”。我们必须]
在内部转义,否则它会终止字符类。+
一个或多个以前的事情”。\]
是字面的结尾]
字符。