xref: /aosp_15_r20/external/regex-re2/doc/syntax.txt (revision ccdc9c3e24c519bfa4832a66aa2e83a52c19f295)
1*ccdc9c3eSSadaf EbrahimiRE2 regular expression syntax reference
2*ccdc9c3eSSadaf Ebrahimi-------------------------­-------­-----
3*ccdc9c3eSSadaf Ebrahimi
4*ccdc9c3eSSadaf EbrahimiSingle characters:
5*ccdc9c3eSSadaf Ebrahimi.	any character, possibly including newline (s=true)
6*ccdc9c3eSSadaf Ebrahimi[xyz]	character class
7*ccdc9c3eSSadaf Ebrahimi[^xyz]	negated character class
8*ccdc9c3eSSadaf Ebrahimi\d	Perl character class
9*ccdc9c3eSSadaf Ebrahimi\D	negated Perl character class
10*ccdc9c3eSSadaf Ebrahimi[[:alpha:]]	ASCII character class
11*ccdc9c3eSSadaf Ebrahimi[[:^alpha:]]	negated ASCII character class
12*ccdc9c3eSSadaf Ebrahimi\pN	Unicode character class (one-letter name)
13*ccdc9c3eSSadaf Ebrahimi\p{Greek}	Unicode character class
14*ccdc9c3eSSadaf Ebrahimi\PN	negated Unicode character class (one-letter name)
15*ccdc9c3eSSadaf Ebrahimi\P{Greek}	negated Unicode character class
16*ccdc9c3eSSadaf Ebrahimi
17*ccdc9c3eSSadaf EbrahimiComposites:
18*ccdc9c3eSSadaf Ebrahimixy	«x» followed by «y»
19*ccdc9c3eSSadaf Ebrahimix|y	«x» or «y» (prefer «x»)
20*ccdc9c3eSSadaf Ebrahimi
21*ccdc9c3eSSadaf EbrahimiRepetitions:
22*ccdc9c3eSSadaf Ebrahimix*	zero or more «x», prefer more
23*ccdc9c3eSSadaf Ebrahimix+	one or more «x», prefer more
24*ccdc9c3eSSadaf Ebrahimix?	zero or one «x», prefer one
25*ccdc9c3eSSadaf Ebrahimix{n,m}	«n» or «n»+1 or ... or «m» «x», prefer more
26*ccdc9c3eSSadaf Ebrahimix{n,}	«n» or more «x», prefer more
27*ccdc9c3eSSadaf Ebrahimix{n}	exactly «n» «x»
28*ccdc9c3eSSadaf Ebrahimix*?	zero or more «x», prefer fewer
29*ccdc9c3eSSadaf Ebrahimix+?	one or more «x», prefer fewer
30*ccdc9c3eSSadaf Ebrahimix??	zero or one «x», prefer zero
31*ccdc9c3eSSadaf Ebrahimix{n,m}?	«n» or «n»+1 or ... or «m» «x», prefer fewer
32*ccdc9c3eSSadaf Ebrahimix{n,}?	«n» or more «x», prefer fewer
33*ccdc9c3eSSadaf Ebrahimix{n}?	exactly «n» «x»
34*ccdc9c3eSSadaf Ebrahimix{}	(== x*) NOT SUPPORTED vim
35*ccdc9c3eSSadaf Ebrahimix{-}	(== x*?) NOT SUPPORTED vim
36*ccdc9c3eSSadaf Ebrahimix{-n}	(== x{n}?) NOT SUPPORTED vim
37*ccdc9c3eSSadaf Ebrahimix=	(== x?) NOT SUPPORTED vim
38*ccdc9c3eSSadaf Ebrahimi
39*ccdc9c3eSSadaf EbrahimiImplementation restriction: The counting forms «x{n,m}», «x{n,}», and «x{n}»
40*ccdc9c3eSSadaf Ebrahimireject forms that create a minimum or maximum repetition count above 1000.
41*ccdc9c3eSSadaf EbrahimiUnlimited repetitions are not subject to this restriction.
42*ccdc9c3eSSadaf Ebrahimi
43*ccdc9c3eSSadaf EbrahimiPossessive repetitions:
44*ccdc9c3eSSadaf Ebrahimix*+	zero or more «x», possessive NOT SUPPORTED
45*ccdc9c3eSSadaf Ebrahimix++	one or more «x», possessive NOT SUPPORTED
46*ccdc9c3eSSadaf Ebrahimix?+	zero or one «x», possessive NOT SUPPORTED
47*ccdc9c3eSSadaf Ebrahimix{n,m}+	«n» or ... or «m» «x», possessive NOT SUPPORTED
48*ccdc9c3eSSadaf Ebrahimix{n,}+	«n» or more «x», possessive NOT SUPPORTED
49*ccdc9c3eSSadaf Ebrahimix{n}+	exactly «n» «x», possessive NOT SUPPORTED
50*ccdc9c3eSSadaf Ebrahimi
51*ccdc9c3eSSadaf EbrahimiGrouping:
52*ccdc9c3eSSadaf Ebrahimi(re)	numbered capturing group (submatch)
53*ccdc9c3eSSadaf Ebrahimi(?P<name>re)	named & numbered capturing group (submatch)
54*ccdc9c3eSSadaf Ebrahimi(?<name>re)	named & numbered capturing group (submatch) NOT SUPPORTED
55*ccdc9c3eSSadaf Ebrahimi(?'name're)	named & numbered capturing group (submatch) NOT SUPPORTED
56*ccdc9c3eSSadaf Ebrahimi(?:re)	non-capturing group
57*ccdc9c3eSSadaf Ebrahimi(?flags)	set flags within current group; non-capturing
58*ccdc9c3eSSadaf Ebrahimi(?flags:re)	set flags during re; non-capturing
59*ccdc9c3eSSadaf Ebrahimi(?#text)	comment NOT SUPPORTED
60*ccdc9c3eSSadaf Ebrahimi(?|x|y|z)	branch numbering reset NOT SUPPORTED
61*ccdc9c3eSSadaf Ebrahimi(?>re)	possessive match of «re» NOT SUPPORTED
62*ccdc9c3eSSadaf Ebrahimire@>	possessive match of «re» NOT SUPPORTED vim
63*ccdc9c3eSSadaf Ebrahimi%(re)	non-capturing group NOT SUPPORTED vim
64*ccdc9c3eSSadaf Ebrahimi
65*ccdc9c3eSSadaf EbrahimiFlags:
66*ccdc9c3eSSadaf Ebrahimii	case-insensitive (default false)
67*ccdc9c3eSSadaf Ebrahimim	multi-line mode: «^» and «$» match begin/end line in addition to begin/end text (default false)
68*ccdc9c3eSSadaf Ebrahimis	let «.» match «\n» (default false)
69*ccdc9c3eSSadaf EbrahimiU	ungreedy: swap meaning of «x*» and «x*?», «x+» and «x+?», etc (default false)
70*ccdc9c3eSSadaf EbrahimiFlag syntax is «xyz» (set) or «-xyz» (clear) or «xy-z» (set «xy», clear «z»).
71*ccdc9c3eSSadaf Ebrahimi
72*ccdc9c3eSSadaf EbrahimiEmpty strings:
73*ccdc9c3eSSadaf Ebrahimi^	at beginning of text or line («m»=true)
74*ccdc9c3eSSadaf Ebrahimi$	at end of text (like «\z» not «\Z») or line («m»=true)
75*ccdc9c3eSSadaf Ebrahimi\A	at beginning of text
76*ccdc9c3eSSadaf Ebrahimi\b	at ASCII word boundary («\w» on one side and «\W», «\A», or «\z» on the other)
77*ccdc9c3eSSadaf Ebrahimi\B	not at ASCII word boundary
78*ccdc9c3eSSadaf Ebrahimi\G	at beginning of subtext being searched NOT SUPPORTED pcre
79*ccdc9c3eSSadaf Ebrahimi\G	at end of last match NOT SUPPORTED perl
80*ccdc9c3eSSadaf Ebrahimi\Z	at end of text, or before newline at end of text NOT SUPPORTED
81*ccdc9c3eSSadaf Ebrahimi\z	at end of text
82*ccdc9c3eSSadaf Ebrahimi(?=re)	before text matching «re» NOT SUPPORTED
83*ccdc9c3eSSadaf Ebrahimi(?!re)	before text not matching «re» NOT SUPPORTED
84*ccdc9c3eSSadaf Ebrahimi(?<=re)	after text matching «re» NOT SUPPORTED
85*ccdc9c3eSSadaf Ebrahimi(?<!re)	after text not matching «re» NOT SUPPORTED
86*ccdc9c3eSSadaf Ebrahimire&	before text matching «re» NOT SUPPORTED vim
87*ccdc9c3eSSadaf Ebrahimire@=	before text matching «re» NOT SUPPORTED vim
88*ccdc9c3eSSadaf Ebrahimire@!	before text not matching «re» NOT SUPPORTED vim
89*ccdc9c3eSSadaf Ebrahimire@<=	after text matching «re» NOT SUPPORTED vim
90*ccdc9c3eSSadaf Ebrahimire@<!	after text not matching «re» NOT SUPPORTED vim
91*ccdc9c3eSSadaf Ebrahimi\zs	sets start of match (= \K) NOT SUPPORTED vim
92*ccdc9c3eSSadaf Ebrahimi\ze	sets end of match NOT SUPPORTED vim
93*ccdc9c3eSSadaf Ebrahimi\%^	beginning of file NOT SUPPORTED vim
94*ccdc9c3eSSadaf Ebrahimi\%$	end of file NOT SUPPORTED vim
95*ccdc9c3eSSadaf Ebrahimi\%V	on screen NOT SUPPORTED vim
96*ccdc9c3eSSadaf Ebrahimi\%#	cursor position NOT SUPPORTED vim
97*ccdc9c3eSSadaf Ebrahimi\%'m	mark «m» position NOT SUPPORTED vim
98*ccdc9c3eSSadaf Ebrahimi\%23l	in line 23 NOT SUPPORTED vim
99*ccdc9c3eSSadaf Ebrahimi\%23c	in column 23 NOT SUPPORTED vim
100*ccdc9c3eSSadaf Ebrahimi\%23v	in virtual column 23 NOT SUPPORTED vim
101*ccdc9c3eSSadaf Ebrahimi
102*ccdc9c3eSSadaf EbrahimiEscape sequences:
103*ccdc9c3eSSadaf Ebrahimi\a	bell (== \007)
104*ccdc9c3eSSadaf Ebrahimi\f	form feed (== \014)
105*ccdc9c3eSSadaf Ebrahimi\t	horizontal tab (== \011)
106*ccdc9c3eSSadaf Ebrahimi\n	newline (== \012)
107*ccdc9c3eSSadaf Ebrahimi\r	carriage return (== \015)
108*ccdc9c3eSSadaf Ebrahimi\v	vertical tab character (== \013)
109*ccdc9c3eSSadaf Ebrahimi\*	literal «*», for any punctuation character «*»
110*ccdc9c3eSSadaf Ebrahimi\123	octal character code (up to three digits)
111*ccdc9c3eSSadaf Ebrahimi\x7F	hex character code (exactly two digits)
112*ccdc9c3eSSadaf Ebrahimi\x{10FFFF}	hex character code
113*ccdc9c3eSSadaf Ebrahimi\C	match a single byte even in UTF-8 mode
114*ccdc9c3eSSadaf Ebrahimi\Q...\E	literal text «...» even if «...» has punctuation
115*ccdc9c3eSSadaf Ebrahimi
116*ccdc9c3eSSadaf Ebrahimi\1	backreference NOT SUPPORTED
117*ccdc9c3eSSadaf Ebrahimi\b	backspace NOT SUPPORTED (use «\010»)
118*ccdc9c3eSSadaf Ebrahimi\cK	control char ^K NOT SUPPORTED (use «\001» etc)
119*ccdc9c3eSSadaf Ebrahimi\e	escape NOT SUPPORTED (use «\033»)
120*ccdc9c3eSSadaf Ebrahimi\g1	backreference NOT SUPPORTED
121*ccdc9c3eSSadaf Ebrahimi\g{1}	backreference NOT SUPPORTED
122*ccdc9c3eSSadaf Ebrahimi\g{+1}	backreference NOT SUPPORTED
123*ccdc9c3eSSadaf Ebrahimi\g{-1}	backreference NOT SUPPORTED
124*ccdc9c3eSSadaf Ebrahimi\g{name}	named backreference NOT SUPPORTED
125*ccdc9c3eSSadaf Ebrahimi\g<name>	subroutine call NOT SUPPORTED
126*ccdc9c3eSSadaf Ebrahimi\g'name'	subroutine call NOT SUPPORTED
127*ccdc9c3eSSadaf Ebrahimi\k<name>	named backreference NOT SUPPORTED
128*ccdc9c3eSSadaf Ebrahimi\k'name'	named backreference NOT SUPPORTED
129*ccdc9c3eSSadaf Ebrahimi\lX	lowercase «X» NOT SUPPORTED
130*ccdc9c3eSSadaf Ebrahimi\ux	uppercase «x» NOT SUPPORTED
131*ccdc9c3eSSadaf Ebrahimi\L...\E	lowercase text «...» NOT SUPPORTED
132*ccdc9c3eSSadaf Ebrahimi\K	reset beginning of «$0» NOT SUPPORTED
133*ccdc9c3eSSadaf Ebrahimi\N{name}	named Unicode character NOT SUPPORTED
134*ccdc9c3eSSadaf Ebrahimi\R	line break NOT SUPPORTED
135*ccdc9c3eSSadaf Ebrahimi\U...\E	upper case text «...» NOT SUPPORTED
136*ccdc9c3eSSadaf Ebrahimi\X	extended Unicode sequence NOT SUPPORTED
137*ccdc9c3eSSadaf Ebrahimi
138*ccdc9c3eSSadaf Ebrahimi\%d123	decimal character 123 NOT SUPPORTED vim
139*ccdc9c3eSSadaf Ebrahimi\%xFF	hex character FF NOT SUPPORTED vim
140*ccdc9c3eSSadaf Ebrahimi\%o123	octal character 123 NOT SUPPORTED vim
141*ccdc9c3eSSadaf Ebrahimi\%u1234	Unicode character 0x1234 NOT SUPPORTED vim
142*ccdc9c3eSSadaf Ebrahimi\%U12345678	Unicode character 0x12345678 NOT SUPPORTED vim
143*ccdc9c3eSSadaf Ebrahimi
144*ccdc9c3eSSadaf EbrahimiCharacter class elements:
145*ccdc9c3eSSadaf Ebrahimix	single character
146*ccdc9c3eSSadaf EbrahimiA-Z	character range (inclusive)
147*ccdc9c3eSSadaf Ebrahimi\d	Perl character class
148*ccdc9c3eSSadaf Ebrahimi[:foo:]	ASCII character class «foo»
149*ccdc9c3eSSadaf Ebrahimi\p{Foo}	Unicode character class «Foo»
150*ccdc9c3eSSadaf Ebrahimi\pF	Unicode character class «F» (one-letter name)
151*ccdc9c3eSSadaf Ebrahimi
152*ccdc9c3eSSadaf EbrahimiNamed character classes as character class elements:
153*ccdc9c3eSSadaf Ebrahimi[\d]	digits (== \d)
154*ccdc9c3eSSadaf Ebrahimi[^\d]	not digits (== \D)
155*ccdc9c3eSSadaf Ebrahimi[\D]	not digits (== \D)
156*ccdc9c3eSSadaf Ebrahimi[^\D]	not not digits (== \d)
157*ccdc9c3eSSadaf Ebrahimi[[:name:]]	named ASCII class inside character class (== [:name:])
158*ccdc9c3eSSadaf Ebrahimi[^[:name:]]	named ASCII class inside negated character class (== [:^name:])
159*ccdc9c3eSSadaf Ebrahimi[\p{Name}]	named Unicode property inside character class (== \p{Name})
160*ccdc9c3eSSadaf Ebrahimi[^\p{Name}]	named Unicode property inside negated character class (== \P{Name})
161*ccdc9c3eSSadaf Ebrahimi
162*ccdc9c3eSSadaf EbrahimiPerl character classes (all ASCII-only):
163*ccdc9c3eSSadaf Ebrahimi\d	digits (== [0-9])
164*ccdc9c3eSSadaf Ebrahimi\D	not digits (== [^0-9])
165*ccdc9c3eSSadaf Ebrahimi\s	whitespace (== [\t\n\f\r ])
166*ccdc9c3eSSadaf Ebrahimi\S	not whitespace (== [^\t\n\f\r ])
167*ccdc9c3eSSadaf Ebrahimi\w	word characters (== [0-9A-Za-z_])
168*ccdc9c3eSSadaf Ebrahimi\W	not word characters (== [^0-9A-Za-z_])
169*ccdc9c3eSSadaf Ebrahimi
170*ccdc9c3eSSadaf Ebrahimi\h	horizontal space NOT SUPPORTED
171*ccdc9c3eSSadaf Ebrahimi\H	not horizontal space NOT SUPPORTED
172*ccdc9c3eSSadaf Ebrahimi\v	vertical space NOT SUPPORTED
173*ccdc9c3eSSadaf Ebrahimi\V	not vertical space NOT SUPPORTED
174*ccdc9c3eSSadaf Ebrahimi
175*ccdc9c3eSSadaf EbrahimiASCII character classes:
176*ccdc9c3eSSadaf Ebrahimi[[:alnum:]]	alphanumeric (== [0-9A-Za-z])
177*ccdc9c3eSSadaf Ebrahimi[[:alpha:]]	alphabetic (== [A-Za-z])
178*ccdc9c3eSSadaf Ebrahimi[[:ascii:]]	ASCII (== [\x00-\x7F])
179*ccdc9c3eSSadaf Ebrahimi[[:blank:]]	blank (== [\t ])
180*ccdc9c3eSSadaf Ebrahimi[[:cntrl:]]	control (== [\x00-\x1F\x7F])
181*ccdc9c3eSSadaf Ebrahimi[[:digit:]]	digits (== [0-9])
182*ccdc9c3eSSadaf Ebrahimi[[:graph:]]	graphical (== [!-~] == [A-Za-z0-9!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])
183*ccdc9c3eSSadaf Ebrahimi[[:lower:]]	lower case (== [a-z])
184*ccdc9c3eSSadaf Ebrahimi[[:print:]]	printable (== [ -~] == [ [:graph:]])
185*ccdc9c3eSSadaf Ebrahimi[[:punct:]]	punctuation (== [!-/:-@[-`{-~])
186*ccdc9c3eSSadaf Ebrahimi[[:space:]]	whitespace (== [\t\n\v\f\r ])
187*ccdc9c3eSSadaf Ebrahimi[[:upper:]]	upper case (== [A-Z])
188*ccdc9c3eSSadaf Ebrahimi[[:word:]]	word characters (== [0-9A-Za-z_])
189*ccdc9c3eSSadaf Ebrahimi[[:xdigit:]]	hex digit (== [0-9A-Fa-f])
190*ccdc9c3eSSadaf Ebrahimi
191*ccdc9c3eSSadaf EbrahimiUnicode character class names--general category:
192*ccdc9c3eSSadaf EbrahimiC	other
193*ccdc9c3eSSadaf EbrahimiCc	control
194*ccdc9c3eSSadaf EbrahimiCf	format
195*ccdc9c3eSSadaf EbrahimiCn	unassigned code points NOT SUPPORTED
196*ccdc9c3eSSadaf EbrahimiCo	private use
197*ccdc9c3eSSadaf EbrahimiCs	surrogate
198*ccdc9c3eSSadaf EbrahimiL	letter
199*ccdc9c3eSSadaf EbrahimiLC	cased letter NOT SUPPORTED
200*ccdc9c3eSSadaf EbrahimiL&	cased letter NOT SUPPORTED
201*ccdc9c3eSSadaf EbrahimiLl	lowercase letter
202*ccdc9c3eSSadaf EbrahimiLm	modifier letter
203*ccdc9c3eSSadaf EbrahimiLo	other letter
204*ccdc9c3eSSadaf EbrahimiLt	titlecase letter
205*ccdc9c3eSSadaf EbrahimiLu	uppercase letter
206*ccdc9c3eSSadaf EbrahimiM	mark
207*ccdc9c3eSSadaf EbrahimiMc	spacing mark
208*ccdc9c3eSSadaf EbrahimiMe	enclosing mark
209*ccdc9c3eSSadaf EbrahimiMn	non-spacing mark
210*ccdc9c3eSSadaf EbrahimiN	number
211*ccdc9c3eSSadaf EbrahimiNd	decimal number
212*ccdc9c3eSSadaf EbrahimiNl	letter number
213*ccdc9c3eSSadaf EbrahimiNo	other number
214*ccdc9c3eSSadaf EbrahimiP	punctuation
215*ccdc9c3eSSadaf EbrahimiPc	connector punctuation
216*ccdc9c3eSSadaf EbrahimiPd	dash punctuation
217*ccdc9c3eSSadaf EbrahimiPe	close punctuation
218*ccdc9c3eSSadaf EbrahimiPf	final punctuation
219*ccdc9c3eSSadaf EbrahimiPi	initial punctuation
220*ccdc9c3eSSadaf EbrahimiPo	other punctuation
221*ccdc9c3eSSadaf EbrahimiPs	open punctuation
222*ccdc9c3eSSadaf EbrahimiS	symbol
223*ccdc9c3eSSadaf EbrahimiSc	currency symbol
224*ccdc9c3eSSadaf EbrahimiSk	modifier symbol
225*ccdc9c3eSSadaf EbrahimiSm	math symbol
226*ccdc9c3eSSadaf EbrahimiSo	other symbol
227*ccdc9c3eSSadaf EbrahimiZ	separator
228*ccdc9c3eSSadaf EbrahimiZl	line separator
229*ccdc9c3eSSadaf EbrahimiZp	paragraph separator
230*ccdc9c3eSSadaf EbrahimiZs	space separator
231*ccdc9c3eSSadaf Ebrahimi
232*ccdc9c3eSSadaf EbrahimiUnicode character class names--scripts:
233*ccdc9c3eSSadaf EbrahimiAdlam
234*ccdc9c3eSSadaf EbrahimiAhom
235*ccdc9c3eSSadaf EbrahimiAnatolian_Hieroglyphs
236*ccdc9c3eSSadaf EbrahimiArabic
237*ccdc9c3eSSadaf EbrahimiArmenian
238*ccdc9c3eSSadaf EbrahimiAvestan
239*ccdc9c3eSSadaf EbrahimiBalinese
240*ccdc9c3eSSadaf EbrahimiBamum
241*ccdc9c3eSSadaf EbrahimiBassa_Vah
242*ccdc9c3eSSadaf EbrahimiBatak
243*ccdc9c3eSSadaf EbrahimiBengali
244*ccdc9c3eSSadaf EbrahimiBhaiksuki
245*ccdc9c3eSSadaf EbrahimiBopomofo
246*ccdc9c3eSSadaf EbrahimiBrahmi
247*ccdc9c3eSSadaf EbrahimiBraille
248*ccdc9c3eSSadaf EbrahimiBuginese
249*ccdc9c3eSSadaf EbrahimiBuhid
250*ccdc9c3eSSadaf EbrahimiCanadian_Aboriginal
251*ccdc9c3eSSadaf EbrahimiCarian
252*ccdc9c3eSSadaf EbrahimiCaucasian_Albanian
253*ccdc9c3eSSadaf EbrahimiChakma
254*ccdc9c3eSSadaf EbrahimiCham
255*ccdc9c3eSSadaf EbrahimiCherokee
256*ccdc9c3eSSadaf EbrahimiCommon
257*ccdc9c3eSSadaf EbrahimiCoptic
258*ccdc9c3eSSadaf EbrahimiCuneiform
259*ccdc9c3eSSadaf EbrahimiCypriot
260*ccdc9c3eSSadaf EbrahimiCyrillic
261*ccdc9c3eSSadaf EbrahimiDeseret
262*ccdc9c3eSSadaf EbrahimiDevanagari
263*ccdc9c3eSSadaf EbrahimiDogra
264*ccdc9c3eSSadaf EbrahimiDuployan
265*ccdc9c3eSSadaf EbrahimiEgyptian_Hieroglyphs
266*ccdc9c3eSSadaf EbrahimiElbasan
267*ccdc9c3eSSadaf EbrahimiEthiopic
268*ccdc9c3eSSadaf EbrahimiGeorgian
269*ccdc9c3eSSadaf EbrahimiGlagolitic
270*ccdc9c3eSSadaf EbrahimiGothic
271*ccdc9c3eSSadaf EbrahimiGrantha
272*ccdc9c3eSSadaf EbrahimiGreek
273*ccdc9c3eSSadaf EbrahimiGujarati
274*ccdc9c3eSSadaf EbrahimiGunjala_Gondi
275*ccdc9c3eSSadaf EbrahimiGurmukhi
276*ccdc9c3eSSadaf EbrahimiHan
277*ccdc9c3eSSadaf EbrahimiHangul
278*ccdc9c3eSSadaf EbrahimiHanifi_Rohingya
279*ccdc9c3eSSadaf EbrahimiHanunoo
280*ccdc9c3eSSadaf EbrahimiHatran
281*ccdc9c3eSSadaf EbrahimiHebrew
282*ccdc9c3eSSadaf EbrahimiHiragana
283*ccdc9c3eSSadaf EbrahimiImperial_Aramaic
284*ccdc9c3eSSadaf EbrahimiInherited
285*ccdc9c3eSSadaf EbrahimiInscriptional_Pahlavi
286*ccdc9c3eSSadaf EbrahimiInscriptional_Parthian
287*ccdc9c3eSSadaf EbrahimiJavanese
288*ccdc9c3eSSadaf EbrahimiKaithi
289*ccdc9c3eSSadaf EbrahimiKannada
290*ccdc9c3eSSadaf EbrahimiKatakana
291*ccdc9c3eSSadaf EbrahimiKayah_Li
292*ccdc9c3eSSadaf EbrahimiKharoshthi
293*ccdc9c3eSSadaf EbrahimiKhmer
294*ccdc9c3eSSadaf EbrahimiKhojki
295*ccdc9c3eSSadaf EbrahimiKhudawadi
296*ccdc9c3eSSadaf EbrahimiLao
297*ccdc9c3eSSadaf EbrahimiLatin
298*ccdc9c3eSSadaf EbrahimiLepcha
299*ccdc9c3eSSadaf EbrahimiLimbu
300*ccdc9c3eSSadaf EbrahimiLinear_A
301*ccdc9c3eSSadaf EbrahimiLinear_B
302*ccdc9c3eSSadaf EbrahimiLisu
303*ccdc9c3eSSadaf EbrahimiLycian
304*ccdc9c3eSSadaf EbrahimiLydian
305*ccdc9c3eSSadaf EbrahimiMahajani
306*ccdc9c3eSSadaf EbrahimiMakasar
307*ccdc9c3eSSadaf EbrahimiMalayalam
308*ccdc9c3eSSadaf EbrahimiMandaic
309*ccdc9c3eSSadaf EbrahimiManichaean
310*ccdc9c3eSSadaf EbrahimiMarchen
311*ccdc9c3eSSadaf EbrahimiMasaram_Gondi
312*ccdc9c3eSSadaf EbrahimiMedefaidrin
313*ccdc9c3eSSadaf EbrahimiMeetei_Mayek
314*ccdc9c3eSSadaf EbrahimiMende_Kikakui
315*ccdc9c3eSSadaf EbrahimiMeroitic_Cursive
316*ccdc9c3eSSadaf EbrahimiMeroitic_Hieroglyphs
317*ccdc9c3eSSadaf EbrahimiMiao
318*ccdc9c3eSSadaf EbrahimiModi
319*ccdc9c3eSSadaf EbrahimiMongolian
320*ccdc9c3eSSadaf EbrahimiMro
321*ccdc9c3eSSadaf EbrahimiMultani
322*ccdc9c3eSSadaf EbrahimiMyanmar
323*ccdc9c3eSSadaf EbrahimiNabataean
324*ccdc9c3eSSadaf EbrahimiNew_Tai_Lue
325*ccdc9c3eSSadaf EbrahimiNewa
326*ccdc9c3eSSadaf EbrahimiNko
327*ccdc9c3eSSadaf EbrahimiNushu
328*ccdc9c3eSSadaf EbrahimiOgham
329*ccdc9c3eSSadaf EbrahimiOl_Chiki
330*ccdc9c3eSSadaf EbrahimiOld_Hungarian
331*ccdc9c3eSSadaf EbrahimiOld_Italic
332*ccdc9c3eSSadaf EbrahimiOld_North_Arabian
333*ccdc9c3eSSadaf EbrahimiOld_Permic
334*ccdc9c3eSSadaf EbrahimiOld_Persian
335*ccdc9c3eSSadaf EbrahimiOld_Sogdian
336*ccdc9c3eSSadaf EbrahimiOld_South_Arabian
337*ccdc9c3eSSadaf EbrahimiOld_Turkic
338*ccdc9c3eSSadaf EbrahimiOriya
339*ccdc9c3eSSadaf EbrahimiOsage
340*ccdc9c3eSSadaf EbrahimiOsmanya
341*ccdc9c3eSSadaf EbrahimiPahawh_Hmong
342*ccdc9c3eSSadaf EbrahimiPalmyrene
343*ccdc9c3eSSadaf EbrahimiPau_Cin_Hau
344*ccdc9c3eSSadaf EbrahimiPhags_Pa
345*ccdc9c3eSSadaf EbrahimiPhoenician
346*ccdc9c3eSSadaf EbrahimiPsalter_Pahlavi
347*ccdc9c3eSSadaf EbrahimiRejang
348*ccdc9c3eSSadaf EbrahimiRunic
349*ccdc9c3eSSadaf EbrahimiSamaritan
350*ccdc9c3eSSadaf EbrahimiSaurashtra
351*ccdc9c3eSSadaf EbrahimiSharada
352*ccdc9c3eSSadaf EbrahimiShavian
353*ccdc9c3eSSadaf EbrahimiSiddham
354*ccdc9c3eSSadaf EbrahimiSignWriting
355*ccdc9c3eSSadaf EbrahimiSinhala
356*ccdc9c3eSSadaf EbrahimiSogdian
357*ccdc9c3eSSadaf EbrahimiSora_Sompeng
358*ccdc9c3eSSadaf EbrahimiSoyombo
359*ccdc9c3eSSadaf EbrahimiSundanese
360*ccdc9c3eSSadaf EbrahimiSyloti_Nagri
361*ccdc9c3eSSadaf EbrahimiSyriac
362*ccdc9c3eSSadaf EbrahimiTagalog
363*ccdc9c3eSSadaf EbrahimiTagbanwa
364*ccdc9c3eSSadaf EbrahimiTai_Le
365*ccdc9c3eSSadaf EbrahimiTai_Tham
366*ccdc9c3eSSadaf EbrahimiTai_Viet
367*ccdc9c3eSSadaf EbrahimiTakri
368*ccdc9c3eSSadaf EbrahimiTamil
369*ccdc9c3eSSadaf EbrahimiTangut
370*ccdc9c3eSSadaf EbrahimiTelugu
371*ccdc9c3eSSadaf EbrahimiThaana
372*ccdc9c3eSSadaf EbrahimiThai
373*ccdc9c3eSSadaf EbrahimiTibetan
374*ccdc9c3eSSadaf EbrahimiTifinagh
375*ccdc9c3eSSadaf EbrahimiTirhuta
376*ccdc9c3eSSadaf EbrahimiUgaritic
377*ccdc9c3eSSadaf EbrahimiVai
378*ccdc9c3eSSadaf EbrahimiWarang_Citi
379*ccdc9c3eSSadaf EbrahimiYi
380*ccdc9c3eSSadaf EbrahimiZanabazar_Square
381*ccdc9c3eSSadaf Ebrahimi
382*ccdc9c3eSSadaf EbrahimiVim character classes:
383*ccdc9c3eSSadaf Ebrahimi\i	identifier character NOT SUPPORTED vim
384*ccdc9c3eSSadaf Ebrahimi\I	«\i» except digits NOT SUPPORTED vim
385*ccdc9c3eSSadaf Ebrahimi\k	keyword character NOT SUPPORTED vim
386*ccdc9c3eSSadaf Ebrahimi\K	«\k» except digits NOT SUPPORTED vim
387*ccdc9c3eSSadaf Ebrahimi\f	file name character NOT SUPPORTED vim
388*ccdc9c3eSSadaf Ebrahimi\F	«\f» except digits NOT SUPPORTED vim
389*ccdc9c3eSSadaf Ebrahimi\p	printable character NOT SUPPORTED vim
390*ccdc9c3eSSadaf Ebrahimi\P	«\p» except digits NOT SUPPORTED vim
391*ccdc9c3eSSadaf Ebrahimi\s	whitespace character (== [ \t]) NOT SUPPORTED vim
392*ccdc9c3eSSadaf Ebrahimi\S	non-white space character (== [^ \t]) NOT SUPPORTED vim
393*ccdc9c3eSSadaf Ebrahimi\d	digits (== [0-9]) vim
394*ccdc9c3eSSadaf Ebrahimi\D	not «\d» vim
395*ccdc9c3eSSadaf Ebrahimi\x	hex digits (== [0-9A-Fa-f]) NOT SUPPORTED vim
396*ccdc9c3eSSadaf Ebrahimi\X	not «\x» NOT SUPPORTED vim
397*ccdc9c3eSSadaf Ebrahimi\o	octal digits (== [0-7]) NOT SUPPORTED vim
398*ccdc9c3eSSadaf Ebrahimi\O	not «\o» NOT SUPPORTED vim
399*ccdc9c3eSSadaf Ebrahimi\w	word character vim
400*ccdc9c3eSSadaf Ebrahimi\W	not «\w» vim
401*ccdc9c3eSSadaf Ebrahimi\h	head of word character NOT SUPPORTED vim
402*ccdc9c3eSSadaf Ebrahimi\H	not «\h» NOT SUPPORTED vim
403*ccdc9c3eSSadaf Ebrahimi\a	alphabetic NOT SUPPORTED vim
404*ccdc9c3eSSadaf Ebrahimi\A	not «\a» NOT SUPPORTED vim
405*ccdc9c3eSSadaf Ebrahimi\l	lowercase NOT SUPPORTED vim
406*ccdc9c3eSSadaf Ebrahimi\L	not lowercase NOT SUPPORTED vim
407*ccdc9c3eSSadaf Ebrahimi\u	uppercase NOT SUPPORTED vim
408*ccdc9c3eSSadaf Ebrahimi\U	not uppercase NOT SUPPORTED vim
409*ccdc9c3eSSadaf Ebrahimi\_x	«\x» plus newline, for any «x» NOT SUPPORTED vim
410*ccdc9c3eSSadaf Ebrahimi
411*ccdc9c3eSSadaf EbrahimiVim flags:
412*ccdc9c3eSSadaf Ebrahimi\c	ignore case NOT SUPPORTED vim
413*ccdc9c3eSSadaf Ebrahimi\C	match case NOT SUPPORTED vim
414*ccdc9c3eSSadaf Ebrahimi\m	magic NOT SUPPORTED vim
415*ccdc9c3eSSadaf Ebrahimi\M	nomagic NOT SUPPORTED vim
416*ccdc9c3eSSadaf Ebrahimi\v	verymagic NOT SUPPORTED vim
417*ccdc9c3eSSadaf Ebrahimi\V	verynomagic NOT SUPPORTED vim
418*ccdc9c3eSSadaf Ebrahimi\Z	ignore differences in Unicode combining characters NOT SUPPORTED vim
419*ccdc9c3eSSadaf Ebrahimi
420*ccdc9c3eSSadaf EbrahimiMagic:
421*ccdc9c3eSSadaf Ebrahimi(?{code})	arbitrary Perl code NOT SUPPORTED perl
422*ccdc9c3eSSadaf Ebrahimi(??{code})	postponed arbitrary Perl code NOT SUPPORTED perl
423*ccdc9c3eSSadaf Ebrahimi(?n)	recursive call to regexp capturing group «n» NOT SUPPORTED
424*ccdc9c3eSSadaf Ebrahimi(?+n)	recursive call to relative group «+n» NOT SUPPORTED
425*ccdc9c3eSSadaf Ebrahimi(?-n)	recursive call to relative group «-n» NOT SUPPORTED
426*ccdc9c3eSSadaf Ebrahimi(?C)	PCRE callout NOT SUPPORTED pcre
427*ccdc9c3eSSadaf Ebrahimi(?R)	recursive call to entire regexp (== (?0)) NOT SUPPORTED
428*ccdc9c3eSSadaf Ebrahimi(?&name)	recursive call to named group NOT SUPPORTED
429*ccdc9c3eSSadaf Ebrahimi(?P=name)	named backreference NOT SUPPORTED
430*ccdc9c3eSSadaf Ebrahimi(?P>name)	recursive call to named group NOT SUPPORTED
431*ccdc9c3eSSadaf Ebrahimi(?(cond)true|false)	conditional branch NOT SUPPORTED
432*ccdc9c3eSSadaf Ebrahimi(?(cond)true)	conditional branch NOT SUPPORTED
433*ccdc9c3eSSadaf Ebrahimi(*ACCEPT)	make regexps more like Prolog NOT SUPPORTED
434*ccdc9c3eSSadaf Ebrahimi(*COMMIT)	NOT SUPPORTED
435*ccdc9c3eSSadaf Ebrahimi(*F)	NOT SUPPORTED
436*ccdc9c3eSSadaf Ebrahimi(*FAIL)	NOT SUPPORTED
437*ccdc9c3eSSadaf Ebrahimi(*MARK)	NOT SUPPORTED
438*ccdc9c3eSSadaf Ebrahimi(*PRUNE)	NOT SUPPORTED
439*ccdc9c3eSSadaf Ebrahimi(*SKIP)	NOT SUPPORTED
440*ccdc9c3eSSadaf Ebrahimi(*THEN)	NOT SUPPORTED
441*ccdc9c3eSSadaf Ebrahimi(*ANY)	set newline convention NOT SUPPORTED
442*ccdc9c3eSSadaf Ebrahimi(*ANYCRLF)	NOT SUPPORTED
443*ccdc9c3eSSadaf Ebrahimi(*CR)	NOT SUPPORTED
444*ccdc9c3eSSadaf Ebrahimi(*CRLF)	NOT SUPPORTED
445*ccdc9c3eSSadaf Ebrahimi(*LF)	NOT SUPPORTED
446*ccdc9c3eSSadaf Ebrahimi(*BSR_ANYCRLF)	set \R convention NOT SUPPORTED pcre
447*ccdc9c3eSSadaf Ebrahimi(*BSR_UNICODE)	NOT SUPPORTED pcre
448*ccdc9c3eSSadaf Ebrahimi
449