【Python】’NoneType’ object has no attribute ‘group’:エラー対処方法

pythonエラー対処_’NoneType’ object has no attribute ‘group’_アイキャッチ Python

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】よくあるエラーの原因と対処方法まとめ:36選
...

 

「いちばんやさしいPythonの教本」
はじめて学ぶ人でも安心! オールカラーでコードを丁寧に解説
小さなプログラムから実践的なプログラムまで紹介しています。
Pythonの基礎をまなびたい方にオススメの1冊です!