$1、$2 等在正则表达式中是什么意思

What does $1, $2, etc. mean in Regular Expressions?

本文关键字:是什么 意思 正则表达式      更新时间:2023-09-26

我一次又一次地看到代码中使用了 1 美元和 2 美元。什么意思?你能举个例子吗?

创建正则表达式时,您可以选择捕获匹配的部分并将其另存为占位符。它们从 $1 开始编号。

例如:

/A('d+)B('d+)C/

这将从A90B3C捕获值903。如果您需要对内容进行分组但不想捕获它们,请使用 (?:...) 版本而不是 (...)

数字按括号打开的顺序从左到右开始。这意味着:

/A(('d+)B)('d+)C/

匹配同一字符串将捕获90B903

这尤其适用于替换字符串语法(即格式字符串)适用于查找和替换的案例/案例折叠。要引用捕获,请使用$n其中 n 是捕获寄存器编号。使用 $0 表示整个匹配。例 : Find: (<a.*?>)(.*?)(</a>) Replace: $1'u$2'e$3