2

我担心,这非常简单,但我无法让它发挥作用(而且我无法通过搜索找到答案)。我正在为所有斜体字搜索网站(我想要的是两个单词的组 - 它们是二项式科学名称),但我不希望返回任何数字。

我使用的正则表达式:<i>(.+?)</i>

效果很好,但它拉动了数字。我认为使用\D会起作用,但事实并非如此。我究竟做错了什么?

4

2 回答 2

2

是的,我基本上想从标签内的任何字符串中删除整数。

Pythonre.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
于 2013-11-01T22:47:49.870 回答
-1

我认为它有效。你可以这样试试。+^[0-9]

于 2013-11-01T21:13:13.747 回答