it技術:正規表現
文書の過去の版を表示しています。
正規表現
概要
正規表現とは、文字列内で文字の組み合わせを照合するために用いられるパターンです。
参照:正規表現
例えば携帯電話の番号
090-1234-5678
080-2011-0702
etc…
3桁の数字-4桁の数字-4桁の数字
正規表現を使うと、1つの正規表現で全ての電話番号が検索ができる。
\d{3}-\d{4}-\d{4}
正規表現で使用する特殊文字
下記の特殊文字をメタ文字といいます。
メタ文字を単なる普通の文字として検索したい場合は、メタ文字の前に「\」を付加します。
. ^ $ [ ] * + ? | ( )
文字クラスの略記法
良く使われる文字クラスには省略記法が存在します。
- \w 単語構成文字 [a-zA-Z0-9_]
- \W 非単語構成文字 [^a-zA-Z0-9_]
- \s 空白文字 [ \t\r\n\f\v]
- \S 非空白文字 [^ \t\r\n\f\v]
- \d 10進数字 [0-9]
- \D 非10進数字 [^0-9]
- \h 16進数字 [0-9a-fA-F]
- \H 非16進数字 [^0-9a-fA-F]
これらの「空白」「数字」などは ASCII の範囲の文字のみを対象としています。 いわゆる「全角アルファベット」「全角空白」「全角数字」などは ここの空白、数字、には含まれません。
説明
[slideshare id=14525756&doc=regularexpression-120930100316-phpapp02]
覚えておくといいこと
最長マッチと最短マッチ
「.*」 … なんでもいい文字の連続(最長)
正規表現 JR.*駅
対象文字 JR静岡駅から浜松駅まで
※可能な限り合致するまでヒットする
「.*?」 … なんでもいい文字の連続(最短)
正規表現 JR.*?駅
対象文字 JR静岡駅から浜松駅まで
※可能な限り少ない回数でヒットする
後方参照
正規表現を使って置換をする場合、正規表現でマッチした内容をそのまま使用したい場合がある、その場合に後方参照を使用する。
後方参照は、正規表現にて括弧で括られた分を「$」の後の数値を付けて「$1」などと記述する。
対象文字列 1234567890 正規表現 (\d\d\d\d)(\d\d)(\d\d\d\d) 置換文字列 $3-$1-$2 $1 = 1234 $2 = 56 $3 = 7890 結果 7890-1234-56
参照
it技術/正規表現.1490865633.txt.gz · 最終更新: 2017/03/30 18:20 by yajuadmin