2017年5月2日火曜日

正規表現でよく使うパターンの覚え書き

ログの精査などで正規表現で特定文字列の抽出を行う際の頻出パターンのメモ書きです。

指定数文字以上の行に一致

^.{120,}$

指定した文字列を含む行に一致

^.*XYZ123.*$

指定した文字列を含まない行に一致

^((?!XYZ123).)*$

指定した文字列を削除

s / ^(.*)XYZ123(.*)$ / \1\2/;

YYYY/MM/DD 形式の日付表示に一致

(\d{4})/(\d\d)/(\d\d)

HTMLタグに一致

<(.*?)>

URLに一致

(http|https)://[A-Za-z0-9~!@$%&*()\-_=+';:?.,]+(:\d+)?(/?[A-Za-z0-9~!@$%&*()\-_=+';:/?.,])*

メールアドレスに一致

\b[a-z][0-9a-z_.\-\+]*@[0-9a-z.\-]+(\.[0-9a-z_.\-]+)*\.(com|net|org|edu|gov|mil|int|info|biz|name|pro|museum|aero|coop|jobs|travel|mobi|cat|tel|asia|xxx|[a-z][a-z])\b

IPv4アドレスに一致

^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$