1
1

More than 3 years have passed since last update.

正規表現 メタ文字列とリテラル、メタ文字とエスケープ

Last updated at Posted at 2019-11-24

正規表現の文法には、正規表現内で特別な働きをする文字列と、それ以外の その文字列そのものにマッチするような文字列があります。 前者をメタ文字列(meta string)、後者をリテラル(文字列)(literal string)と呼びます。

/京都|大阪|神戸/
という正規表現においては、「京都」「大阪」「神戸」がリテラルで、 2つの「|」がメタ文字列です。

以下の文字は「メタ文字」(meta character) と呼ばれる、正規表現内で特殊な働きをする文字です。

( ) [ ] { } . ? + * | \
これらの文字をリテラルのようにその文字としてマッチさせるためには、 バックスラッシュ「\」を前に付けます。「\」はバックスラッシュ1文字に マッチします。

メタ文字以外の文字も、メタ文字に続けて置くことで特別な働きをするよう になる場合があります。つまりメタ文字列を構成します。例えば

/[a-z]/
/\Axyz\Z/
という正規表現において "[a-z]", "\A", "\Z"はメタ文字列です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1