[解決済み】 Regex: AttributeError: 'NoneType' オブジェクトには 'groups' という属性がありません。
2022-02-01 19:12:17
質問
サブセットを抽出したい文字列があります。これは、より大きなPythonスクリプトの一部である。
これがその文字列です。
import re
htmlString = '</dd><dt> Fine, thank you. </dt><dd> Molt bé, gràcies. (<i>mohl behh, GRAH-syuhs</i>)'
どれを抜きたいかというと、"。
モルトベー、グラシアス モルトベー、グラシアス
となります。そして、そのために私は
re.search
:
SearchStr = '(\<\/dd\>\<dt\>)+ ([\w+\,\.\s]+)([\&\#\d\;]+)(\<\/dt\>\<dd\>)+ ([\w\,\s\w\s\w\?\!\.]+) (\(\<i\>)([\w\s\,\-]+)(\<\/i\>\))'
Result = re.search(SearchStr, htmlString)
print Result.groups()
AttributeError: 'NoneType' object has no attribute 'groups'
以降
Result.groups()
は動作しませんし、私が作りたい抽出もできません(すなわち
Result.group(5)
と
Result.group(7)
).
しかし、なぜこのようなエラーが発生するのか理解できないのですが?TextWranglerでは正規表現が使えるのに、なぜPythonでは使えないのでしょうか?私はPythonのビギナーです。
どのように解決するのですか?
import re
htmlString = '</dd><dt> Fine, thank you. </dt><dd> Molt bé, gràcies. (<i>mohl behh, GRAH-syuhs</i>)'
SearchStr = '(\<\/dd\>\<dt\>)+ ([\w+\,\.\s]+)([\&\#\d\;]+)(\<\/dt\>\<dd\>)+ ([\w\,\s\w\s\w\?\!\.]+) (\(\<i\>)([\w\s\,\-]+)(\<\/i\>\))'
Result = re.search(SearchStr.decode('utf-8'), htmlString.decode('utf-8'), re.I | re.U)
print Result.groups()
そのように動作します。この式には非ラテン文字が含まれているので、通常は失敗します。Unicodeにデコードしてre.U(Unicode)フラグを使うしかないですね。
私も初心者で、何度かその問題に直面しました。
関連
-
opencvとpillowを用いた顔認証システム(デモあり)
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】AttributeError: 'module'オブジェクトには属性がありません。
-
[解決済み] AttributeError: 'module' オブジェクトには 'urlopen' という属性がありません。
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] エラーです。" 'dict' オブジェクトには 'iteritems' という属性がありません "
-
[解決済み] AttributeError: 'NoneType' オブジェクトには 'something' という属性がありません」と表示されるのはなぜですか?
-
[解決済み] Pythonでバージョン番号を比較する方法は?
-
[解決済み】Regexのlookahead、lookbehind、atomic groupについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonによるjieba分割ライブラリ
-
Pythonショートビデオクローラーチュートリアル
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない