1*ccdc9c3eSSadaf Ebrahimi<html> 2*ccdc9c3eSSadaf Ebrahimi<!-- AUTOMATICALLY GENERATED by mksyntaxhtml --> 3*ccdc9c3eSSadaf Ebrahimi<head> 4*ccdc9c3eSSadaf Ebrahimi<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 5*ccdc9c3eSSadaf Ebrahimi<title>RE2 regular expression syntax reference</title> 6*ccdc9c3eSSadaf Ebrahimi</head> 7*ccdc9c3eSSadaf Ebrahimi<body> 8*ccdc9c3eSSadaf Ebrahimi<h1>RE2 regular expression syntax reference</h1> 9*ccdc9c3eSSadaf Ebrahimi 10*ccdc9c3eSSadaf Ebrahimi<table border=0 cellpadding=2 cellspacing=2> 11*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2>This page lists the regular expression syntax accepted by RE2.</td></tr> 12*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2>It also lists syntax accepted by PCRE, PERL, and VIM.</td></tr> 13*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2>Grayed out expressions are not supported by RE2.</td></tr> 14*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 15*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Single characters:</b></td></tr> 16*ccdc9c3eSSadaf Ebrahimi<tr><td><code>.</code></td><td>any character, possibly including newline (s=true)</td></tr> 17*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[xyz]</code></td><td>character class</td></tr> 18*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[^xyz]</code></td><td>negated character class</td></tr> 19*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\d</code></td><td>Perl character class</td></tr> 20*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\D</code></td><td>negated Perl character class</td></tr> 21*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:alpha:]]</code></td><td>ASCII character class</td></tr> 22*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:^alpha:]]</code></td><td>negated ASCII character class</td></tr> 23*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\pN</code></td><td>Unicode character class (one-letter name)</td></tr> 24*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\p{Greek}</code></td><td>Unicode character class</td></tr> 25*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\PN</code></td><td>negated Unicode character class (one-letter name)</td></tr> 26*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\P{Greek}</code></td><td>negated Unicode character class</td></tr> 27*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 28*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Composites:</b></td></tr> 29*ccdc9c3eSSadaf Ebrahimi<tr><td><code>xy</code></td><td><code>x</code> followed by <code>y</code></td></tr> 30*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x|y</code></td><td><code>x</code> or <code>y</code> (prefer <code>x</code>)</td></tr> 31*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 32*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Repetitions:</b></td></tr> 33*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x*</code></td><td>zero or more <code>x</code>, prefer more</td></tr> 34*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x+</code></td><td>one or more <code>x</code>, prefer more</td></tr> 35*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x?</code></td><td>zero or one <code>x</code>, prefer one</td></tr> 36*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x{n,m}</code></td><td><code>n</code> or <code>n</code>+1 or ... or <code>m</code> <code>x</code>, prefer more</td></tr> 37*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x{n,}</code></td><td><code>n</code> or more <code>x</code>, prefer more</td></tr> 38*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x{n}</code></td><td>exactly <code>n</code> <code>x</code></td></tr> 39*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x*?</code></td><td>zero or more <code>x</code>, prefer fewer</td></tr> 40*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x+?</code></td><td>one or more <code>x</code>, prefer fewer</td></tr> 41*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x??</code></td><td>zero or one <code>x</code>, prefer zero</td></tr> 42*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x{n,m}?</code></td><td><code>n</code> or <code>n</code>+1 or ... or <code>m</code> <code>x</code>, prefer fewer</td></tr> 43*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x{n,}?</code></td><td><code>n</code> or more <code>x</code>, prefer fewer</td></tr> 44*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x{n}?</code></td><td>exactly <code>n</code> <code>x</code></td></tr> 45*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>x{}</font></code></td><td>(≡ <code>x*</code>) <font size=-2>VIM</font></td></tr> 46*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>x{-}</font></code></td><td>(≡ <code>x*?</code>) <font size=-2>VIM</font></td></tr> 47*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>x{-n}</font></code></td><td>(≡ <code>x{n}?</code>) <font size=-2>VIM</font></td></tr> 48*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>x=</font></code></td><td>(≡ <code>x?</code>) <font size=-2>VIM</font></td></tr> 49*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 50*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Possessive repetitions:</b></td></tr> 51*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>x*+</font></code></td><td>zero or more <code>x</code>, possessive </td></tr> 52*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>x++</font></code></td><td>one or more <code>x</code>, possessive </td></tr> 53*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>x?+</font></code></td><td>zero or one <code>x</code>, possessive </td></tr> 54*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>x{n,m}+</font></code></td><td><code>n</code> or ... or <code>m</code> <code>x</code>, possessive </td></tr> 55*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>x{n,}+</font></code></td><td><code>n</code> or more <code>x</code>, possessive </td></tr> 56*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>x{n}+</font></code></td><td>exactly <code>n</code> <code>x</code>, possessive </td></tr> 57*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 58*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Grouping:</b></td></tr> 59*ccdc9c3eSSadaf Ebrahimi<tr><td><code>(re)</code></td><td>numbered capturing group</td></tr> 60*ccdc9c3eSSadaf Ebrahimi<tr><td><code>(?P<name>re)</code></td><td>named & numbered capturing group</td></tr> 61*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?<name>re)</font></code></td><td>named & numbered capturing group </td></tr> 62*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?'name're)</font></code></td><td>named & numbered capturing group </td></tr> 63*ccdc9c3eSSadaf Ebrahimi<tr><td><code>(?:re)</code></td><td>non-capturing group</td></tr> 64*ccdc9c3eSSadaf Ebrahimi<tr><td><code>(?flags)</code></td><td>set flags within current group; non-capturing</td></tr> 65*ccdc9c3eSSadaf Ebrahimi<tr><td><code>(?flags:re)</code></td><td>set flags during re; non-capturing</td></tr> 66*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?#text)</font></code></td><td>comment </td></tr> 67*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?|x|y|z)</font></code></td><td>branch numbering reset </td></tr> 68*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?>re)</font></code></td><td>possessive match of <code>re</code> </td></tr> 69*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>re@></font></code></td><td>possessive match of <code>re</code> <font size=-2>VIM</font></td></tr> 70*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>%(re)</font></code></td><td>non-capturing group <font size=-2>VIM</font></td></tr> 71*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 72*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Flags:</b></td></tr> 73*ccdc9c3eSSadaf Ebrahimi<tr><td><code>i</code></td><td>case-insensitive (default false)</td></tr> 74*ccdc9c3eSSadaf Ebrahimi<tr><td><code>m</code></td><td>multi-line mode: <code>^</code> and <code>$</code> match begin/end line in addition to begin/end text (default false)</td></tr> 75*ccdc9c3eSSadaf Ebrahimi<tr><td><code>s</code></td><td>let <code>.</code> match <code>\n</code> (default false)</td></tr> 76*ccdc9c3eSSadaf Ebrahimi<tr><td><code>U</code></td><td>ungreedy: swap meaning of <code>x*</code> and <code>x*?</code>, <code>x+</code> and <code>x+?</code>, etc (default false)</td></tr> 77*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2>Flag syntax is <code>xyz</code> (set) or <code>-xyz</code> (clear) or <code>xy-z</code> (set <code>xy</code>, clear <code>z</code>).</td></tr> 78*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 79*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Empty strings:</b></td></tr> 80*ccdc9c3eSSadaf Ebrahimi<tr><td><code>^</code></td><td>at beginning of text or line (<code>m</code>=true)</td></tr> 81*ccdc9c3eSSadaf Ebrahimi<tr><td><code>$</code></td><td>at end of text (like <code>\z</code> not <code>\Z</code>) or line (<code>m</code>=true)</td></tr> 82*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\A</code></td><td>at beginning of text</td></tr> 83*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\b</code></td><td>at word boundary (<code>\w</code> on one side and <code>\W</code>, <code>\A</code>, or <code>\z</code> on the other)</td></tr> 84*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\B</code></td><td>not a word boundary</td></tr> 85*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\G</font></code></td><td>at beginning of subtext being searched <font size=-2>PCRE</font></td></tr> 86*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\G</font></code></td><td>at end of last match <font size=-2>PERL</font></td></tr> 87*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\Z</font></code></td><td>at end of text, or before newline at end of text </td></tr> 88*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\z</code></td><td>at end of text</td></tr> 89*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?=re)</font></code></td><td>before text matching <code>re</code> </td></tr> 90*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?!re)</font></code></td><td>before text not matching <code>re</code> </td></tr> 91*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?<=re)</font></code></td><td>after text matching <code>re</code> </td></tr> 92*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?<!re)</font></code></td><td>after text not matching <code>re</code> </td></tr> 93*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>re&</font></code></td><td>before text matching <code>re</code> <font size=-2>VIM</font></td></tr> 94*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>re@=</font></code></td><td>before text matching <code>re</code> <font size=-2>VIM</font></td></tr> 95*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>re@!</font></code></td><td>before text not matching <code>re</code> <font size=-2>VIM</font></td></tr> 96*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>re@<=</font></code></td><td>after text matching <code>re</code> <font size=-2>VIM</font></td></tr> 97*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>re@<!</font></code></td><td>after text not matching <code>re</code> <font size=-2>VIM</font></td></tr> 98*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\zs</font></code></td><td>sets start of match (= \K) <font size=-2>VIM</font></td></tr> 99*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\ze</font></code></td><td>sets end of match <font size=-2>VIM</font></td></tr> 100*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%^</font></code></td><td>beginning of file <font size=-2>VIM</font></td></tr> 101*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%$</font></code></td><td>end of file <font size=-2>VIM</font></td></tr> 102*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%V</font></code></td><td>on screen <font size=-2>VIM</font></td></tr> 103*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%#</font></code></td><td>cursor position <font size=-2>VIM</font></td></tr> 104*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%'m</font></code></td><td>mark <code>m</code> position <font size=-2>VIM</font></td></tr> 105*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%23l</font></code></td><td>in line 23 <font size=-2>VIM</font></td></tr> 106*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%23c</font></code></td><td>in column 23 <font size=-2>VIM</font></td></tr> 107*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%23v</font></code></td><td>in virtual column 23 <font size=-2>VIM</font></td></tr> 108*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 109*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Escape sequences:</b></td></tr> 110*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\a</code></td><td>bell (≡ <code>\007</code>)</td></tr> 111*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\f</code></td><td>form feed (≡ <code>\014</code>)</td></tr> 112*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\t</code></td><td>horizontal tab (≡ <code>\011</code>)</td></tr> 113*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\n</code></td><td>newline (≡ <code>\012</code>)</td></tr> 114*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\r</code></td><td>carriage return (≡ <code>\015</code>)</td></tr> 115*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\v</code></td><td>vertical tab character (≡ <code>\013</code>)</td></tr> 116*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\*</code></td><td>literal <code>*</code>, for any punctuation character <code>*</code></td></tr> 117*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\123</code></td><td>octal character code (up to three digits)</td></tr> 118*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\x7F</code></td><td>hex character code (exactly two digits)</td></tr> 119*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\x{10FFFF}</code></td><td>hex character code</td></tr> 120*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\C</code></td><td>match a single byte even in UTF-8 mode</td></tr> 121*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\Q...\E</code></td><td>literal text <code>...</code> even if <code>...</code> has punctuation</td></tr> 122*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 123*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\1</font></code></td><td>backreference </td></tr> 124*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\b</font></code></td><td>backspace (use <code>\010</code>)</td></tr> 125*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\cK</font></code></td><td>control char ^K (use <code>\001</code> etc)</td></tr> 126*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\e</font></code></td><td>escape (use <code>\033</code>)</td></tr> 127*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\g1</font></code></td><td>backreference </td></tr> 128*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\g{1}</font></code></td><td>backreference </td></tr> 129*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\g{+1}</font></code></td><td>backreference </td></tr> 130*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\g{-1}</font></code></td><td>backreference </td></tr> 131*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\g{name}</font></code></td><td>named backreference </td></tr> 132*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\g<name></font></code></td><td>subroutine call </td></tr> 133*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\g'name'</font></code></td><td>subroutine call </td></tr> 134*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\k<name></font></code></td><td>named backreference </td></tr> 135*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\k'name'</font></code></td><td>named backreference </td></tr> 136*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\lX</font></code></td><td>lowercase <code>X</code> </td></tr> 137*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\ux</font></code></td><td>uppercase <code>x</code> </td></tr> 138*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\L...\E</font></code></td><td>lowercase text <code>...</code> </td></tr> 139*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\K</font></code></td><td>reset beginning of <code>$0</code> </td></tr> 140*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\N{name}</font></code></td><td>named Unicode character </td></tr> 141*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\R</font></code></td><td>line break </td></tr> 142*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\U...\E</font></code></td><td>upper case text <code>...</code> </td></tr> 143*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\X</font></code></td><td>extended Unicode sequence </td></tr> 144*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 145*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%d123</font></code></td><td>decimal character 123 <font size=-2>VIM</font></td></tr> 146*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%xFF</font></code></td><td>hex character FF <font size=-2>VIM</font></td></tr> 147*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%o123</font></code></td><td>octal character 123 <font size=-2>VIM</font></td></tr> 148*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%u1234</font></code></td><td>Unicode character 0x1234 <font size=-2>VIM</font></td></tr> 149*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\%U12345678</font></code></td><td>Unicode character 0x12345678 <font size=-2>VIM</font></td></tr> 150*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 151*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Character class elements:</b></td></tr> 152*ccdc9c3eSSadaf Ebrahimi<tr><td><code>x</code></td><td>single character</td></tr> 153*ccdc9c3eSSadaf Ebrahimi<tr><td><code>A-Z</code></td><td>character range (inclusive)</td></tr> 154*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\d</code></td><td>Perl character class</td></tr> 155*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[:foo:]</code></td><td>ASCII character class <code>foo</code></td></tr> 156*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\p{Foo}</code></td><td>Unicode character class <code>Foo</code></td></tr> 157*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\pF</code></td><td>Unicode character class <code>F</code> (one-letter name)</td></tr> 158*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 159*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Named character classes as character class elements:</b></td></tr> 160*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[\d]</code></td><td>digits (≡ <code>\d</code>)</td></tr> 161*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[^\d]</code></td><td>not digits (≡ <code>\D</code>)</td></tr> 162*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[\D]</code></td><td>not digits (≡ <code>\D</code>)</td></tr> 163*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[^\D]</code></td><td>not not digits (≡ <code>\d</code>)</td></tr> 164*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:name:]]</code></td><td>named ASCII class inside character class (≡ <code>[:name:]</code>)</td></tr> 165*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[^[:name:]]</code></td><td>named ASCII class inside negated character class (≡ <code>[:^name:]</code>)</td></tr> 166*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[\p{Name}]</code></td><td>named Unicode property inside character class (≡ <code>\p{Name}</code>)</td></tr> 167*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[^\p{Name}]</code></td><td>named Unicode property inside negated character class (≡ <code>\P{Name}</code>)</td></tr> 168*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 169*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Perl character classes:</b></td></tr> 170*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\d</code></td><td>digits (≡ <code>[0-9]</code>)</td></tr> 171*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\D</code></td><td>not digits (≡ <code>[^0-9]</code>)</td></tr> 172*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\s</code></td><td>whitespace (≡ <code>[\t\n\f\r ]</code>)</td></tr> 173*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\S</code></td><td>not whitespace (≡ <code>[^\t\n\f\r ]</code>)</td></tr> 174*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\w</code></td><td>word characters (≡ <code>[0-9A-Za-z_]</code>)</td></tr> 175*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\W</code></td><td>not word characters (≡ <code>[^0-9A-Za-z_]</code>)</td></tr> 176*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 177*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\h</font></code></td><td>horizontal space </td></tr> 178*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\H</font></code></td><td>not horizontal space </td></tr> 179*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\v</font></code></td><td>vertical space </td></tr> 180*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\V</font></code></td><td>not vertical space </td></tr> 181*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 182*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>ASCII character classes:</b></td></tr> 183*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:alnum:]]</code></td><td>alphanumeric (≡ <code>[0-9A-Za-z]</code>)</td></tr> 184*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:alpha:]]</code></td><td>alphabetic (≡ <code>[A-Za-z]</code>)</td></tr> 185*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:ascii:]]</code></td><td>ASCII (≡ <code>[\x00-\x7F]</code>)</td></tr> 186*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:blank:]]</code></td><td>blank (≡ <code>[\t ]</code>)</td></tr> 187*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:cntrl:]]</code></td><td>control (≡ <code>[\x00-\x1F\x7F]</code>)</td></tr> 188*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:digit:]]</code></td><td>digits (≡ <code>[0-9]</code>)</td></tr> 189*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:graph:]]</code></td><td>graphical (≡ <code>[!-~] == [A-Za-z0-9!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]</code>)</td></tr> 190*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:lower:]]</code></td><td>lower case (≡ <code>[a-z]</code>)</td></tr> 191*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:print:]]</code></td><td>printable (≡ <code>[ -~] == [ [:graph:]]</code>)</td></tr> 192*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:punct:]]</code></td><td>punctuation (≡ <code>[!-/:-@[-`{-~]</code>)</td></tr> 193*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:space:]]</code></td><td>whitespace (≡ <code>[\t\n\v\f\r ]</code>)</td></tr> 194*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:upper:]]</code></td><td>upper case (≡ <code>[A-Z]</code>)</td></tr> 195*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:word:]]</code></td><td>word characters (≡ <code>[0-9A-Za-z_]</code>)</td></tr> 196*ccdc9c3eSSadaf Ebrahimi<tr><td><code>[[:xdigit:]]</code></td><td>hex digit (≡ <code>[0-9A-Fa-f]</code>)</td></tr> 197*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 198*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Unicode character class names--general category:</b></td></tr> 199*ccdc9c3eSSadaf Ebrahimi<tr><td><code>C</code></td><td>other</td></tr> 200*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Cc</code></td><td>control</td></tr> 201*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Cf</code></td><td>format</td></tr> 202*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>Cn</font></code></td><td>unassigned code points </td></tr> 203*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Co</code></td><td>private use</td></tr> 204*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Cs</code></td><td>surrogate</td></tr> 205*ccdc9c3eSSadaf Ebrahimi<tr><td><code>L</code></td><td>letter</td></tr> 206*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>LC</font></code></td><td>cased letter </td></tr> 207*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>L&</font></code></td><td>cased letter </td></tr> 208*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Ll</code></td><td>lowercase letter</td></tr> 209*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Lm</code></td><td>modifier letter</td></tr> 210*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Lo</code></td><td>other letter</td></tr> 211*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Lt</code></td><td>titlecase letter</td></tr> 212*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Lu</code></td><td>uppercase letter</td></tr> 213*ccdc9c3eSSadaf Ebrahimi<tr><td><code>M</code></td><td>mark</td></tr> 214*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Mc</code></td><td>spacing mark</td></tr> 215*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Me</code></td><td>enclosing mark</td></tr> 216*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Mn</code></td><td>non-spacing mark</td></tr> 217*ccdc9c3eSSadaf Ebrahimi<tr><td><code>N</code></td><td>number</td></tr> 218*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Nd</code></td><td>decimal number</td></tr> 219*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Nl</code></td><td>letter number</td></tr> 220*ccdc9c3eSSadaf Ebrahimi<tr><td><code>No</code></td><td>other number</td></tr> 221*ccdc9c3eSSadaf Ebrahimi<tr><td><code>P</code></td><td>punctuation</td></tr> 222*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Pc</code></td><td>connector punctuation</td></tr> 223*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Pd</code></td><td>dash punctuation</td></tr> 224*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Pe</code></td><td>close punctuation</td></tr> 225*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Pf</code></td><td>final punctuation</td></tr> 226*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Pi</code></td><td>initial punctuation</td></tr> 227*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Po</code></td><td>other punctuation</td></tr> 228*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Ps</code></td><td>open punctuation</td></tr> 229*ccdc9c3eSSadaf Ebrahimi<tr><td><code>S</code></td><td>symbol</td></tr> 230*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Sc</code></td><td>currency symbol</td></tr> 231*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Sk</code></td><td>modifier symbol</td></tr> 232*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Sm</code></td><td>math symbol</td></tr> 233*ccdc9c3eSSadaf Ebrahimi<tr><td><code>So</code></td><td>other symbol</td></tr> 234*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Z</code></td><td>separator</td></tr> 235*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Zl</code></td><td>line separator</td></tr> 236*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Zp</code></td><td>paragraph separator</td></tr> 237*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Zs</code></td><td>space separator</td></tr> 238*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 239*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Unicode character class names--scripts:</b></td></tr> 240*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Arabic</code></td><td>Arabic</td></tr> 241*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Armenian</code></td><td>Armenian</td></tr> 242*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Balinese</code></td><td>Balinese</td></tr> 243*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Bamum</code></td><td>Bamum</td></tr> 244*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Batak</code></td><td>Batak</td></tr> 245*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Bengali</code></td><td>Bengali</td></tr> 246*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Bopomofo</code></td><td>Bopomofo</td></tr> 247*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Brahmi</code></td><td>Brahmi</td></tr> 248*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Braille</code></td><td>Braille</td></tr> 249*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Buginese</code></td><td>Buginese</td></tr> 250*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Buhid</code></td><td>Buhid</td></tr> 251*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Canadian_Aboriginal</code></td><td>Canadian Aboriginal</td></tr> 252*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Carian</code></td><td>Carian</td></tr> 253*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Chakma</code></td><td>Chakma</td></tr> 254*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Cham</code></td><td>Cham</td></tr> 255*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Cherokee</code></td><td>Cherokee</td></tr> 256*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Common</code></td><td>characters not specific to one script</td></tr> 257*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Coptic</code></td><td>Coptic</td></tr> 258*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Cuneiform</code></td><td>Cuneiform</td></tr> 259*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Cypriot</code></td><td>Cypriot</td></tr> 260*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Cyrillic</code></td><td>Cyrillic</td></tr> 261*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Deseret</code></td><td>Deseret</td></tr> 262*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Devanagari</code></td><td>Devanagari</td></tr> 263*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Egyptian_Hieroglyphs</code></td><td>Egyptian Hieroglyphs</td></tr> 264*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Ethiopic</code></td><td>Ethiopic</td></tr> 265*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Georgian</code></td><td>Georgian</td></tr> 266*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Glagolitic</code></td><td>Glagolitic</td></tr> 267*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Gothic</code></td><td>Gothic</td></tr> 268*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Greek</code></td><td>Greek</td></tr> 269*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Gujarati</code></td><td>Gujarati</td></tr> 270*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Gurmukhi</code></td><td>Gurmukhi</td></tr> 271*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Han</code></td><td>Han</td></tr> 272*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Hangul</code></td><td>Hangul</td></tr> 273*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Hanunoo</code></td><td>Hanunoo</td></tr> 274*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Hebrew</code></td><td>Hebrew</td></tr> 275*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Hiragana</code></td><td>Hiragana</td></tr> 276*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Imperial_Aramaic</code></td><td>Imperial Aramaic</td></tr> 277*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Inherited</code></td><td>inherit script from previous character</td></tr> 278*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Inscriptional_Pahlavi</code></td><td>Inscriptional Pahlavi</td></tr> 279*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Inscriptional_Parthian</code></td><td>Inscriptional Parthian</td></tr> 280*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Javanese</code></td><td>Javanese</td></tr> 281*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Kaithi</code></td><td>Kaithi</td></tr> 282*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Kannada</code></td><td>Kannada</td></tr> 283*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Katakana</code></td><td>Katakana</td></tr> 284*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Kayah_Li</code></td><td>Kayah Li</td></tr> 285*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Kharoshthi</code></td><td>Kharoshthi</td></tr> 286*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Khmer</code></td><td>Khmer</td></tr> 287*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Lao</code></td><td>Lao</td></tr> 288*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Latin</code></td><td>Latin</td></tr> 289*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Lepcha</code></td><td>Lepcha</td></tr> 290*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Limbu</code></td><td>Limbu</td></tr> 291*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Linear_B</code></td><td>Linear B</td></tr> 292*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Lycian</code></td><td>Lycian</td></tr> 293*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Lydian</code></td><td>Lydian</td></tr> 294*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Malayalam</code></td><td>Malayalam</td></tr> 295*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Mandaic</code></td><td>Mandaic</td></tr> 296*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Meetei_Mayek</code></td><td>Meetei Mayek</td></tr> 297*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Meroitic_Cursive</code></td><td>Meroitic Cursive</td></tr> 298*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Meroitic_Hieroglyphs</code></td><td>Meroitic Hieroglyphs</td></tr> 299*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Miao</code></td><td>Miao</td></tr> 300*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Mongolian</code></td><td>Mongolian</td></tr> 301*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Myanmar</code></td><td>Myanmar</td></tr> 302*ccdc9c3eSSadaf Ebrahimi<tr><td><code>New_Tai_Lue</code></td><td>New Tai Lue (aka Simplified Tai Lue)</td></tr> 303*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Nko</code></td><td>Nko</td></tr> 304*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Ogham</code></td><td>Ogham</td></tr> 305*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Ol_Chiki</code></td><td>Ol Chiki</td></tr> 306*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Old_Italic</code></td><td>Old Italic</td></tr> 307*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Old_Persian</code></td><td>Old Persian</td></tr> 308*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Old_South_Arabian</code></td><td>Old South Arabian</td></tr> 309*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Old_Turkic</code></td><td>Old Turkic</td></tr> 310*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Oriya</code></td><td>Oriya</td></tr> 311*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Osmanya</code></td><td>Osmanya</td></tr> 312*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Phags_Pa</code></td><td>'Phags Pa</td></tr> 313*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Phoenician</code></td><td>Phoenician</td></tr> 314*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Rejang</code></td><td>Rejang</td></tr> 315*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Runic</code></td><td>Runic</td></tr> 316*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Saurashtra</code></td><td>Saurashtra</td></tr> 317*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Sharada</code></td><td>Sharada</td></tr> 318*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Shavian</code></td><td>Shavian</td></tr> 319*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Sinhala</code></td><td>Sinhala</td></tr> 320*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Sora_Sompeng</code></td><td>Sora Sompeng</td></tr> 321*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Sundanese</code></td><td>Sundanese</td></tr> 322*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Syloti_Nagri</code></td><td>Syloti Nagri</td></tr> 323*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Syriac</code></td><td>Syriac</td></tr> 324*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Tagalog</code></td><td>Tagalog</td></tr> 325*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Tagbanwa</code></td><td>Tagbanwa</td></tr> 326*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Tai_Le</code></td><td>Tai Le</td></tr> 327*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Tai_Tham</code></td><td>Tai Tham</td></tr> 328*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Tai_Viet</code></td><td>Tai Viet</td></tr> 329*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Takri</code></td><td>Takri</td></tr> 330*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Tamil</code></td><td>Tamil</td></tr> 331*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Telugu</code></td><td>Telugu</td></tr> 332*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Thaana</code></td><td>Thaana</td></tr> 333*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Thai</code></td><td>Thai</td></tr> 334*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Tibetan</code></td><td>Tibetan</td></tr> 335*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Tifinagh</code></td><td>Tifinagh</td></tr> 336*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Ugaritic</code></td><td>Ugaritic</td></tr> 337*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Vai</code></td><td>Vai</td></tr> 338*ccdc9c3eSSadaf Ebrahimi<tr><td><code>Yi</code></td><td>Yi</td></tr> 339*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 340*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Vim character classes:</b></td></tr> 341*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\i</font></code></td><td>identifier character <font size=-2>VIM</font></td></tr> 342*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\I</font></code></td><td><code>\i</code> except digits <font size=-2>VIM</font></td></tr> 343*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\k</font></code></td><td>keyword character <font size=-2>VIM</font></td></tr> 344*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\K</font></code></td><td><code>\k</code> except digits <font size=-2>VIM</font></td></tr> 345*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\f</font></code></td><td>file name character <font size=-2>VIM</font></td></tr> 346*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\F</font></code></td><td><code>\f</code> except digits <font size=-2>VIM</font></td></tr> 347*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\p</font></code></td><td>printable character <font size=-2>VIM</font></td></tr> 348*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\P</font></code></td><td><code>\p</code> except digits <font size=-2>VIM</font></td></tr> 349*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\s</font></code></td><td>whitespace character (≡ <code>[ \t]</code>) <font size=-2>VIM</font></td></tr> 350*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\S</font></code></td><td>non-white space character (≡ <code>[^ \t]</code>) <font size=-2>VIM</font></td></tr> 351*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\d</code></td><td>digits (≡ <code>[0-9]</code>) <font size=-2>VIM</font></td></tr> 352*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\D</code></td><td>not <code>\d</code> <font size=-2>VIM</font></td></tr> 353*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\x</font></code></td><td>hex digits (≡ <code>[0-9A-Fa-f]</code>) <font size=-2>VIM</font></td></tr> 354*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\X</font></code></td><td>not <code>\x</code> <font size=-2>VIM</font></td></tr> 355*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\o</font></code></td><td>octal digits (≡ <code>[0-7]</code>) <font size=-2>VIM</font></td></tr> 356*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\O</font></code></td><td>not <code>\o</code> <font size=-2>VIM</font></td></tr> 357*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\w</code></td><td>word character <font size=-2>VIM</font></td></tr> 358*ccdc9c3eSSadaf Ebrahimi<tr><td><code>\W</code></td><td>not <code>\w</code> <font size=-2>VIM</font></td></tr> 359*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\h</font></code></td><td>head of word character <font size=-2>VIM</font></td></tr> 360*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\H</font></code></td><td>not <code>\h</code> <font size=-2>VIM</font></td></tr> 361*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\a</font></code></td><td>alphabetic <font size=-2>VIM</font></td></tr> 362*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\A</font></code></td><td>not <code>\a</code> <font size=-2>VIM</font></td></tr> 363*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\l</font></code></td><td>lowercase <font size=-2>VIM</font></td></tr> 364*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\L</font></code></td><td>not lowercase <font size=-2>VIM</font></td></tr> 365*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\u</font></code></td><td>uppercase <font size=-2>VIM</font></td></tr> 366*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\U</font></code></td><td>not uppercase <font size=-2>VIM</font></td></tr> 367*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\_x</font></code></td><td><code>\x</code> plus newline, for any <code>x</code> <font size=-2>VIM</font></td></tr> 368*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 369*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Vim flags:</b></td></tr> 370*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\c</font></code></td><td>ignore case <font size=-2>VIM</font></td></tr> 371*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\C</font></code></td><td>match case <font size=-2>VIM</font></td></tr> 372*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\m</font></code></td><td>magic <font size=-2>VIM</font></td></tr> 373*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\M</font></code></td><td>nomagic <font size=-2>VIM</font></td></tr> 374*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\v</font></code></td><td>verymagic <font size=-2>VIM</font></td></tr> 375*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\V</font></code></td><td>verynomagic <font size=-2>VIM</font></td></tr> 376*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>\Z</font></code></td><td>ignore differences in Unicode combining characters <font size=-2>VIM</font></td></tr> 377*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 378*ccdc9c3eSSadaf Ebrahimi<tr><td colspan=2><b>Magic:</b></td></tr> 379*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?{code})</font></code></td><td>arbitrary Perl code <font size=-2>PERL</font></td></tr> 380*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(??{code})</font></code></td><td>postponed arbitrary Perl code <font size=-2>PERL</font></td></tr> 381*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?n)</font></code></td><td>recursive call to regexp capturing group <code>n</code> </td></tr> 382*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?+n)</font></code></td><td>recursive call to relative group <code>+n</code> </td></tr> 383*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?-n)</font></code></td><td>recursive call to relative group <code>-n</code> </td></tr> 384*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?C)</font></code></td><td>PCRE callout <font size=-2>PCRE</font></td></tr> 385*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?R)</font></code></td><td>recursive call to entire regexp (≡ <code>(?0)</code>) </td></tr> 386*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?&name)</font></code></td><td>recursive call to named group </td></tr> 387*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?P=name)</font></code></td><td>named backreference </td></tr> 388*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?P>name)</font></code></td><td>recursive call to named group </td></tr> 389*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?(cond)true|false)</font></code></td><td>conditional branch </td></tr> 390*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(?(cond)true)</font></code></td><td>conditional branch </td></tr> 391*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*ACCEPT)</font></code></td><td>make regexps more like Prolog </td></tr> 392*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*COMMIT)</font></code></td><td></td></tr> 393*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*F)</font></code></td><td></td></tr> 394*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*FAIL)</font></code></td><td></td></tr> 395*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*MARK)</font></code></td><td></td></tr> 396*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*PRUNE)</font></code></td><td></td></tr> 397*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*SKIP)</font></code></td><td></td></tr> 398*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*THEN)</font></code></td><td></td></tr> 399*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*ANY)</font></code></td><td>set newline convention </td></tr> 400*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*ANYCRLF)</font></code></td><td></td></tr> 401*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*CR)</font></code></td><td></td></tr> 402*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*CRLF)</font></code></td><td></td></tr> 403*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*LF)</font></code></td><td></td></tr> 404*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*BSR_ANYCRLF)</font></code></td><td>set \R convention <font size=-2>PCRE</font></td></tr> 405*ccdc9c3eSSadaf Ebrahimi<tr><td><code><font color=#808080>(*BSR_UNICODE)</font></code></td><td> <font size=-2>PCRE</font></td></tr> 406*ccdc9c3eSSadaf Ebrahimi<tr><td></td></tr> 407*ccdc9c3eSSadaf Ebrahimi</table> 408*ccdc9c3eSSadaf Ebrahimi</body> 409*ccdc9c3eSSadaf Ebrahimi</html> 410