概要
Pythonで「文字クラスを使って色々な文字にマッチするパターンを記述する」の動作を確認してみました。
以下のページを参考にしました。
実装
以下のファイルを作成しました。
sample.py
import re
pattern = re.compile(r'Sun')
print(bool(pattern.search('Today is Sunday')))
print(bool(pattern.search('The Sun rose')))
print(bool(pattern.search('Ham Sandwich')))
import re
pattern = re.compile(r'S..d')
print(bool(pattern.search('Today is Sunday')))
print(bool(pattern.search('The Sun rose')))
print(bool(pattern.search('Ham Sandwich')))
import re
pattern = re.compile(r'[sS]un')
print(bool(pattern.search('Today is Sunday')))
print(bool(pattern.search('The sun rose')))
print(bool(pattern.search('Ham Sandwich')))
import re
pattern = re.compile(r'199[^01234]')
print(bool(pattern.search('My birthday is 1998/03/12')))
print(bool(pattern.search('Graduated in 1994')))
print(bool(pattern.search('It opened in 1996')))
import re
pattern = re.compile(r'199[0-6]')
print(bool(pattern.search('My birthday is 1998/03/12')))
print(bool(pattern.search('Graduated in 1994')))
print(bool(pattern.search('It opened in 1996')))
import re
msg = '郵便番号は 456-7890 です'
pattern = re.compile(r'\d{3}-\d{4}')
result = pattern.search(msg)
if result :
print(result.group(0))
else :
print('Don\'t matched')
import re
msg = """こんにちは。
今日のミーティングですが予定通りの時間に行います。
何か変更があれば連絡してください。"""
pattern = re.compile(r'。\n.')
result = pattern.search(msg)
if result :
print(result.group(0))
else :
print('Don\'t matched')
以下のコマンドを実行しました。
$ python3 sample.py
True
True
False
True
False
True
True
True
False
True
False
True
False
True
True
456-7890
。
今
まとめ
何かの役に立てばと。