我正在使用Python学习正则表达式,我正在使用Regex上的Google Tutorial进行婴儿名称练习。 html文件--baby1990.html--位于压缩文件中,可在此处下载:https://developers.google.com/edu/python/set-up('下载Google Python练习')
年份放在标签内。 html代码如下:
<h3 align="center">Popularity in 1990</h3>
我使用以下代码从文件中提取年份:
f = open('C:/Users/ALEX/MyFiles/JUPYTER NOTEBOOKS/google-python-exercises/babynames/baby1990.html', 'r')
strings = re.findall(r'<h3 align="center">Popularity in (/d/d/d/d)</h3>', f.read())
我已经使用RegularExpressions101网站对该模式进行了测试,但它确实有效。
但是&#39;字符串&#39;返回的列表为空。
LEN(字符串) 出
答案 0 :(得分:0)
我认为在上下文字符串中匹配一年的最佳方法是使用re.search或re.match。
例如:
import re
tag = """<h3 align="center">Popularity in 1990</h3>"""
mo = re.search(r"Popularity in (\d{4})", tag)
year = mo.group(1) if mo else ""
print(year)
# -> 1990
当然,如果你想找到所有的比赛,你需要使用re.findall
...
您检查Python RegEx,也可以使用https://regex101.com/
在线尝试