1. TOP
  2. プログラム
  3. ソフト
  4. python
  5. 正規表現 match()

正規表現 match()

使い方

正規表現機能は、標準モジュールのreが提供するもので、使うためにはこの
モジュールをインポートする。
マッチングの対象となる文字列のパターンとマッチングするソース文字列を
定義する。
result = re.match('You', 'Young Frankenstein')
ここでは、'you'がパターン、'Young Frankenstein'がソース文字列でmatch()
は、ソースの先頭がパターンになっているかどうかチェックする。
先にパターンをコンパイルして、あとでマッチングのスピードを上げれる。
youpattern = re.compile('you')
そして、コンパイルしたパターンを対象としてマッチングする。
result youpattern.mach('Young Frankenstain')
パターンとソースを比較する方法はmatch()だけではない。ほかのメソッドは
○search():最初のマッチを返す
○findall():重なり合わないすべてのマッチのリストを返す
○split():パターンにマッチしたところでソースを分割し、部分文字列
のリストを返す
○sub():置換文字列引数を取り、ソースのうち、パターンにマッチするすべての
部分を置換文字列に置き換える

match()による正確なマッチ

import re
source = "Young Frankenstein"
m = re.match('You', source)
if m:
print(m.group())

You

では'Frank'はどうだろうか。
m = re.match('Frank', source)
これは何も返してくれない

m = re.match('.*Frank', source)
○.は任意の一文字
○*は任意の個数の直前のものという意味
○.*は任意の個数(0を含む)の任意の文字という意味になる

search()による最初のマッチ

search()を使えば、.*というワイルドカードを使わずに、ソース文字列
の任意の位置にあるパターンを探せる。
m = re.search('Frank', source)
if m :
print(m.group())

Frank