1.官网中的语法:
\g{name} Named backreference
表示后向匹配的意思
2.后向匹配,简单说就是:
匹配,前面已经查找过的某段内容,该段内容,是已经被括号包起来的,叫做组group,组的名字叫做name
你这里就是
之前用
(?
匹配到了
Flintstone
后面用
\g{last_name}
去匹配,前面的那个
Flintstone
所以,如果去掉,你这段匹配的语法,就和实际字符串,不吻合了。所以去掉就匹配不了了。
不过要注意的是,如果是去查找字符串,即使去掉,也可以匹配到前面那部分:
Fred Flintstone and Wilma
的
这下明白了吧?
关于后向匹配,更详细的解释,感兴趣的话去看:
(正则的含义是一样的,只是写法有点区别而已,所以可以参考的)
【教程】详解Python正则表达式之: (?<=…) positive lookbehind assertion 后向匹配 /后向断言
(此处不给贴地址,请自己用google搜标题,即可找到帖子地址)
命名回溯,就是跟\1差不多,只不过是取了个名字last_name