LoginSignup
1
0

More than 5 years have passed since last update.

【自分用メモ】Pythonでの正規表現

Last updated at Posted at 2019-06-26

正規表現とは

 文字列を1つのパターン化した文字列で表現する表記法のこと。
 正規表現を使用して、文字列をパターン化した文字列に置き換えることで、文字列の検索や置換えを行うことができる。

例題

import re

source = "Hatsune Miku"

result = re.match("Hatsu", source)
if result:
    print(result.group())    
#matchはオブジェクトを返す。
#オブジェクトから、マッチした部分を取り出す(str)には
#.group()関数を使う

image.png

ここでは、"Hatsu"がパターン、"Hatsune Miku"がソース文字列で、match()は、ソースの先頭がパターンになっているかどうかをチェックする。

パターンとソースを比較する方法はmatchだけではない。他にも次のようなメソッドを使える。

・search()は、最初のマッチを返す。(ある場合)
・findall()は、重なり合わないすべてのマッチのリストを返す。(ある場合)
・split()は、パターンにマッチしたところでソースを分割し、部分文字列のリストを返す。
・sub()は、置換文字列引数をとり、ソースのうち、パターンにマッチするすべての部分を置換文字列に置き換える。

人名からMiss.を抽出してみた

source = "Graham, Miss. Margaret Edith"

title_search = re.search(' ([A-Za-z]+)\.', source)
#' ([A-Za-z]+)\.'は、英文字([A-Za-z])1文字以上でかつ .が語尾につくものを表す。

if title_search:
    print(title_search.group()) 

image.png

【参考・引用】
入門 Python 3(Bill Lubanovic (著), 斎藤 康毅 (監修), 長尾 高弘 (翻訳))
https://techacademy.jp/magazine/15635
https://qiita.com/wanwanland/items/ce272419dde2f95cdabc
https://qiita.com/sea_ship/items/7c8811b5cf37d700adc4

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