2

これは恐ろしく単純なことだと思いますが、機能させることはできません (そして、検索しても答えが見つかりません)。イタリック体のすべての単語の Web サイトをスクレイピングしています (必要な単語は 2 つの単語のグループになっています。それらは二項学名です) が、数値が返されることを望んでいません。

私が使用した正規表現:<i>(.+?)</i>

うまくいきましたが、数字を引き出しました。を使用するとうまくいくと思い\Dましたが、うまくいきませんでした。私は何を間違っていますか?

4

2 に答える 2

2

はい、基本的にタグ内の文字列から整数を削除したいと思います。

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
于 2013-11-01T22:47:49.870 に答える