Python 正規表現

【Python】正規表現で括弧で特定の文字列を抽出する方法

投稿日:

Pythonの正規表現で括弧を使って文字列を抽出するサンプルを作成しました。調べてもパッと出てこなかったので残しておきます。バージョンは2.7です。正規表現用の標準ライブラリのreモジュールを使います。

main.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re

if __name__ =='__main__':
    # 正規表現で文字を抽出する(一つのみ)
    text = "image_2018-03-20.JPG"
    m = re.match(r"image_([0-9\-]+)\.JPG", text)
    print(m.group(1)) # 2018-03-20
    print(m.groups()) # ('2018-03-20')

    # 正規表現で複数パターンの文字列を同時に抽出する
    text = "image_2018-03-20.JPG"
    m = re.match(r"image_([0-9]{4})-([0-9]{2})-([0-9]{2})\.JPG", text)
    print(m.group(1)) # 2018
    print(m.group(2)) # 03
    print(m.group(3)) # 20
    print(m.groups()) # ('2018', '03', '20')

    # 正規表現で1つのパターンから複数の文字列を抽出する
    text = "交通費110円 交通費210円 交通費500円 食費800円"
    ms = re.findall(r"交通費([0-9]+)円", text)
    print(ms) # ['110', '210', '500']
2018-03-20
('2018-03-20',)
2018
03
20
('2018', '03', '20')
['110', '210', '500']

結果はコード内のコメントと結果欄に書いておきました。上記コードはコピペして保存すれば適切な環境で動かすことができます。

スポンサードリンク

-Python, 正規表現

Copyright© めめんと , 2019 All Rights Reserved Powered by AFFINGER5.