Source of: /manual/en/regexp.reference.meta.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/reference.pcre.pattern.syntax.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'en',
),
'this' =>
array (
0 => 'regexp.reference.meta.php',
1 => 'Meta-characters',
),
'up' =>
array (
0 => 'reference.pcre.pattern.syntax.php',
1 => 'Pattern Syntax',
),
'prev' =>
array (
0 => 'regexp.introduction.php',
1 => 'Introduction',
),
'next' =>
array (
0 => 'regexp.reference.backslash.php',
1 => 'Backslash',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="regexp.reference.meta" class="section">
<h2 class="title">Meta-characters</h2>
<p class="para">
The power of regular expressions comes from the
ability to include alternatives and repetitions in the
pattern. These are encoded in the pattern by the use of
<em class="emphasis">meta-characters</em>, which do not stand for themselves but instead
are interpreted in some special way.
</p>
<p class="para">
There are two different sets of meta-characters: those that
are recognized anywhere in the pattern except within square
brackets, and those that are recognized in square brackets.
Outside square brackets, the meta-characters are as follows:
</p><dl>
<dt class="varlistentry">
<span class="term"><em class="emphasis">\</em></span>
</dt><dd class="listitem">
<span class="simpara">general escape character with several uses</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">^</em></span>
</dt><dd class="listitem">
<span class="simpara">assert start of subject (or line, in multiline mode)</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">$</em></span>
</dt><dd class="listitem">
<span class="simpara">assert end of subject (or line, in multiline mode)</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">.</em></span>
</dt><dd class="listitem">
<span class="simpara">match any character except newline (by default)</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">[</em></span>
</dt><dd class="listitem">
<span class="simpara">start character class definition</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">]</em></span>
</dt><dd class="listitem">
<span class="simpara">end character class definition</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">|</em></span>
</dt><dd class="listitem">
<span class="simpara">start of alternative branch</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">(</em></span>
</dt><dd class="listitem">
<span class="simpara">start subpattern</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">)</em></span>
</dt><dd class="listitem">
<span class="simpara">end subpattern</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">?</em></span>
</dt><dd class="listitem">
<span class="simpara">extends the meaning of (, also 0 or 1 quantifier, also quantifier minimizer</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">*</em></span>
</dt><dd class="listitem">
<span class="simpara">0 or more quantifier</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">+</em></span>
</dt><dd class="listitem">
<span class="simpara">1 or more quantifier</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">{</em></span>
</dt><dd class="listitem">
<span class="simpara">start min/max quantifier</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">}</em></span>
</dt><dd class="listitem">
<span class="simpara">end min/max quantifier</span></dd>
</dl>
<p>
Part of a pattern that is in square brackets is called a
"character class". In a character class the only
meta-characters are:
</p><dl>
<dt class="varlistentry">
<span class="term"><em class="emphasis">\</em></span>
</dt><dd class="listitem">
<span class="simpara">general escape character</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">^</em></span>
</dt><dd class="listitem">
<span class="simpara">negate the class, but only if the first character</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">-</em></span>
</dt><dd class="listitem">
<span class="simpara">indicates character range</span></dd>
<dt class="varlistentry">
<span class="term"><em class="emphasis">]</em></span>
</dt><dd class="listitem">
<span class="simpara">terminates the character class</span></dd>
</dl>
<p>
The following sections describe the use of each of the
meta-characters.
</p>
</div><?php manual_footer(); ?>