正则表达式组和范围
跳到导航
跳到搜索
组和范围表示表达式字符的组和范围。
(x)
捕获组:匹配 x 并记住匹配项。例如,/(foo)/
匹配并记住"foo bar"
中的"foo"
正则表达式可以有多个捕获组。捕获组会带来性能损失。如果不需要收回匹配的子字符串,请选择非捕获括号 。
\n
其中 n 是一个正整数。对正则表达式中与 n 括号匹配的最后一个子字符串的反向引用 (计算左括号)。例如,/apple(,)\sorange\1/
匹配"apple, orange, cherry, peach"
中的 "apple, orange,"
,其中 \1
引用了 之前使用 (,)
捕获的 ,
。
(?<Name>x)
具名捕获组:匹配"x"
并将其存储在返回的匹配项的 groups
属性中,该属性位于<Name>
指定的名称下。尖括号 (<
和 >
) 用于组名。
例如,使用正则 /-(?<customName>\w)/
匹配"web-doc"
中的"d"
, 结果{customName: “d”}。
(?:x)
非捕获组:匹配 “x”,但不记得匹配。不能从结果数组的元素中收回匹配的子字符串。