正则表达式中的 $1
, $2
等符号表示匹配成功后捕获组内对应的内容。在学习正则表达式时,了解这些符号的含义及其作用非常重要。
什么是捕获组?
捕获组是指将一部分正则表达式中的匹配内容“捕获”起来以备后续使用的过程。例如,下面这个正则表达式:
------
它可以匹配连续的 a 字符串。这个正则表达式中,括号包裹的 a+
部分被视为一个捕获组。当匹配成功时,该捕获组中的内容会被存储起来,以便后续使用。
如何使用捕获组
在正则表达式中使用捕获组时,我们可以使用 $1
, $2
等符号来访问对应的捕获组内容。
例如,下面这个正则表达式:
--------------
它可以匹配两个由空格隔开的单词,并且将这两个单词分别存储到第一个和第二个捕获组中。我们可以使用 $1
和 $2
来获取这两个捕获组的内容,例如:
----- --- - ------ ------ ----- ----------- - ------------------------- --------------------------- -- ---------- --------------------------- -- ----------
上面的代码中,matchResult[1]
和 matchResult[2]
分别代表了正则表达式中第一个和第二个捕获组的内容。
$0 的含义
除了 $1
, $2
等符号外,还有一个 $0
符号。它表示整个匹配成功的字符串。例如,下面这个正则表达式:
-------
可以匹配所有包含 hello 子串的字符串。当匹配成功时,$0
将会返回匹配到的完整字符串。
例如,下面的代码:
----- --- - ------ ------ ----- ----------- - ------------------ --------------------------- -- ----------
上面的代码中,matchResult[0]
表示正则表达式匹配到的完整字符串。
总结
在正则表达式中,使用捕获组可以将匹配到的部分存储起来以供后续使用。而 $1
, $2
等符号则可以访问对应的捕获组内容。此外,$0
可以访问整个匹配成功的字符串。掌握这些符号的含义和用法对于正则表达式的学习和应用非常重要。
示例代码
下面是一个示例代码,它演示了如何使用捕获组和 $1
, $2
等符号来获取匹配结果:
----- --- - ------ ------ ----- ----------- - ------------------------- --------------------------- -- --------- ------ --------------------------- -- ---------- --------------------------- -- ----------
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/28705