语法格式:(?<name>…)
命名分组也是捕获性分组,它将匹配的字符串捕获到一个组名称或编号名称中,在获得匹配结果后,可通过分组名进行获取。
如下是一个python的命名分组的例子:
import re
data = "#808080"
regExp = r"#(?P<one>\d+)"
replaceString = "\g<one>" + "~~"
print re.sub(regExp,replaceString,data) # 808080~~
python 的命名分组表达式与标准格式相比,在 ?
后多了一大写的 P
字符,并且 python 通过 \g<命名>
表示法进行引用。(如果是常规的捕获性分组,python 通过 \g<编号>
表示法进行引用)。
注意:javaScript 中并不支持命名分组。