正規表現

htaccess限定ではないけど正規表現の基本的な事のまとめ。

メタ文字を普通の文字として検索する時はメタ文字の前に「¥」を付ける。

例)
¥¥、¥.、¥^、¥*、¥?など

「.」
なんでもよい1文字。

例)
正規表現 私は.です。
検索文字列例 私はAです。
私は男です。
私は1です。

「^」「$」
行の先頭と最後。

例)「^」
正規表現 ^こんにちは
検索文字列例 こんにちはと言った。
こんにちはabc。
例)「$」
正規表現 こんにちは$
検索文字列例 おはようこんにちは
5963こんにちは

「*」「+」「?」
同じ文字の繰り返し。
「*」直前の文字が無いか1つ以上連続。
「+」直前の文字が1つ以上連続。
「?」直前の文字が無いか1つだけある。

例)「*」
正規表現 おー*い
検索文字列例 おい
おーーい
おーーーーーい
例)「+」
正規表現 おー+い
検索文字列例 おーい
おーーい
おーーーーーい
例)「?」
正規表現 おー?い
検索文字列例 おい
おーい

「.*」
なんでも良い文字が全く無いか、なんでも良い文字の連続。

例)
正規表現 今は.*だ
検索文字列例 今はだ
今は大変だ
今は忙しくて疲れてるから大変だ

「|」
区切られた文字列のどれか。

例)
正規表現 リンゴ|みかん|すいか
検索文字列例 リンゴ
みかん
すいか

「[]」
指定した文字のどれか。

例)
正規表現 この色は[赤青黄]です
検索文字列例 この色は赤です
この色は青です
この色は黄です

全ての大文字アルファベット(A~Z)や、全ての数字(0~9)を指定したい時は、
[ABCDEFGHIJKLMNOPQRSTUVWXYZ]や[0123456789]とすればできるけど、
もっと簡単に指定する方法がある。

[ABCDEFGHIJKLMNOPQRSTUVWXYZ]→[A-Z]
[0123456789]→[0-9]

例)[A-Z]
正規表現 これは[A-Z]です
検索文字列例 これはAです
これはDです
これはZです
例)[0-9]
正規表現 数値は[0-9]です
検索文字列例 数値は0です
数値は5です
数値は9です

連続して書く事も可能で指定文字列を増やせる。下記の例だと半角大文字アルファベットと数字を指定している。

例)[A-Z0-9]
正規表現 これは[A-Z0-9]です
検索文字列例 これは4です
これはYです
これは8です

逆に指定してる文字列以外を指定する事もできる。

[^A-Z]→半角大文字アルファベット以外を指定
[^0-9]→数字以外を指定

この方法も連続して書く事ができる。

[^A-Z0-9]→半角大文字アルファベットと数字以外を指定。

※ひらがななどは注意が必要。JIS漢字コードの並び順にしたがっている。

[ ]内ではメタ文字は普通の文字として認識される。

例)[.*]
正規表現 これは[.*]です
検索文字列例 これは.です
これは*です

^(否定)を普通の文字と認識させるには注意が必要。先頭に書くと単純に否定の意味になってしまう。

[^^A]→^とA以外の文字

「()」
グループ化。()内の文字列を1つと見なす。

例)
正規表現 (これ)+です
検索文字列例 これです
これこれです
これこれこれこれです

グループ化「()」の中に「|」がある場合はまず「()」を先に処理する。

例)(|)
正規表現 そう言えば(今日|明日)は月曜日です
検索文字列例 そう言えば今日は月曜日です
そう言えば明日は月曜日です

シェアする

  • このエントリーをはてなブックマークに追加

フォローする