1

したがって、次の形式のデータがあります。

<Category: XXX &nbsp;-&nbsp; 

また

<Category: XXX</b>

'xxx' のみを保持したいのですが、('XXX','') または ('') またはその他の望ましくないバリエーションしか保持できませんでした。

美しいスープを使いたくありません。anaconda パッケージ マネージャーでダウンロードするのに問題があります。


追加 - 私の試み

'Category: ([^<]+)</b' 

['xxx'] を生成する場合

<Category: XXX</b>

'Category: ([^<]+) &n'

['xxx'] を生成する場合

<Category: XXX &nbsp;

そして、私は次のようなことをしたと思います

'Category: ([^<]+)(</b| &n)' 

それがもたらした

[('XXX', '</b')]

また

[('XXX', ' &nb')]
4

1 に答える 1

1
>>> import re
>>> re.match('<Category:\s(\w+)', "<Category: XXX</b>").group(1)
'XXX'
>>> re.match('<Category:\s(\w+)', "<Category: XXX &nbsp;-&nbsp;").group(1)
'XXX'

または使用findall

>>> import re
>>> re.findall('<Category:\s(\w+)', "<Category: XXX &nbsp;-&nbsp;")[0]
'XXX'
>>> re.findall('<Category:\s(\w+)', "<Category: XXX</b>")[0]
'XXX'
  • \s任意の空白文字に一致します。
  • \w英数字以外の任意の文字に一致します。これは set と同等[^a-zA-Z0-9_]です。
  • \w+1 つ以上の英数字以外の文字に一致します。
  • (...)はキャプチャ グループです。

括弧内の正規表現に一致し、グループの開始と終了を示します。グループの内容は、一致が実行された後に取得できます

詳細については、ドキュメントを参照してください。

于 2013-08-20T17:15:06.917 に答える