sizzle.js 中的正则表达式如何工作?

How do the regular expressions in sizzle.js work?

如果在 JavaScript 中使用 RegExp 对象创建的正则表达式中的转义字符需要再次转义 sizzle.js 中的以下代码如何工作 -

identifier = "(?:\\.|[\w-]|[^[=11=]-\xa0])+"

如果 \\\\ = \\\w = \w 那么当只使用一个反斜杠时 [=14=] = [=14=] 如何?

当 Google 控制台 identifier 中的 运行 为 "(?:\\.|[\w-]|[^-\xa0])+"

这是一个错误还是我没有理解正确?如果这是正确的,这就是它的工作方式,[=17=] 的目的是什么?

如果您的正则表达式需要包含反斜杠——例如,因为您需要 \((匹配实际的 ()或 \w(匹配字母或数字或下划线)——如果您从字符串文字创建正则表达式,那么您需要编写 \,它在正则表达式中以 \ 结尾。

但在您的 [=15=] 示例中,正则表达式 不需要 包含反斜杠。它只需要包含字符 U+0000 (匹配自身)。所以字符串文字可以只包含 [=15=],它以字符 U+0000.

结尾