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

Unified 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, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/re2/doc/syntax.html ('k') | third_party/re2/doc/xkcd.png » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/re2/doc/syntax.txt
diff --git a/third_party/re2/doc/syntax.txt b/third_party/re2/doc/syntax.txt
new file mode 100644
index 0000000000000000000000000000000000000000..740e5ce34684a80ec0190ab31df852dfc83aa06a
--- /dev/null
+++ b/third_party/re2/doc/syntax.txt
@@ -0,0 +1,373 @@
+RE2 regular expression syntax reference
+-------------------------­-------­-----
+
+Single characters:
+. any character, including newline (s=true)
+[xyz] character class
+[^xyz] negated character class
+\d Perl character class
+\D negated Perl character class
+[:alpha:] ASCII character class
+[:^alpha:] negated ASCII character class
+\pN Unicode character class (one-letter name)
+\p{Greek} Unicode character class
+\PN negated Unicode character class (one-letter name)
+\P{Greek} negated Unicode character class
+
+Composites:
+xy «x» followed by «y»
+x|y «x» or «y» (prefer «x»)
+
+Repetitions:
+x* zero or more «x», prefer more
+x+ one or more «x», prefer more
+x? zero or one «x», prefer one
+x{n,m} «n» or «n»+1 or ... or «m» «x», prefer more
+x{n,} «n» or more «x», prefer more
+x{n} exactly «n» «x»
+x*? zero or more «x», prefer fewer
+x+? one or more «x», prefer fewer
+x?? zero or one «x», prefer zero
+x{n,m}? «n» or «n»+1 or ... or «m» «x», prefer fewer
+x{n,}? «n» or more «x», prefer fewer
+x{n}? exactly «n» «x»
+x{} (== x*) NOT SUPPORTED vim
+x{-} (== x*?) NOT SUPPORTED vim
+x{-n} (== x{n}?) NOT SUPPORTED vim
+x= (== x?) NOT SUPPORTED vim
+
+Possessive repetitions:
+x*+ zero or more «x», possessive NOT SUPPORTED
+x++ one or more «x», possessive NOT SUPPORTED
+x?+ zero or one «x», possessive NOT SUPPORTED
+x{n,m}+ «n» or ... or «m» «x», possessive NOT SUPPORTED
+x{n,}+ «n» or more «x», possessive NOT SUPPORTED
+x{n}+ exactly «n» «x», possessive NOT SUPPORTED
+
+Grouping:
+(re) numbered capturing group
+(?P<name>re) named & numbered capturing group
+(?<name>re) named & numbered capturing group NOT SUPPORTED
+(?'name're) named & numbered capturing group NOT SUPPORTED
+(?:re) non-capturing group
+(?flags) set flags within current group; non-capturing
+(?flags:re) set flags during re; non-capturing
+(?#text) comment NOT SUPPORTED
+(?|x|y|z) branch numbering reset NOT SUPPORTED
+(?>re) possessive match of «re» NOT SUPPORTED
+re@> possessive match of «re» NOT SUPPORTED vim
+%(re) non-capturing group NOT SUPPORTED vim
+
+Flags:
+i case-insensitive (default false)
+m multi-line mode: ^ and $ match begin/end line in addition to begin/end text (default false)
+s let «.» match «\n» (default false)
+U ungreedy: swap meaning of «x*» and «x*?», «x+» and «x+?», etc (default false)
+Flag syntax is «xyz» (set) or «-xyz» (clear) or «xy-z» (set «xy», clear «z»).
+
+Empty strings:
+^ at beginning of text or line («m»=true)
+$ at end of text (like «\z» not «\Z») or line («m»=true)
+\A at beginning of text
+\b at word boundary («\w» on one side and «\W», «\A», or «\z» on the other)
+\B not a word boundary
+\G at beginning of subtext being searched NOT SUPPORTED pcre
+\G at end of last match NOT SUPPORTED perl
+\Z at end of text, or before newline at end of text NOT SUPPORTED
+\z at end of text
+(?=re) before text matching «re» NOT SUPPORTED
+(?!re) before text not matching «re» NOT SUPPORTED
+(?<=re) after text matching «re» NOT SUPPORTED
+(?<!re) after text not matching «re» NOT SUPPORTED
+re& before text matching «re» NOT SUPPORTED vim
+re@= before text matching «re» NOT SUPPORTED vim
+re@! before text not matching «re» NOT SUPPORTED vim
+re@<= after text matching «re» NOT SUPPORTED vim
+re@<! after text not matching «re» NOT SUPPORTED vim
+\zs sets start of match (= \K) NOT SUPPORTED vim
+\ze sets end of match NOT SUPPORTED vim
+\%^ beginning of file NOT SUPPORTED vim
+\%$ end of file NOT SUPPORTED vim
+\%V on screen NOT SUPPORTED vim
+\%# cursor position NOT SUPPORTED vim
+\%'m mark «m» position NOT SUPPORTED vim
+\%23l in line 23 NOT SUPPORTED vim
+\%23c in column 23 NOT SUPPORTED vim
+\%23v in virtual column 23 NOT SUPPORTED vim
+
+Escape sequences:
+\a bell (== \007)
+\f form feed (== \014)
+\t horizontal tab (== \011)
+\n newline (== \012)
+\r carriage return (== \015)
+\v vertical tab character (== \013)
+\* literal «*», for any punctuation character «*»
+\123 octal character code (up to three digits)
+\x7F hex character code (exactly two digits)
+\x{10FFFF} hex character code
+\C match a single byte even in UTF-8 mode
+\Q...\E literal text «...» even if «...» has punctuation
+
+\1 backreference NOT SUPPORTED
+\b backspace NOT SUPPORTED (use «\010»)
+\cK control char ^K NOT SUPPORTED (use «\001» etc)
+\e escape NOT SUPPORTED (use «\033»)
+\g1 backreference NOT SUPPORTED
+\g{1} backreference NOT SUPPORTED
+\g{+1} backreference NOT SUPPORTED
+\g{-1} backreference NOT SUPPORTED
+\g{name} named backreference NOT SUPPORTED
+\g<name> subroutine call NOT SUPPORTED
+\g'name' subroutine call NOT SUPPORTED
+\k<name> named backreference NOT SUPPORTED
+\k'name' named backreference NOT SUPPORTED
+\lX lowercase «X» NOT SUPPORTED
+\ux uppercase «x» NOT SUPPORTED
+\L...\E lowercase text «...» NOT SUPPORTED
+\K reset beginning of «$0» NOT SUPPORTED
+\N{name} named Unicode character NOT SUPPORTED
+\R line break NOT SUPPORTED
+\U...\E upper case text «...» NOT SUPPORTED
+\X extended Unicode sequence NOT SUPPORTED
+
+\%d123 decimal character 123 NOT SUPPORTED vim
+\%xFF hex character FF NOT SUPPORTED vim
+\%o123 octal character 123 NOT SUPPORTED vim
+\%u1234 Unicode character 0x1234 NOT SUPPORTED vim
+\%U12345678 Unicode character 0x12345678 NOT SUPPORTED vim
+
+Character class elements:
+x single character
+A-Z character range (inclusive)
+\d Perl character class
+[:foo:] ASCII character class «foo»
+\p{Foo} Unicode character class «Foo»
+\pF Unicode character class «F» (one-letter name)
+
+Named character classes as character class elements:
+[\d] digits (== \d)
+[^\d] not digits (== \D)
+[\D] not digits (== \D)
+[^\D] not not digits (== \d)
+[[:name:]] named ASCII class inside character class (== [:name:])
+[^[:name:]] named ASCII class inside negated character class (== [:^name:])
+[\p{Name}] named Unicode property inside character class (== \p{Name})
+[^\p{Name}] named Unicode property inside negated character class (== \P{Name})
+
+Perl character classes:
+\d digits (== [0-9])
+\D not digits (== [^0-9])
+\s whitespace (== [\t\n\f\r ])
+\S not whitespace (== [^\t\n\f\r ])
+\w word characters (== [0-9A-Za-z_])
+\W not word characters (== [^0-9A-Za-z_])
+
+\h horizontal space NOT SUPPORTED
+\H not horizontal space NOT SUPPORTED
+\v vertical space NOT SUPPORTED
+\V not vertical space NOT SUPPORTED
+
+ASCII character classes:
+[:alnum:] alphanumeric (== [0-9A-Za-z])
+[:alpha:] alphabetic (== [A-Za-z])
+[:ascii:] ASCII (== [\x00-\x7F])
+[:blank:] blank (== [\t ])
+[:cntrl:] control (== [\x00-\x1F\x7F])
+[:digit:] digits (== [0-9])
+[:graph:] graphical (== [!-~] == [A-Za-z0-9!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])
+[:lower:] lower case (== [a-z])
+[:print:] printable (== [ -~] == [ [:graph:]])
+[:punct:] punctuation (== [!-/:-@[-`{-~])
+[:space:] whitespace (== [\t\n\v\f\r ])
+[:upper:] upper case (== [A-Z])
+[:word:] word characters (== [0-9A-Za-z_])
+[:xdigit:] hex digit (== [0-9A-Fa-f])
+
+Unicode character class names--general category:
+C other
+Cc control
+Cf format
+Cn unassigned code points NOT SUPPORTED
+Co private use
+Cs surrogate
+L letter
+LC cased letter NOT SUPPORTED
+L& cased letter NOT SUPPORTED
+Ll lowercase letter
+Lm modifier letter
+Lo other letter
+Lt titlecase letter
+Lu uppercase letter
+M mark
+Mc spacing mark
+Me enclosing mark
+Mn non-spacing mark
+N number
+Nd decimal number
+Nl letter number
+No other number
+P punctuation
+Pc connector punctuation
+Pd dash punctuation
+Pe close punctuation
+Pf final punctuation
+Pi initial punctuation
+Po other punctuation
+Ps open punctuation
+S symbol
+Sc currency symbol
+Sk modifier symbol
+Sm math symbol
+So other symbol
+Z separator
+Zl line separator
+Zp paragraph separator
+Zs space separator
+
+Unicode character class names--scripts:
+Arabic Arabic
+Armenian Armenian
+Balinese Balinese
+Bengali Bengali
+Bopomofo Bopomofo
+Braille Braille
+Buginese Buginese
+Buhid Buhid
+Canadian_Aboriginal Canadian Aboriginal
+Carian Carian
+Cham Cham
+Cherokee Cherokee
+Common characters not specific to one script
+Coptic Coptic
+Cuneiform Cuneiform
+Cypriot Cypriot
+Cyrillic Cyrillic
+Deseret Deseret
+Devanagari Devanagari
+Ethiopic Ethiopic
+Georgian Georgian
+Glagolitic Glagolitic
+Gothic Gothic
+Greek Greek
+Gujarati Gujarati
+Gurmukhi Gurmukhi
+Han Han
+Hangul Hangul
+Hanunoo Hanunoo
+Hebrew Hebrew
+Hiragana Hiragana
+Inherited inherit script from previous character
+Kannada Kannada
+Katakana Katakana
+Kayah_Li Kayah Li
+Kharoshthi Kharoshthi
+Khmer Khmer
+Lao Lao
+Latin Latin
+Lepcha Lepcha
+Limbu Limbu
+Linear_B Linear B
+Lycian Lycian
+Lydian Lydian
+Malayalam Malayalam
+Mongolian Mongolian
+Myanmar Myanmar
+New_Tai_Lue New Tai Lue (aka Simplified Tai Lue)
+Nko Nko
+Ogham Ogham
+Ol_Chiki Ol Chiki
+Old_Italic Old Italic
+Old_Persian Old Persian
+Oriya Oriya
+Osmanya Osmanya
+Phags_Pa 'Phags Pa
+Phoenician Phoenician
+Rejang Rejang
+Runic Runic
+Saurashtra Saurashtra
+Shavian Shavian
+Sinhala Sinhala
+Sundanese Sundanese
+Syloti_Nagri Syloti Nagri
+Syriac Syriac
+Tagalog Tagalog
+Tagbanwa Tagbanwa
+Tai_Le Tai Le
+Tamil Tamil
+Telugu Telugu
+Thaana Thaana
+Thai Thai
+Tibetan Tibetan
+Tifinagh Tifinagh
+Ugaritic Ugaritic
+Vai Vai
+Yi Yi
+
+Vim character classes:
+\i identifier character NOT SUPPORTED vim
+\I «\i» except digits NOT SUPPORTED vim
+\k keyword character NOT SUPPORTED vim
+\K «\k» except digits NOT SUPPORTED vim
+\f file name character NOT SUPPORTED vim
+\F «\f» except digits NOT SUPPORTED vim
+\p printable character NOT SUPPORTED vim
+\P «\p» except digits NOT SUPPORTED vim
+\s whitespace character (== [ \t]) NOT SUPPORTED vim
+\S non-white space character (== [^ \t]) NOT SUPPORTED vim
+\d digits (== [0-9]) vim
+\D not «\d» vim
+\x hex digits (== [0-9A-Fa-f]) NOT SUPPORTED vim
+\X not «\x» NOT SUPPORTED vim
+\o octal digits (== [0-7]) NOT SUPPORTED vim
+\O not «\o» NOT SUPPORTED vim
+\w word character vim
+\W not «\w» vim
+\h head of word character NOT SUPPORTED vim
+\H not «\h» NOT SUPPORTED vim
+\a alphabetic NOT SUPPORTED vim
+\A not «\a» NOT SUPPORTED vim
+\l lowercase NOT SUPPORTED vim
+\L not lowercase NOT SUPPORTED vim
+\u uppercase NOT SUPPORTED vim
+\U not uppercase NOT SUPPORTED vim
+\_x «\x» plus newline, for any «x» NOT SUPPORTED vim
+
+Vim flags:
+\c ignore case NOT SUPPORTED vim
+\C match case NOT SUPPORTED vim
+\m magic NOT SUPPORTED vim
+\M nomagic NOT SUPPORTED vim
+\v verymagic NOT SUPPORTED vim
+\V verynomagic NOT SUPPORTED vim
+\Z ignore differences in Unicode combining characters NOT SUPPORTED vim
+
+Magic:
+(?{code}) arbitrary Perl code NOT SUPPORTED perl
+(??{code}) postponed arbitrary Perl code NOT SUPPORTED perl
+(?n) recursive call to regexp capturing group «n» NOT SUPPORTED
+(?+n) recursive call to relative group «+n» NOT SUPPORTED
+(?-n) recursive call to relative group «-n» NOT SUPPORTED
+(?C) PCRE callout NOT SUPPORTED pcre
+(?R) recursive call to entire regexp (== (?0)) NOT SUPPORTED
+(?&name) recursive call to named group NOT SUPPORTED
+(?P=name) named backreference NOT SUPPORTED
+(?P>name) recursive call to named group NOT SUPPORTED
+(?(cond)true|false) conditional branch NOT SUPPORTED
+(?(cond)true) conditional branch NOT SUPPORTED
+(*ACCEPT) make regexps more like Prolog NOT SUPPORTED
+(*COMMIT) NOT SUPPORTED
+(*F) NOT SUPPORTED
+(*FAIL) NOT SUPPORTED
+(*MARK) NOT SUPPORTED
+(*PRUNE) NOT SUPPORTED
+(*SKIP) NOT SUPPORTED
+(*THEN) NOT SUPPORTED
+(*ANY) set newline convention NOT SUPPORTED
+(*ANYCRLF) NOT SUPPORTED
+(*CR) NOT SUPPORTED
+(*CRLF) NOT SUPPORTED
+(*LF) NOT SUPPORTED
+(*BSR_ANYCRLF) set \R convention NOT SUPPORTED pcre
+(*BSR_UNICODE) NOT SUPPORTED pcre
+
« 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