LoginSignup
19
21

More than 5 years have passed since last update.

python 正規表現を使った文字列チェック【ひらがな・カタカナ・ローマ字・漢字】

Last updated at Posted at 2019-03-19

reを使った文字列判定

正規表現を使うために事前に検索するパターンをコンパイルしておくと良いです。
同じパターンで何度も検索する際、高速に検索することが出来るようになります。
あと、パターンの最初にrを付けることによって文字列中のバックスラッシュ文字をそのままバックスラッシュとして扱えるので、書き方がわかりやすくてお勧めです。

ひらがなの判定

check.py
import re

word = "りんご"
re_hiragana = re.compile(r'^[あ-ん]+$')
status_hira = re_hiragana.fullmatch(word) #fullmatch:完全一致
# Trueが返却される
# <_sre.SRE_Match object; span=(0, 3), match='りんご'>

カタカナの判定

check.py
import re

word = "リンゴ"
re_katakana = re.compile(r'[\u30A1-\u30F4]+')
status_kata = re_katakana.fullmatch(word)
# Trueが返却される
# <_sre.SRE_Match object; span=(0, 3), match='リンゴ'>

ローマ字の判定

check.py
import re

word = "apple"
re_roman = re.compile(r'^[a-zA-Z]+$') #a-z:小文字、A-Z:大文字
status_kata = re_katakana.fullmatch(word)
# Trueが返却される
#  <_sre.SRE_Match object; span=(0, 5), match='apple'>

漢字の判定

check.py
import re

word = "林檎"
re_kanji = re.compile(r'^[\u4E00-\u9FD0]+$')
status_kanji = re_kanji.fullmatch(word)
# Trueが返却される
#  <_sre.SRE_Match object; span=(0, 2), match='林檎'>
19
21
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
21