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