我想检测字符串内容的特殊字符,如下所示: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"
}
表达式真的很简单,但看起来很复杂。所以:
/.../是正则表达式文字。\[是一个文字[字符(因为[在正则表达式中是特殊的,我们必须对其进行转义)。(....)是一个捕获组。我们使用它来捕获括号内的文本。[^\]]是一个字符类,意思是“任何不是]字符的东西”。我们必须]在内部转义,否则它会终止字符类。+一个或多个以前的事情”。\]是字面的结尾]字符。