Pythonで正規表現を使う方法
小粋空間 » Programming Language » Python » Pythonで正規表現を使う方法
Pythonで正規表現を使う方法を紹介します。
1.問題点
下記のスクリプトを書きました。
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
str = 'abc123def'
print str
このスクリプトを修正して、変数strに含まれる数字"123"だけを出力したいのですが、方法が分かりません。
ということで、Pythonで正規表現を使う方法を紹介します。
正規表現の詳細については、ここでは割愛します。
2.Pythonで正規表現を使う
正規表現を使うには次のようにします。
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import re
str = 'abc123def'
result = re.search('\d{3}', str)
print result.group()
3.解説
Pythonの正規表現モジュール「re」をインポートします。
import re
パターンに一致するか調べるには、search()を使用します。
result = re.search('\d{3}', str)
フォーマットは次のとおりです。
- 第1パラメータ:パターン
- 第2パラメータ:対象の文字列または変数
戻り値のresultには一致結果がはいっています。group()メソッドを使うことでパターンにマッチした内容すべてを返却します。
サンプルでは数字3文字にマッチした"123"が出力されます。
パターンマッチの関数はsearch()の他にmatch()がありますが、これは文字列の先頭がパターンマッチするかを調べるためのものです。