MENU

Python:正規表現9 ~大文字・小文字を区別しない方法~

目次

大文字・小文字は区別される

正規表現は基本的に大文字・小文字を分けて認識しマッチします。

import re
pattern=re.compile(r'Hayato')
print(pattern.search('Hayato'))

#出力結果は
<re.Match object; span=(0, 6), match='Hayato'>
import re
pattern=re.compile(r'Hayato')
print(pattern.search('hayato'))

#出力結果は
None

大文字と小文字がしっかりと区別されてマッチしていることがわかります。

大文字・小文字を区別せずにマッチしたい場合

しかし、大文字と小文字を区別せずにマッチしたい場合もあります。

その場合は、re.compile()re.IGNORECASEまたはre.Iを渡します。

import re
pattern=re.compile(r'Hayato',re.I)
print(pattern.search('hayato'))

#出力結果は
<re.Match object; span=(0, 6), match='hayato'>

大文字と小文字を区別せずにマッチするようになりました。

re.I は re.IGNORECASE の省略形

re.IGNORECASE は長いので re.I こっちしか覚えられない。

まとめ

  • 正規表現は基本的に大文字・小文字を区別する
  • Hayato と hayato は別の文字列として扱われる
  • 区別したくない場合は re.IGNORECASE または re.I を使う
  • re.I は re.IGNORECASE の省略形

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

FIREを目指しながら、投資・プログラミング・家庭菜園・資格勉強に取り組んでいます。試行錯誤しながら積み上げる日々を記録するブログです。

コメント

コメントする

目次