我什么时候需要转义正则表达式字符集中的字符(在[]内)?

时间:2012-05-15 02:16:06

标签: javascript regex

我在括号中逃避的规则是否与我在括号外的操作不同?

例如我应该在括号内逃避?吗?是/blah[^?]/还是/blah[^\?]/

括号的规则是否不同,或者我是否应该同时逃避?

1 个答案:

答案 0 :(得分:23)

唯一需要在括号中转义的是闭括号,如果不是初始或最终则为减号,如果是初始值,则为AFAIK。而且显然是反斜杠本身。

原因是,这些是括号内唯一具有特殊意义的字符。结束括号结束括号,中间字符串减号表示范围,初始帽子取消括号类。其他一切都应该按字面解释。反斜杠是转义字符,因此您需要一个双反斜杠来匹配文字反斜杠。