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.
结尾
如果在 JavaScript 中使用 RegExp 对象创建的正则表达式中的转义字符需要再次转义 sizzle.js 中的以下代码如何工作 -
identifier = "(?:\\.|[\w-]|[^[=11=]-\xa0])+"
如果 \\\\ = \
和 \\w = \w
那么当只使用一个反斜杠时 [=14=] = [=14=]
如何?
当 Google 控制台 identifier
中的 运行 为 "(?:\\.|[\w-]|[^-\xa0])+"
这是一个错误还是我没有理解正确?如果这是正确的,这就是它的工作方式,[=17=]
的目的是什么?
如果您的正则表达式需要包含反斜杠——例如,因为您需要 \(
(匹配实际的 (
)或 \w
(匹配字母或数字或下划线)——如果您从字符串文字创建正则表达式,那么您需要编写 \
,它在正则表达式中以 \
结尾。
但在您的 [=15=]
示例中,正则表达式 不需要 包含反斜杠。它只需要包含字符 U+0000 (匹配自身)。所以字符串文字可以只包含 [=15=]
,它以字符 U+0000.