| 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
|
| +
|
|
|