0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

正規表現マッチ方法

Last updated at Posted at 2020-01-25

正規表現マッチ方法

Pythonでの正規表現マッチ方法のメモ

  • 1 import re で正規表現モジュールをインポートする。

  • 2 re.compile()関数を呼び出しRegexオブジェクトを生成する(raw文字列を使う)。
    例:phone_num_regex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')

  • 3 Regexオブジェクトのsearch()メソッドに、検索対象の文字列を渡すと、Matchオブジェクトを返す。
    例:mo = phone_num_regex.search('私の電話番号は415-555-4242です。')
    moはMatching objectの意

  • 4 Matchオブジェクトのgroup()メソッドを呼び出し、実際にマッチした文字列を取得する。
    例:print('電話番号が見つかりました: ' + mo.group())
    →電話番号が見つかりました: 415-555-4242

一般的な文字集合を表す短縮形

短縮形 意味
\d 0~9の数字
\D 0~9の数字以外
\w 文字、数字、下線(単語wordのw)
\W 文字、数字、下線以外
\s スペース、タブ、改行(空白spaceのs)
\S スペース、タブ、改行以外

正規表現に用いる記号のまとめ

  • ?は、直前のグループの0回か1回の出現にマッチする。
  • *は、直前のグループの0回以上の出現にマッチする。
  • +は、直前のグループの1回以上の出現にマッチする。
  • {n}は、直前のグループのn回の出現にマッチする。
  • {n,}は、直前のグループのn回以上の出現にマッチする。
  • {,m}は、直前のグループの0~m回の出現にマッチする。
  • {n,m}は、直前のグループのn~m回の出現にマッチする。
  • {n,m}?, *?, +?は、直前のグループの非貪欲マッチを行う。
  • ^spamは、「spam」から始まる文字列とマッチする。
  • spam$は、「spam」で終わる文字列とマッチする。
  • .は、改行文字以外の任意の1文字とマッチする。
  • \d, \w, \sは、それぞれ、数字、単語を構成する文字、空白文字にマッチする。
  • \D, \W, \Sは、それぞれ、数字、単語を構成する文字、空白文字以外の文字にマッチする。
  • [abc]は、角カッコの中の任意の1文字にマッチする。
  • [^abc]は、角カッコの文字以外の任意の1文字にマッチする。
0
2
1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?