在 Python 3.x 代码中
import re
link = 'http://py4e-data.dr-chuck.net/known_by_Tamlah.html'
print(re.search('by_(.*).h', link).group())
print(re.findall('by_(.*).h', link))
我正在尝试在链接中查找名称。 工作成果。
by_Tamlah.h
['Tamlah']
正则表达式相同,功能不同。问题是为什么re.search()函数不理解字符串提取start,end正则表达式()?正确的结果是Tamlah。
Match.group()
的文档:
...
如果没有参数,group1 默认为零(返回整个匹配项)。
...
因此
re.search("by_(.*).h", link).group()
返回整场比赛,包括 by_
和 .h
。
如果您指定组,例如:
print(re.search("by_(.*).h", link).group(1))
然后只打印第一个捕获组:
Tamlah