正規表現

記事
IT・テクノロジー

作成

import re
regex = re.compile(r"パターン")
1回だけ検索する場合は作成しなくていい
正規表現パターンの空白系文字やコメントを無視する
import re
regex = re.compile(r"""1行目    #コメント1
    2行目    #コメント2
    3行目)""", re.VERBOSE)

検索

見つからなければ None を返す
mo = regex.search("文字列")
 作成していない場合
import re
mo = re.search(r"パターン", "文字列")

 先頭が指定されたパターンのときだけマッチ

mo = regex.match("文字列")
 作成していない場合
import re
mo = re.match(r"パターン", "文字列")

 . でマッチする文字に改行を含める

import re
re.compile(正規表現, re.DOTALL)

 すべてを取得

matches = regex.findall("文字列")
グループなし
文字列のリスト
グループあり
グループのタプルのリスト

ex) [(グループ1, ...), ...]

検索結果の取得

全体
mo[0]
mo.group()
グループ
mo[インデックス]
mo.group(インデックス)
インデックスは1~

チェック

パターンが含まれる
if regex.search("文字列"):
import re
if re.search(r"パターン", "文字列"):
先頭がパターンと一致するか
if regex.match("文字列"):
import re
if re.match(r"パターン", "文字列"):
文字列.startswith() の正規表現版
完全一致
if regex.fullmatch("文字列"):
import re
if re.fullmatch("パターン", "文字列"):

置換

regex.sub(new, 文字列)
作成していない場合
import re
re.sub(r"パターン", new, 文字列)
回数を指定
regex.sub("置換", "文字列", count=数)
置換文字列内でグループにマッチした文字列を使う
 ex) グループ1
r"'\1"

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら