我在括号内转义的规则是否与我在括号外所做的不同?
例如,我应该在括号内转义 ?
吗?是 /blah[^?]/
还是 /blah[^\?]/
括号的规则是否不同,或者我应该转义两者吗?
最佳答案
括号中唯一需要转义的是右括号,如果不是首字母或末尾则为减号,如果是首字母则为帽子,AFAIK。显然,还有反斜杠本身。
原因是,这些是括号内唯一具有特殊意义的字符。右括号结束括号,中间字符串减号表示范围,初始帽子否定括号类。其他一切都应该按字面解释。反斜杠是转义字符,因此您需要双反斜杠来匹配文字反斜杠。
关于javascript - 什么时候需要转义正则表达式字符集中的字符([] 内)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10593387/