【发布时间】:2011-05-12 18:43:44
【问题描述】:
我一次又一次地看到代码中使用了 $1 和 $2。这是什么意思?可以举个例子吗?
【问题讨论】:
-
这可能对你有帮助:Grouping & Backreferences
-
在上述问题中,我找到了“Niels Keurentjes”和“Mark Chorley”的答案,对于 JS 的新用户来说很容易理解
标签: javascript
我一次又一次地看到代码中使用了 $1 和 $2。这是什么意思?可以举个例子吗?
【问题讨论】:
标签: javascript
当您创建正则表达式时,您可以选择捕获匹配的部分并将它们保存为占位符。它们的编号从 $1 开始。
例如:
/A(\d+)B(\d+)C/
这将从A90B3C 捕获值90 和3。如果您需要对事物进行分组但不想捕获它们,请使用 (?:...) 版本而不是 (...)。
数字按照括号打开的顺序从左到右开始。这意味着:
/A((\d+)B)(\d+)C/
与同一字符串匹配将捕获90B、90 和3。
【讨论】:
这是特别的。适用于Replacement String Syntax(即格式化字符串)适用于查找和替换的案例/案例折叠。要引用捕获,请使用 $n,其中 n 是捕获寄存器编号。使用 $0 表示整个匹配。示例:Find: (<a.*?>)(.*?)(</a>) Replace: $1\u$2\e$3
【讨论】: