Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(804)

Side by Side Diff: third_party/re2/doc/syntax.txt

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

Powered by Google App Engine
This is Rietveld 408576698