これは恐ろしく単純なことだと思いますが、機能させることはできません (そして、検索しても答えが見つかりません)。イタリック体のすべての単語の Web サイトをスクレイピングしています (必要な単語は 2 つの単語のグループになっています。それらは二項学名です) が、数値が返されることを望んでいません。
私が使用した正規表現:<i>(.+?)</i>
うまくいきましたが、数字を引き出しました。を使用するとうまくいくと思い\D
ましたが、うまくいきませんでした。私は何を間違っていますか?
はい、基本的にタグ内の文字列から整数を削除したいと思います。
re.findall
数字の文字を置き換えるPythonのループは、あなたのために働くはずです。
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