0

次のような文字列から作成してください。

<a href="http://testsite.com" class="className">link_text_part1 <em>another_text</em> link_text_part2</a>

次のような文字列:

link_text_part1 another_text link_text_part2

Pythonで正規表現を使用する

testsite.comの変更に注意してください

4

4 に答える 4

1

<a>では、と<em>タグを削除しますか?これは次のように実行できます。

>>> s = '<a href="http://testsite.com" class="className">link_text_part1 <em>another_text</em> link_text_part2</a>'

>>> re.sub("</?(a|em).*?>", "", s)
'link_text_part1 another_text link_text_part2'

英語では、これは以下を検索します:

  • <文字
  • オプションで/が続きます(終了タグを取得するため)
  • 続いて「a」または「em」
  • 最初の>文字までのすべてが続きます

そしてそれらを空の文字列に置き換えます。

ただし、Kosが言うように、HTMLを解析するために正規表現を使用することは非常にリスクが高く脆弱です。ただし、解析するHTMLの形式が変更されないことがわかっている場合を除きます。

于 2010-07-23T10:37:25.917 に答える
1
string = re.sub('<[^>]+>', '', string)
于 2010-07-23T10:43:45.740 に答える
1

単純な場合でも、正規表現を使用してHTMLを解析することは、一般的に強くお勧めしません。正規表現を混乱させるHTMLコードをいつヒットしたかはわかりません。

軽量のHTMLパーサーは、一般的に、より信頼性が高く、より洗練されたソリューションです。

于 2010-07-23T10:43:53.510 に答える
0

ところで。これは役に立ちました:

from scrapy.utils.markup import remove_tags  
...
bbb=remove_tags(aaa)
于 2010-07-25T14:35:08.497 に答える