
官方手册中如下:
>>> 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,只不过一个是放在正则表达式里,一个是放在后面的替换字符里 |