官方手册中如下:
>>> import re
>>> re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest')
['foot', 'fell', 'fastest']
>>> re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat')
'cat in the hat'
我知道第一个中的\b是单词边界,那么第二个中的\1 具体是什么意思,向后重复匹配的意思吗?
1
uTOmOuk3L6sb4MSI 2018 年 11 月 20 日
就是重复匹配的$1 内容????
|
2
Ho 2018 年 11 月 20 日
这里是匹配第一个捕获组
|
3
uTOmOuk3L6sb4MSI 2018 年 11 月 20 日
|
4
al0ne 2018 年 11 月 20 日
正则表达式反向引用 我理解的是\1 可以代表前面括号匹配到的内容
|
5
uTOmOuk3L6sb4MSI 2018 年 11 月 20 日
|
7
katsusan 2018 年 11 月 20 日
\1 应该是引用第一个分组(\b[a-z]+)
|
8
jdhao 2018 年 11 月 20 日 这个再 regex 里面叫 capture group,更多细节 Google "capture group regex"
|
9
flowfire 2018 年 11 月 21 日 via iPhone
就是$1,只不过一个是放在正则表达式里,一个是放在后面的替换字符里
|