Pythonのコーディング中に発生した「’NoneType’ object has no attribute ‘group’」のエラー対処の方法をご紹介します。
‘NoneType’ object has no attribute ‘group’ エラー内容
Regexオブジェクトを使用して、文字列のパターンマッチングをしようとしたときに、
「‘NoneType’ object has no attribute ‘group’」というエラーが発生しました。
該当のコード
import re
line = 'ところでドーナツは好きかい'
reg = re.compile(r'ドーナツ')
m = re.match(reg,line)
print(m.group())
エラー発生時のコマンドプロンプト
エラーとして表示されている英語の意味を調べてみました。
返す値をうまく取得できていないようです。
・[NoneType] → 返す値がない
・[object has no attribute] → オブジェクトは属性をもっていない
エラー解決方法
以下のコーディングに修正したところ、解決できました。
3行目の「line」に格納している文章を変更して、その他のコードは変更していません。
× → ’ところでドーナツは好きかい’
○ → ’ドーナツは好きかい’
import re
line = 'ドーナツは好きかい'
reg = re.compile(r'ドーナツ')
m = re.match(reg,line)
print(m.group())
変数 [line] に格納されている文字列の先頭に、
パターンマッチさせる文字列(ドーナツ)がないと、エラーになるようです。
この記事がお役に立ちますと幸いです。
・【Python】よくあるエラーの対処方法まとめ
【Python】よくあるエラーの原因と対処方法まとめ:38選
...
「いちばんやさしいPythonの教本」
はじめて学ぶ人でも安心! オールカラーでコードを丁寧に解説
小さなプログラムから実践的なプログラムまで紹介しています。
Pythonの基礎をまなびたい方にオススメの1冊です!
リンク