正規表現の概要

Pythonで学ぶ正規表現

Maria Eugenia Inzaugarat

Data Scientist

正規表現とは?

REGular EXpression(regex):

通常の文字と特殊メタ文字の組み合わせからなる文字列で、テキスト内のパターンや位置を表す

Pythonで学ぶ正規表現

正規表現とは?

REGular EXpression(regex):

通常の文字と特殊メタ文字の組み合わせからなる文字列で、テキスト内のパターンや位置を表す

  • 通常の文字はそのまま一致(st)
Pythonで学ぶ正規表現

正規表現とは?

REGular EXpression(regex):

通常の文字と特殊メタ文字の組み合わせからなる文字列で、テキスト内のパターンや位置を表す

  • メタ文字は文字種(\d, \s, \w)や数量({3,10})を表す
Pythonで学ぶ正規表現

正規表現とは?

REGular EXpression(regex):

通常の文字と特殊メタ文字の組み合わせからなる文字列で、テキスト内のパターンや位置を表す

  • メタ文字は文字種(\d, \s, \w)や数量({3,10})を表す
Pythonで学ぶ正規表現

正規表現とは?

REGular EXpression(regex):

通常の文字と特殊メタ文字の組み合わせからなる文字列で、テキスト内のパターンや位置を表す

  • メタ文字は文字種(\d, \s, \w)や数量({3,10})を表す
Pythonで学ぶ正規表現

正規表現とは?

REGular EXpression(regex):

通常の文字と特殊メタ文字の組み合わせからなる文字列で、テキスト内のパターンや位置を表すもの

  • メタ文字は文字種(\d, \s, \w)や数量({3,10})を表す
Pythonで学ぶ正規表現

正規表現とは?

REGular EXpression(regex):

通常の文字と特殊メタ文字の組み合わせからなる文字列で、テキスト内のパターンや位置を表す

  • パターン: 単語や句読点に対応する文字の並び
Pythonで学ぶ正規表現

正規表現とは?

REGular EXpression(regex):

通常の文字と特殊メタ文字の組み合わせからなる文字列で、テキスト内のパターンや位置を表す

  • パターンの用途:

    • 文字列の検索・置換
    • 文字列の検証
  • 非常に強力かつ高速

Pythonで学ぶ正規表現

re モジュール

import re
  • パターンの全一致を取得:

re.findall(r"#movies", "Love #movies! I had fun yesterday going to the #movies")
['#movies', '#movies']
Pythonで学ぶ正規表現

re モジュール

import re
  • 一致ごとに分割:

re.split(r"!", "Nice Place to eat! I'll come back! Excellent meat!")
['Nice Place to eat', " I'll come back", ' Excellent meat', '']
Pythonで学ぶ正規表現

re モジュール

import re
  • 一致を文字列で置換:

re.sub(r"yellow", "nice", "I have a yellow car and a yellow house in a yellow neighborhood")
'I have a nice car and a nice house in a nice neighborhood'
Pythonで学ぶ正規表現

サポートされるメタ文字

re.findall(r"User\d", "The winners are: User9, UserN, User8")
['User9', 'User8']

re.findall(r"User\D", "The winners are: User9, UserN, User8")
['UserN']
Pythonで学ぶ正規表現

サポートされるメタ文字

re.findall(r"User\w", "The winners are: User9, UserN, User8")
['User9', 'UserN', 'User8']

re.findall(r"\W\d", "This skirt is on sale, only $5 today!")
['$5']
Pythonで学ぶ正規表現

サポートされるメタ文字

re.findall(r"Data\sScience", "I enjoy learning Data Science")
['Data Science']

re.sub(r"ice\Scream", "ice cream", "I really like ice-cream")
'I really like ice cream'
Pythonで学ぶ正規表現

Passons à la pratique !

Pythonで学ぶ正規表現

Preparing Video For Download...