2
0

Pythonで「文字クラスを使って色々な文字にマッチするパターンを記述する」の動作を確認してみた

Posted at

概要

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
。
今

まとめ

何かの役に立てばと。

2
0
0

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
2
0