メタ | 意味 | 使用例 | 説明 |
メタ以外の文字 | yasryu | そのまま表現される文字 | |
\ | 次の文字がメタ文字でないことを示す | \\ | 「\」を表現 |
. | 任意の1文字にマッチ(改行\n,\r、NULを除く) | y.u | yから始まってuで終わる3文字の文字列 |
[ ] |
指定された文字の中のいずれかにマッチ キャラクタクラス指定。1文字を指定する |
[13579] | 1桁の奇数 |
[3-7] | 3から7までの数字 | ||
[0-9A-F]{2} | 0-9とA-Fのいずれかの2文字(2桁の16進数) | ||
[^a-d] | abcd以外の1文字 | ||
[0-9] | 全角数字 | ||
[A-Z]+ | 全角英大文字列 | ||
[ぁ-ん] | ひらがな | ||
[ァ-ヴ] 又は[ァ-ヶ] | 全角カタカナ | ||
[ヲ-゚] | 半角カタカナ | ||
[一二三四五六七八九十壱弐参拾百千万萬億兆〇]+ | 漢数字列 | ||
[ -~] | 任意の1バイト文字(半角空白" "から"~"まで)にマッチ | ||
[亜-黑] | 漢字にマッチ | ||
( ) | グルーピング指定 | (ab) | ab ababab にマッチ。 |
* | 直前の文字の0個以上の繰り返しにマッチ 最長一致(複数のヒットパターンのうち、最長を採用) |
y.*u | yから始まってuで終わる3文字以上の文字列 |
{} | 量指定子 | {10} | 直前のパターンが10回連続 |
{3,} | 直前のパターンが3回以上連続 | ||
{,12} | 直前のパターンが12回以下連続 | ||
{4,9} | 直前のパターンが4から9回連続 | ||
$ | (パターンの末尾にある時のみ)行末にマッチ | 。$ | 行末の。 |
^ | (パターンの先頭にある時のみ)行頭にマッチ | ^○ | 行頭の○ |
\n (n:0-9) |
キャプチャ済の部分正規表現に対する後方参照 | ||
[:..:] | POSIX文字クラス表現 | [:alnum:] | アルファベットと数字。[0-9A-Za-z]と等価。 |
[:alpha:] | アルファベット。[A-Za-z]と等価。 | ||
[:blank:] | 空白orタブ。[△\t]と等価。 | ||
[:cntrl:] | 制御文字。[\x00-\x1F\x7F]と等価 | ||
[:digit:] | 10進数。[0-9]と等価 | ||
[:graph:] | 表示可能な文字。[0x21-0x7E]と等価 | ||
[:lower:] | アルファベットの小文字。[a-z]と等価 | ||
[:print:] | 印字可能な文字。[0x20-0x7E]と等価 | ||
[:punct:] | 句読点or記号。 | ||
[:space:] | 空白。[△\t\n\v\f\r]と等価 | ||
[:upper:] | アルファベットの大文字。[A-Z]と等価 | ||
[:xdigit:] | 16進数。[0-9a-fA-F]と等価 | ||
[:ascii:] | ascii。[\x00-\x7F]と等価 | ||
[:word:] | 単語文字。\wと等価 |
メタ | 意味 | 使用例 | 説明 |
| | パターンの論理和 | 大阪|東京 | 大阪または東京 |
+ | 直前の文字の1個以上の繰り返しにマッチ | y.+u | yから始まってuで終わる4文字以上の文字列 |
? | 直前の文字の0個(=1個もない)または1個にマッチ | abc? | ab又は、abc |
\ | エスケープキャラクタ |
\d | 半角数字 |
\D | 半角数字以外 | ||
\d{4} | 4桁の数字 | ||
\d{4,} | 4桁以上の数字 | ||
\d{,4} | 4桁以下の数字 | ||
\d{4,10} | 4~10桁の数字(最長一致) | ||
\d{4,10}? | 4~10桁の数字(最短一致) | ||
\u | 半角英大文字 | ||
\U | 半角英大文字以外 | ||
\l (※"l"は小文字のL) | 半角英小文字 | ||
\L | 半角英小文字以外 | ||
\n | 改行(\x0A) | ||
\r | キャリッジリターン(\x0D) | ||
\x20 | 半角スペース。\x<hex><hex>←文字コード | ||
\t | タブコード | ||
\s | 空白文字 | ||
\S | 空白文字以外 | ||
\w | 単語単位 | ||
\z | EOF(End Of File) 記号 (\x1A) | ||
\bam\b | amという単語。前後に空白。 | ||
\Bam\B | 単語の途中にあるam。前後に空白なし。 | ||
(? | 拡張構文 | sam(?=ple) | sampleの中のsam |
sam(?=ple|ba) | sampleかsambaの中のsam | ||
sam(?!ple) | 後ろが「ple」ではない「sam」 | ||
(?<=sam)ple | sampleの中のple | ||
(?<=sam|ap)ple | sampleかappleの中のple | ||
(?<!sam|ap)ple | 前が「sam」か「ap」以外の「ple」 | ||
(?i)sample | sampleという文字列(大文字小文字同一視) | ||
(?i)sam(?-i)ple | sampleという文字列(samは大小文字同一視、pleは小文字限定) |
やりたいこと | 正規表現 | 備考 |
桁区切りのカンマ付数字列 | \b\d{1,3}(,\d{3})*\b | |
価格(先頭が「\」の桁区切り付数字列) | \\\d{1,3}(,\d{3})*\b | |
whで始まる3文字以上の単語 | \b[Ww]h.+?\b | |
数字列 | \d+ | |
郵便番号 | (〒|ZIP:)\d{3}-\d{4} | |
電話番号 | 0\d{1,4}-\d{1,4}-\d{4} | |
携帯電話番号(ハイフンなし) | 0[89]0\d{8} | |
メールアドレス | [\w.\-]+@[\w\-]+\.[\w.\-]+ | |
URL(ホームページアドレス) | https?://[\w/:%#\$&\?\(\)~\.=\+\-]+ | |
日付 | \d{4}[/\.年]\d{1,2}[/\.月]\d{1,2}日? | |
見出しタグ開始(h1~h3まで) | <[hH][1-3].*?> | |
見出しタグ終了(h1~h3まで) | </[hH][1-3]> | |
半角スペースかタブコードの繰り返し | [\x20\t]+ | |
奇数 | \d*[13579]\b | |
半角英文字 | [\u\l] (※"l"は小文字のL) | |
半角英字以外 | [^\u\l] (※"l"は小文字のL) | |
英単語(半角英文字列) | \b[\u\l]+\b (※"l"は小文字のL) | |
半角英数字 | [\u\l\d] (※"l"は小文字のL) | |
大阪府または大阪市 | 大阪(府|市) | |
行頭の半角スペースの連続 | ^\x20+ | |
空白行 | ^\n | |
なんでも | .* | |
行全体 | ^.*$ | |
2つのキーワードを含む行を抽出する。 ①sUnitNo②== |
^(?=.*sUnitNo)|(?=.*==).*$ | |
N1又はV1にマッチ | [NV]1 | |
【置換】 コメント/*~*/の除去 |
s:/\*.*?\*/::sg s:/\*+[^*]*(\*^/]|[^*)*\*+/::sg |
|
【置換】 パス名からファイル名部分だけ |
S/^.*\/// ←Linux S/^.*\\// ←Windows形式 |
|
【置換】 ファイル名から拡張子を除去 |
S/\..*$// ←すべての拡張子を削除 S/\.[^.]*$// ←最後の拡張子だけ削除 |
|
【置換】 「yas」を「ryu」に置換 |
変更前で、()で指定することで、変更後の塊として指定できる。 変更前:(^.*)yas(.*) 変更後:$1ryu$2 |