我担心,这很简单,但我不能让它起作用(我无法通过搜索找到答案)。我正在为一个网站搜索所有斜体字(我想要的是两个字的组合 - 它们是二项式科学名称),但我不想要任何数字返回。
我使用的正则表达式:<i>(.+?)</i>
工作得很好,但它拉了数字。我认为使用\D
会起作用,但事实并非如此。我做错了什么?
答案 0 :(得分:2)
是的,我基本上想从标签内的任何字符串中去掉整数。
Python re.findall
循环播放你的匹配代替数字字符应该适合你。
pattern = re.compile(r'(?<=<i>).*?(?=</i>)')
for names in re.findall(pattern, htmltext):
print re.sub(r'[0-9]', '', names)
要查找不包含数字的匹配项:
matches = re.findall(r'(?<=<i>)[^0-9]*(?=</i>)', htmltext)
print matches
答案 1 :(得分:-1)
我认为它有效。你可以这样试试。 + ^ [0-9]