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