出典

著者Jan Goyvaerts
Steven Levitban
訳者長尾 高弘
出版社オライリージャパン

オンラインテスト
正規表現パズル
正規表現クイズ

メタキャラクタ

行頭.文字列の先頭や改行文字の直後にマッチする.アンカーPerlでは改行を含む文字列の場合,「m」オプションが必要
$行末.文字列の末尾や改行文字の直前にマッチする任意文字.改行以外の任意の文字にマッチする.複数行モードの場合は改行にもマッチする.アンカー
.任意文字.改行以外の任意の文字にマッチする.複数行モードの場合は改行にもマッチする
\w英数字およびアンダースコア.漢字,仮名はNG
\W\w以外の任意の一文字
\s空白文字.スペース,タブ,改行,復帰,垂直タブとマッチする
\S\s以外の任意の一文字
\d数字.0から9までの1文字にマッチする
\D\d以外の任意の一文字
\A文字列先頭.改行の直後にはマッチしない.(文字列の最初の1文字のみ).アンカー
\Z文字列末尾.文字列の最後が改行ならその直前にもマッチする.(/お\Z/は"お"にも"お\n"にもマッチ).アンカー
\z文字列末尾.改行には関知しない.(/お\Z/は"お"にはマッチするが,"お\n"にはマッチしない).アンカー
\b語境界.\wで構成される部分とそうでない部分の境界にマッチする.(文字クラス[]のなかではバックスラッシュとして解釈される) .アンカー
\B\b以外の位置にマッチする.アンカー
\G???前回マッチした場所の直後の位置にマッチ.ただし最初のマッチが行われる前に\Aにマッチする.
[]文字クラス.括弧内に列挙した文字のいずれかにマッチする.
*量子化指定子.直前のパターンの0回以上の繰り返し
?量子化指定子.直前のパターンの0回以上のできるだけ短い繰り返し
+量子化指定子.直前のパターンの1回以上の繰り返し
+?量子化指定子.直前のパターンの1回以上のできるだけ短い繰り返し
{m}量子化指定子.直前のパターンのm回の繰り返し
{m,}量子化指定子.直前のパターンのm回以上の繰り返し
{m,n}量子化指定子.直前のパターンのm回以上n回以下の繰り返し
{m}?量子化指定子.直前のパターンのm回のできるだけ短い繰り返し
{m,}?量子化指定子.直前のパターンのm回以上のできるだけ短い繰り返し
{m,n}?量子化指定子.直前のパターンのm回以上n回以下のできるだけ短い繰り返し
?量子化指定子.直前のパターンの0回または1回の繰り返し
??量子化指定子.直前のパターンの0回または1回の出るだけ短い繰り返し
選択.左右のパターンのいずれかにマッチするものにマッチする.
()キャプチャ付グループ化.パターンを括って量子化指定子や選択の優先順位を指定すると共に,括弧内にマッチした場合は後方参照やキャプチャ変数で利用できる
\1,\2,...後方参照
(?#)コメント.括弧内は無視される.
(?:)キャプチャなしグループ化
(?<=)後読み.パターンによる位置指定.(?<=re1)re2はパターンre1とre2の両方にマッチするような文字列にマッチする.
(?=)???先読み.パターンによる位置指定.(?=re1)re2はパターンre1とre2の両方にマッチするような文字列にマッチする.
(?!)???否定先読み.パターンによる位置指定.(?!re1)re2はパターンre1にはマッチしないがre2にはマッチするような文字列にマッチする.
(?i)正規表現内で部分的に正規表現オプションのon/offを切り替える
(?x)
(?m)
(?-i)
(?-x)
(?-m)

アンカーとは

文字にはマッチせず,特定の位置にマッチする.

オプション

i大文字小文字を区別しない
m複数行モード「.」が改行文字にもマッチするPerlでは「s」
x正規表現中のホワイトスペースを無視する.また,#から改行までをコメントとみなして無視する.
nエンコーディング無関知.文字列を単なるバイト列として扱う.
uUTF-8.文字列をUTF−8でエンコーディングされているものとして扱う.
sShift_JIS.文字列をShift_JISでエンコーディングされているものとして扱う.
eEUC-JP.文字列をEUC-JPでエンコーディングされているものとして扱う.

Perlのオプションについて

s単一行モード(ドットで改行にマッチモード)正規表現「.」にだけ影響
m複数行モード(^と$で改行にマッチモード)正規表現「^」と「$」にだけ影響

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます