【发布时间】:2022-01-15 17:21:57
【问题描述】:
在下面的正则表达式中,\s 表示一个空格字符。我想正则表达式解析器正在遍历字符串并看到 \ 并知道下一个字符是特殊的。
但情况并非如此,因为需要双重转义。
这是为什么?
var res = new RegExp('(\\s|^)' + foo).test(moo);
是否有一个具体的例子说明单个转义如何被误解为其他内容?
【问题讨论】:
-
记住,需要澄清的不是 Java 或 Regexp 构造函数,而是编译器(或解析器)。
-
补充已经正确的答案:请注意,如果您在 JavaScript 中编写 RegExp 文字,您 不需要 需要转义反斜杠,因为您会怀疑:
/(\s|^)/
标签: javascript regex