xref: /aosp_15_r20/external/pcre/testdata/testoutput5 (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi# This set of tests checks the API, internals, and non-Perl stuff for UTF
2*22dc650dSSadaf Ebrahimi# support, including Unicode properties. However, tests that give different
3*22dc650dSSadaf Ebrahimi# results in 8-bit, 16-bit, and 32-bit modes are excluded (see tests 10 and
4*22dc650dSSadaf Ebrahimi# 12).
5*22dc650dSSadaf Ebrahimi
6*22dc650dSSadaf Ebrahimi#newline_default lf any anycrlf
7*22dc650dSSadaf Ebrahimi
8*22dc650dSSadaf Ebrahimi# PCRE2 and Perl disagree about the characteristics of certain Unicode
9*22dc650dSSadaf Ebrahimi# characters. For example, 061C was considered by Perl to be Arabic, though
10*22dc650dSSadaf Ebrahimi# it was not listed as such in the Unicode Scripts.txt file for Unicode 8.
11*22dc650dSSadaf Ebrahimi# However, it *is* in that file for Unicode 10, but when I came to re-check,
12*22dc650dSSadaf Ebrahimi# Perl had changed in the meantime, with 5.026 not recognizing it as Arabic.
13*22dc650dSSadaf Ebrahimi
14*22dc650dSSadaf Ebrahimi# 2066-2069 are graphic and printable according to Perl, though they are
15*22dc650dSSadaf Ebrahimi# actually "isolate" control characters. That is why the following tests are
16*22dc650dSSadaf Ebrahimi# here rather than in test 4.
17*22dc650dSSadaf Ebrahimi
18*22dc650dSSadaf Ebrahimi/^[\p{Arabic}]/utf
19*22dc650dSSadaf Ebrahimi    \x{061c}
20*22dc650dSSadaf Ebrahimi 0: \x{61c}
21*22dc650dSSadaf Ebrahimi
22*22dc650dSSadaf Ebrahimi/^[[:graph:]]+$/utf,ucp
23*22dc650dSSadaf Ebrahimi\= Expect no match
24*22dc650dSSadaf Ebrahimi    \x{61c}
25*22dc650dSSadaf EbrahimiNo match
26*22dc650dSSadaf Ebrahimi    \x{2066}
27*22dc650dSSadaf EbrahimiNo match
28*22dc650dSSadaf Ebrahimi    \x{2067}
29*22dc650dSSadaf EbrahimiNo match
30*22dc650dSSadaf Ebrahimi    \x{2068}
31*22dc650dSSadaf EbrahimiNo match
32*22dc650dSSadaf Ebrahimi    \x{2069}
33*22dc650dSSadaf EbrahimiNo match
34*22dc650dSSadaf Ebrahimi
35*22dc650dSSadaf Ebrahimi/^[[:print:]]+$/utf,ucp
36*22dc650dSSadaf Ebrahimi\= Expect no match
37*22dc650dSSadaf Ebrahimi    \x{61c}
38*22dc650dSSadaf EbrahimiNo match
39*22dc650dSSadaf Ebrahimi    \x{2066}
40*22dc650dSSadaf EbrahimiNo match
41*22dc650dSSadaf Ebrahimi    \x{2067}
42*22dc650dSSadaf EbrahimiNo match
43*22dc650dSSadaf Ebrahimi    \x{2068}
44*22dc650dSSadaf EbrahimiNo match
45*22dc650dSSadaf Ebrahimi    \x{2069}
46*22dc650dSSadaf EbrahimiNo match
47*22dc650dSSadaf Ebrahimi
48*22dc650dSSadaf Ebrahimi/^[[:^graph:]]+$/utf,ucp
49*22dc650dSSadaf Ebrahimi    \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{61c}\x{1680}
50*22dc650dSSadaf Ebrahimi 0: \x{09}\x{0a}\x{1d} \x{85}\x{a0}\x{61c}\x{1680}
51*22dc650dSSadaf Ebrahimi    \x{2028}\x{2029}\x{202f}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}
52*22dc650dSSadaf Ebrahimi 0: \x{2028}\x{2029}\x{202f}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}
53*22dc650dSSadaf Ebrahimi
54*22dc650dSSadaf Ebrahimi/^[[:^print:]]+$/utf,ucp
55*22dc650dSSadaf Ebrahimi    \x{09}\x{1D}\x{85}\x{61c}\x{2028}\x{2029}\x{2065}\x{2066}\x{2067}
56*22dc650dSSadaf Ebrahimi 0: \x{09}\x{1d}\x{85}\x{61c}\x{2028}\x{2029}\x{2065}\x{2066}\x{2067}
57*22dc650dSSadaf Ebrahimi    \x{2068}\x{2069}
58*22dc650dSSadaf Ebrahimi 0: \x{2068}\x{2069}
59*22dc650dSSadaf Ebrahimi
60*22dc650dSSadaf Ebrahimi# Perl does not consider U+180e to be a space character. It is true that it
61*22dc650dSSadaf Ebrahimi# does not appear in the Unicode PropList.txt file as such, but in many other
62*22dc650dSSadaf Ebrahimi# sources it is listed as a space, and has been treated as such in PCRE for
63*22dc650dSSadaf Ebrahimi# a long time.
64*22dc650dSSadaf Ebrahimi
65*22dc650dSSadaf Ebrahimi/^>[[:blank:]]*/utf,ucp
66*22dc650dSSadaf Ebrahimi    >\x{20}\x{a0}\x{1680}\x{180e}\x{2000}\x{202f}\x{9}\x{b}\x{2028}
67*22dc650dSSadaf Ebrahimi 0: > \x{a0}\x{1680}\x{180e}\x{2000}\x{202f}\x{09}
68*22dc650dSSadaf Ebrahimi
69*22dc650dSSadaf Ebrahimi/^A\s+Z/utf,ucp
70*22dc650dSSadaf Ebrahimi    A\x{85}\x{180e}\x{2005}Z
71*22dc650dSSadaf Ebrahimi 0: A\x{85}\x{180e}\x{2005}Z
72*22dc650dSSadaf Ebrahimi
73*22dc650dSSadaf Ebrahimi/^A[\s]+Z/utf,ucp
74*22dc650dSSadaf Ebrahimi    A\x{2005}Z
75*22dc650dSSadaf Ebrahimi 0: A\x{2005}Z
76*22dc650dSSadaf Ebrahimi    A\x{85}\x{2005}Z
77*22dc650dSSadaf Ebrahimi 0: A\x{85}\x{2005}Z
78*22dc650dSSadaf Ebrahimi
79*22dc650dSSadaf Ebrahimi/^[[:graph:]]+$/utf,ucp
80*22dc650dSSadaf Ebrahimi\= Expect no match
81*22dc650dSSadaf Ebrahimi    \x{180e}
82*22dc650dSSadaf EbrahimiNo match
83*22dc650dSSadaf Ebrahimi
84*22dc650dSSadaf Ebrahimi/^[[:print:]]+$/utf,ucp
85*22dc650dSSadaf Ebrahimi    \x{180e}
86*22dc650dSSadaf Ebrahimi 0: \x{180e}
87*22dc650dSSadaf Ebrahimi
88*22dc650dSSadaf Ebrahimi/^[[:^graph:]]+$/utf,ucp
89*22dc650dSSadaf Ebrahimi    \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{61c}\x{1680}\x{180e}
90*22dc650dSSadaf Ebrahimi 0: \x{09}\x{0a}\x{1d} \x{85}\x{a0}\x{61c}\x{1680}\x{180e}
91*22dc650dSSadaf Ebrahimi
92*22dc650dSSadaf Ebrahimi/^[[:^print:]]+$/utf,ucp
93*22dc650dSSadaf Ebrahimi\= Expect no match
94*22dc650dSSadaf Ebrahimi    \x{180e}
95*22dc650dSSadaf EbrahimiNo match
96*22dc650dSSadaf Ebrahimi
97*22dc650dSSadaf Ebrahimi# End of U+180E tests.
98*22dc650dSSadaf Ebrahimi
99*22dc650dSSadaf Ebrahimi# ---------------------------------------------------------------------
100*22dc650dSSadaf Ebrahimi
101*22dc650dSSadaf Ebrahimi/\x{110000}/IB,utf
102*22dc650dSSadaf EbrahimiFailed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
103*22dc650dSSadaf Ebrahimi
104*22dc650dSSadaf Ebrahimi/\o{4200000}/IB,utf
105*22dc650dSSadaf EbrahimiFailed: error 134 at offset 10: character code point value in \x{} or \o{} is too large
106*22dc650dSSadaf Ebrahimi
107*22dc650dSSadaf Ebrahimi/\x{ffffffff}/utf
108*22dc650dSSadaf EbrahimiFailed: error 134 at offset 11: character code point value in \x{} or \o{} is too large
109*22dc650dSSadaf Ebrahimi
110*22dc650dSSadaf Ebrahimi/\o{37777777777}/utf
111*22dc650dSSadaf EbrahimiFailed: error 134 at offset 14: character code point value in \x{} or \o{} is too large
112*22dc650dSSadaf Ebrahimi
113*22dc650dSSadaf Ebrahimi/\x{100000000}/utf
114*22dc650dSSadaf EbrahimiFailed: error 134 at offset 12: character code point value in \x{} or \o{} is too large
115*22dc650dSSadaf Ebrahimi
116*22dc650dSSadaf Ebrahimi/\o{77777777777}/utf
117*22dc650dSSadaf EbrahimiFailed: error 134 at offset 14: character code point value in \x{} or \o{} is too large
118*22dc650dSSadaf Ebrahimi
119*22dc650dSSadaf Ebrahimi/\x{d800}/utf
120*22dc650dSSadaf EbrahimiFailed: error 173 at offset 7: disallowed Unicode code point (>= 0xd800 && <= 0xdfff)
121*22dc650dSSadaf Ebrahimi
122*22dc650dSSadaf Ebrahimi/\o{154000}/utf
123*22dc650dSSadaf EbrahimiFailed: error 173 at offset 9: disallowed Unicode code point (>= 0xd800 && <= 0xdfff)
124*22dc650dSSadaf Ebrahimi
125*22dc650dSSadaf Ebrahimi/\x{dfff}/utf
126*22dc650dSSadaf EbrahimiFailed: error 173 at offset 7: disallowed Unicode code point (>= 0xd800 && <= 0xdfff)
127*22dc650dSSadaf Ebrahimi
128*22dc650dSSadaf Ebrahimi/\o{157777}/utf
129*22dc650dSSadaf EbrahimiFailed: error 173 at offset 9: disallowed Unicode code point (>= 0xd800 && <= 0xdfff)
130*22dc650dSSadaf Ebrahimi
131*22dc650dSSadaf Ebrahimi/\x{d7ff}/utf
132*22dc650dSSadaf Ebrahimi
133*22dc650dSSadaf Ebrahimi/\o{153777}/utf
134*22dc650dSSadaf Ebrahimi
135*22dc650dSSadaf Ebrahimi/\x{e000}/utf
136*22dc650dSSadaf Ebrahimi
137*22dc650dSSadaf Ebrahimi/\o{170000}/utf
138*22dc650dSSadaf Ebrahimi
139*22dc650dSSadaf Ebrahimi/^\x{100}a\x{1234}/utf
140*22dc650dSSadaf Ebrahimi    \x{100}a\x{1234}bcd
141*22dc650dSSadaf Ebrahimi 0: \x{100}a\x{1234}
142*22dc650dSSadaf Ebrahimi
143*22dc650dSSadaf Ebrahimi/\x{0041}\x{2262}\x{0391}\x{002e}/IB,utf
144*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
145*22dc650dSSadaf Ebrahimi        Bra
146*22dc650dSSadaf Ebrahimi        A\x{2262}\x{391}.
147*22dc650dSSadaf Ebrahimi        Ket
148*22dc650dSSadaf Ebrahimi        End
149*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
150*22dc650dSSadaf EbrahimiCapture group count = 0
151*22dc650dSSadaf EbrahimiOptions: utf
152*22dc650dSSadaf EbrahimiFirst code unit = 'A'
153*22dc650dSSadaf EbrahimiLast code unit = '.'
154*22dc650dSSadaf EbrahimiSubject length lower bound = 4
155*22dc650dSSadaf Ebrahimi    \x{0041}\x{2262}\x{0391}\x{002e}
156*22dc650dSSadaf Ebrahimi 0: A\x{2262}\x{391}.
157*22dc650dSSadaf Ebrahimi
158*22dc650dSSadaf Ebrahimi/.{3,5}X/IB,utf
159*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
160*22dc650dSSadaf Ebrahimi        Bra
161*22dc650dSSadaf Ebrahimi        Any{3}
162*22dc650dSSadaf Ebrahimi        Any{0,2}
163*22dc650dSSadaf Ebrahimi        X
164*22dc650dSSadaf Ebrahimi        Ket
165*22dc650dSSadaf Ebrahimi        End
166*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
167*22dc650dSSadaf EbrahimiCapture group count = 0
168*22dc650dSSadaf EbrahimiOptions: utf
169*22dc650dSSadaf EbrahimiLast code unit = 'X'
170*22dc650dSSadaf EbrahimiSubject length lower bound = 4
171*22dc650dSSadaf Ebrahimi    \x{212ab}\x{212ab}\x{212ab}\x{861}X
172*22dc650dSSadaf Ebrahimi 0: \x{212ab}\x{212ab}\x{212ab}\x{861}X
173*22dc650dSSadaf Ebrahimi
174*22dc650dSSadaf Ebrahimi/.{3,5}?/IB,utf
175*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
176*22dc650dSSadaf Ebrahimi        Bra
177*22dc650dSSadaf Ebrahimi        Any{3}
178*22dc650dSSadaf Ebrahimi        Any{0,2}?
179*22dc650dSSadaf Ebrahimi        Ket
180*22dc650dSSadaf Ebrahimi        End
181*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
182*22dc650dSSadaf EbrahimiCapture group count = 0
183*22dc650dSSadaf EbrahimiOptions: utf
184*22dc650dSSadaf EbrahimiSubject length lower bound = 3
185*22dc650dSSadaf Ebrahimi    \x{212ab}\x{212ab}\x{212ab}\x{861}
186*22dc650dSSadaf Ebrahimi 0: \x{212ab}\x{212ab}\x{212ab}
187*22dc650dSSadaf Ebrahimi
188*22dc650dSSadaf Ebrahimi/^[ab]/IB,utf
189*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
190*22dc650dSSadaf Ebrahimi        Bra
191*22dc650dSSadaf Ebrahimi        ^
192*22dc650dSSadaf Ebrahimi        [ab]
193*22dc650dSSadaf Ebrahimi        Ket
194*22dc650dSSadaf Ebrahimi        End
195*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
196*22dc650dSSadaf EbrahimiCapture group count = 0
197*22dc650dSSadaf EbrahimiCompile options: utf
198*22dc650dSSadaf EbrahimiOverall options: anchored utf
199*22dc650dSSadaf EbrahimiStarting code units: a b
200*22dc650dSSadaf EbrahimiSubject length lower bound = 1
201*22dc650dSSadaf Ebrahimi    bar
202*22dc650dSSadaf Ebrahimi 0: b
203*22dc650dSSadaf Ebrahimi\= Expect no match
204*22dc650dSSadaf Ebrahimi    c
205*22dc650dSSadaf EbrahimiNo match
206*22dc650dSSadaf Ebrahimi    \x{ff}
207*22dc650dSSadaf EbrahimiNo match
208*22dc650dSSadaf Ebrahimi    \x{100}
209*22dc650dSSadaf EbrahimiNo match
210*22dc650dSSadaf Ebrahimi
211*22dc650dSSadaf Ebrahimi/\x{100}*(\d+|"(?1)")/utf
212*22dc650dSSadaf Ebrahimi    1234
213*22dc650dSSadaf Ebrahimi 0: 1234
214*22dc650dSSadaf Ebrahimi 1: 1234
215*22dc650dSSadaf Ebrahimi    "1234"
216*22dc650dSSadaf Ebrahimi 0: "1234"
217*22dc650dSSadaf Ebrahimi 1: "1234"
218*22dc650dSSadaf Ebrahimi    \x{100}1234
219*22dc650dSSadaf Ebrahimi 0: \x{100}1234
220*22dc650dSSadaf Ebrahimi 1: 1234
221*22dc650dSSadaf Ebrahimi    "\x{100}1234"
222*22dc650dSSadaf Ebrahimi 0: \x{100}1234
223*22dc650dSSadaf Ebrahimi 1: 1234
224*22dc650dSSadaf Ebrahimi    \x{100}\x{100}12ab
225*22dc650dSSadaf Ebrahimi 0: \x{100}\x{100}12
226*22dc650dSSadaf Ebrahimi 1: 12
227*22dc650dSSadaf Ebrahimi    \x{100}\x{100}"12"
228*22dc650dSSadaf Ebrahimi 0: \x{100}\x{100}"12"
229*22dc650dSSadaf Ebrahimi 1: "12"
230*22dc650dSSadaf Ebrahimi\= Expect no match
231*22dc650dSSadaf Ebrahimi    \x{100}\x{100}abcd
232*22dc650dSSadaf EbrahimiNo match
233*22dc650dSSadaf Ebrahimi
234*22dc650dSSadaf Ebrahimi/\x{100}*/IB,utf
235*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
236*22dc650dSSadaf Ebrahimi        Bra
237*22dc650dSSadaf Ebrahimi        \x{100}*+
238*22dc650dSSadaf Ebrahimi        Ket
239*22dc650dSSadaf Ebrahimi        End
240*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
241*22dc650dSSadaf EbrahimiCapture group count = 0
242*22dc650dSSadaf EbrahimiMay match empty string
243*22dc650dSSadaf EbrahimiOptions: utf
244*22dc650dSSadaf EbrahimiSubject length lower bound = 0
245*22dc650dSSadaf Ebrahimi
246*22dc650dSSadaf Ebrahimi/a\x{100}*/IB,utf
247*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
248*22dc650dSSadaf Ebrahimi        Bra
249*22dc650dSSadaf Ebrahimi        a
250*22dc650dSSadaf Ebrahimi        \x{100}*+
251*22dc650dSSadaf Ebrahimi        Ket
252*22dc650dSSadaf Ebrahimi        End
253*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
254*22dc650dSSadaf EbrahimiCapture group count = 0
255*22dc650dSSadaf EbrahimiOptions: utf
256*22dc650dSSadaf EbrahimiFirst code unit = 'a'
257*22dc650dSSadaf EbrahimiSubject length lower bound = 1
258*22dc650dSSadaf Ebrahimi
259*22dc650dSSadaf Ebrahimi/ab\x{100}*/IB,utf
260*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
261*22dc650dSSadaf Ebrahimi        Bra
262*22dc650dSSadaf Ebrahimi        ab
263*22dc650dSSadaf Ebrahimi        \x{100}*+
264*22dc650dSSadaf Ebrahimi        Ket
265*22dc650dSSadaf Ebrahimi        End
266*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
267*22dc650dSSadaf EbrahimiCapture group count = 0
268*22dc650dSSadaf EbrahimiOptions: utf
269*22dc650dSSadaf EbrahimiFirst code unit = 'a'
270*22dc650dSSadaf EbrahimiLast code unit = 'b'
271*22dc650dSSadaf EbrahimiSubject length lower bound = 2
272*22dc650dSSadaf Ebrahimi
273*22dc650dSSadaf Ebrahimi/[\x{200}-\x{100}]/utf
274*22dc650dSSadaf EbrahimiFailed: error 108 at offset 15: range out of order in character class
275*22dc650dSSadaf Ebrahimi
276*22dc650dSSadaf Ebrahimi/[Ā-Ą]/utf
277*22dc650dSSadaf Ebrahimi    \x{100}
278*22dc650dSSadaf Ebrahimi 0: \x{100}
279*22dc650dSSadaf Ebrahimi    \x{104}
280*22dc650dSSadaf Ebrahimi 0: \x{104}
281*22dc650dSSadaf Ebrahimi\= Expect no match
282*22dc650dSSadaf Ebrahimi    \x{105}
283*22dc650dSSadaf EbrahimiNo match
284*22dc650dSSadaf Ebrahimi    \x{ff}
285*22dc650dSSadaf EbrahimiNo match
286*22dc650dSSadaf Ebrahimi
287*22dc650dSSadaf Ebrahimi/[\xFF]/IB
288*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
289*22dc650dSSadaf Ebrahimi        Bra
290*22dc650dSSadaf Ebrahimi        \x{ff}
291*22dc650dSSadaf Ebrahimi        Ket
292*22dc650dSSadaf Ebrahimi        End
293*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
294*22dc650dSSadaf EbrahimiCapture group count = 0
295*22dc650dSSadaf EbrahimiFirst code unit = \xff
296*22dc650dSSadaf EbrahimiSubject length lower bound = 1
297*22dc650dSSadaf Ebrahimi    >\xff<
298*22dc650dSSadaf Ebrahimi 0: \xff
299*22dc650dSSadaf Ebrahimi
300*22dc650dSSadaf Ebrahimi/[^\xFF]/IB
301*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
302*22dc650dSSadaf Ebrahimi        Bra
303*22dc650dSSadaf Ebrahimi        [^\x{ff}]
304*22dc650dSSadaf Ebrahimi        Ket
305*22dc650dSSadaf Ebrahimi        End
306*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
307*22dc650dSSadaf EbrahimiCapture group count = 0
308*22dc650dSSadaf EbrahimiSubject length lower bound = 1
309*22dc650dSSadaf Ebrahimi
310*22dc650dSSadaf Ebrahimi/[Ä-Ü]/utf
311*22dc650dSSadaf Ebrahimi    Ö # Matches without Study
312*22dc650dSSadaf Ebrahimi 0: \x{d6}
313*22dc650dSSadaf Ebrahimi    \x{d6}
314*22dc650dSSadaf Ebrahimi 0: \x{d6}
315*22dc650dSSadaf Ebrahimi
316*22dc650dSSadaf Ebrahimi/[Ä-Ü]/utf
317*22dc650dSSadaf Ebrahimi    Ö <-- Same with Study
318*22dc650dSSadaf Ebrahimi 0: \x{d6}
319*22dc650dSSadaf Ebrahimi    \x{d6}
320*22dc650dSSadaf Ebrahimi 0: \x{d6}
321*22dc650dSSadaf Ebrahimi
322*22dc650dSSadaf Ebrahimi/[\x{c4}-\x{dc}]/utf
323*22dc650dSSadaf Ebrahimi    Ö # Matches without Study
324*22dc650dSSadaf Ebrahimi 0: \x{d6}
325*22dc650dSSadaf Ebrahimi    \x{d6}
326*22dc650dSSadaf Ebrahimi 0: \x{d6}
327*22dc650dSSadaf Ebrahimi
328*22dc650dSSadaf Ebrahimi/[\x{c4}-\x{dc}]/utf
329*22dc650dSSadaf Ebrahimi    Ö <-- Same with Study
330*22dc650dSSadaf Ebrahimi 0: \x{d6}
331*22dc650dSSadaf Ebrahimi    \x{d6}
332*22dc650dSSadaf Ebrahimi 0: \x{d6}
333*22dc650dSSadaf Ebrahimi
334*22dc650dSSadaf Ebrahimi/[^\x{100}]abc(xyz(?1))/IB,utf
335*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
336*22dc650dSSadaf Ebrahimi        Bra
337*22dc650dSSadaf Ebrahimi        [^\x{100}]
338*22dc650dSSadaf Ebrahimi        abc
339*22dc650dSSadaf Ebrahimi        CBra 1
340*22dc650dSSadaf Ebrahimi        xyz
341*22dc650dSSadaf Ebrahimi        Recurse
342*22dc650dSSadaf Ebrahimi        Ket
343*22dc650dSSadaf Ebrahimi        Ket
344*22dc650dSSadaf Ebrahimi        End
345*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
346*22dc650dSSadaf EbrahimiCapture group count = 1
347*22dc650dSSadaf EbrahimiOptions: utf
348*22dc650dSSadaf EbrahimiLast code unit = 'z'
349*22dc650dSSadaf EbrahimiSubject length lower bound = 7
350*22dc650dSSadaf Ebrahimi
351*22dc650dSSadaf Ebrahimi/(\x{100}(b(?2)c))?/IB,utf
352*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
353*22dc650dSSadaf Ebrahimi        Bra
354*22dc650dSSadaf Ebrahimi        Brazero
355*22dc650dSSadaf Ebrahimi        CBra 1
356*22dc650dSSadaf Ebrahimi        \x{100}
357*22dc650dSSadaf Ebrahimi        CBra 2
358*22dc650dSSadaf Ebrahimi        b
359*22dc650dSSadaf Ebrahimi        Recurse
360*22dc650dSSadaf Ebrahimi        c
361*22dc650dSSadaf Ebrahimi        Ket
362*22dc650dSSadaf Ebrahimi        Ket
363*22dc650dSSadaf Ebrahimi        Ket
364*22dc650dSSadaf Ebrahimi        End
365*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
366*22dc650dSSadaf EbrahimiCapture group count = 2
367*22dc650dSSadaf EbrahimiMay match empty string
368*22dc650dSSadaf EbrahimiOptions: utf
369*22dc650dSSadaf EbrahimiSubject length lower bound = 0
370*22dc650dSSadaf Ebrahimi
371*22dc650dSSadaf Ebrahimi/(\x{100}(b(?2)c)){0,2}/IB,utf
372*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
373*22dc650dSSadaf Ebrahimi        Bra
374*22dc650dSSadaf Ebrahimi        Brazero
375*22dc650dSSadaf Ebrahimi        Bra
376*22dc650dSSadaf Ebrahimi        CBra 1
377*22dc650dSSadaf Ebrahimi        \x{100}
378*22dc650dSSadaf Ebrahimi        CBra 2
379*22dc650dSSadaf Ebrahimi        b
380*22dc650dSSadaf Ebrahimi        Recurse
381*22dc650dSSadaf Ebrahimi        c
382*22dc650dSSadaf Ebrahimi        Ket
383*22dc650dSSadaf Ebrahimi        Ket
384*22dc650dSSadaf Ebrahimi        Brazero
385*22dc650dSSadaf Ebrahimi        CBra 1
386*22dc650dSSadaf Ebrahimi        \x{100}
387*22dc650dSSadaf Ebrahimi        CBra 2
388*22dc650dSSadaf Ebrahimi        b
389*22dc650dSSadaf Ebrahimi        Recurse
390*22dc650dSSadaf Ebrahimi        c
391*22dc650dSSadaf Ebrahimi        Ket
392*22dc650dSSadaf Ebrahimi        Ket
393*22dc650dSSadaf Ebrahimi        Ket
394*22dc650dSSadaf Ebrahimi        Ket
395*22dc650dSSadaf Ebrahimi        End
396*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
397*22dc650dSSadaf EbrahimiCapture group count = 2
398*22dc650dSSadaf EbrahimiMay match empty string
399*22dc650dSSadaf EbrahimiOptions: utf
400*22dc650dSSadaf EbrahimiSubject length lower bound = 0
401*22dc650dSSadaf Ebrahimi
402*22dc650dSSadaf Ebrahimi/(\x{100}(b(?1)c))?/IB,utf
403*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
404*22dc650dSSadaf Ebrahimi        Bra
405*22dc650dSSadaf Ebrahimi        Brazero
406*22dc650dSSadaf Ebrahimi        CBra 1
407*22dc650dSSadaf Ebrahimi        \x{100}
408*22dc650dSSadaf Ebrahimi        CBra 2
409*22dc650dSSadaf Ebrahimi        b
410*22dc650dSSadaf Ebrahimi        Recurse
411*22dc650dSSadaf Ebrahimi        c
412*22dc650dSSadaf Ebrahimi        Ket
413*22dc650dSSadaf Ebrahimi        Ket
414*22dc650dSSadaf Ebrahimi        Ket
415*22dc650dSSadaf Ebrahimi        End
416*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
417*22dc650dSSadaf EbrahimiCapture group count = 2
418*22dc650dSSadaf EbrahimiMay match empty string
419*22dc650dSSadaf EbrahimiOptions: utf
420*22dc650dSSadaf EbrahimiSubject length lower bound = 0
421*22dc650dSSadaf Ebrahimi
422*22dc650dSSadaf Ebrahimi/(\x{100}(b(?1)c)){0,2}/IB,utf
423*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
424*22dc650dSSadaf Ebrahimi        Bra
425*22dc650dSSadaf Ebrahimi        Brazero
426*22dc650dSSadaf Ebrahimi        Bra
427*22dc650dSSadaf Ebrahimi        CBra 1
428*22dc650dSSadaf Ebrahimi        \x{100}
429*22dc650dSSadaf Ebrahimi        CBra 2
430*22dc650dSSadaf Ebrahimi        b
431*22dc650dSSadaf Ebrahimi        Recurse
432*22dc650dSSadaf Ebrahimi        c
433*22dc650dSSadaf Ebrahimi        Ket
434*22dc650dSSadaf Ebrahimi        Ket
435*22dc650dSSadaf Ebrahimi        Brazero
436*22dc650dSSadaf Ebrahimi        CBra 1
437*22dc650dSSadaf Ebrahimi        \x{100}
438*22dc650dSSadaf Ebrahimi        CBra 2
439*22dc650dSSadaf Ebrahimi        b
440*22dc650dSSadaf Ebrahimi        Recurse
441*22dc650dSSadaf Ebrahimi        c
442*22dc650dSSadaf Ebrahimi        Ket
443*22dc650dSSadaf Ebrahimi        Ket
444*22dc650dSSadaf Ebrahimi        Ket
445*22dc650dSSadaf Ebrahimi        Ket
446*22dc650dSSadaf Ebrahimi        End
447*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
448*22dc650dSSadaf EbrahimiCapture group count = 2
449*22dc650dSSadaf EbrahimiMay match empty string
450*22dc650dSSadaf EbrahimiOptions: utf
451*22dc650dSSadaf EbrahimiSubject length lower bound = 0
452*22dc650dSSadaf Ebrahimi
453*22dc650dSSadaf Ebrahimi/\W/utf
454*22dc650dSSadaf Ebrahimi    A.B
455*22dc650dSSadaf Ebrahimi 0: .
456*22dc650dSSadaf Ebrahimi    A\x{100}B
457*22dc650dSSadaf Ebrahimi 0: \x{100}
458*22dc650dSSadaf Ebrahimi
459*22dc650dSSadaf Ebrahimi/\w/utf
460*22dc650dSSadaf Ebrahimi    \x{100}X
461*22dc650dSSadaf Ebrahimi 0: X
462*22dc650dSSadaf Ebrahimi
463*22dc650dSSadaf Ebrahimi# Use no_start_optimize because the first code unit is different in 8-bit from
464*22dc650dSSadaf Ebrahimi# the wider modes.
465*22dc650dSSadaf Ebrahimi
466*22dc650dSSadaf Ebrahimi/^\ሴ/IB,utf,no_start_optimize
467*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
468*22dc650dSSadaf Ebrahimi        Bra
469*22dc650dSSadaf Ebrahimi        ^
470*22dc650dSSadaf Ebrahimi        \x{1234}
471*22dc650dSSadaf Ebrahimi        Ket
472*22dc650dSSadaf Ebrahimi        End
473*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
474*22dc650dSSadaf EbrahimiCapture group count = 0
475*22dc650dSSadaf EbrahimiCompile options: no_start_optimize utf
476*22dc650dSSadaf EbrahimiOverall options: anchored no_start_optimize utf
477*22dc650dSSadaf Ebrahimi
478*22dc650dSSadaf Ebrahimi/()()()()()()()()()()
479*22dc650dSSadaf Ebrahimi ()()()()()()()()()()
480*22dc650dSSadaf Ebrahimi ()()()()()()()()()()
481*22dc650dSSadaf Ebrahimi ()()()()()()()()()()
482*22dc650dSSadaf Ebrahimi A (x) (?41) B/x,utf
483*22dc650dSSadaf Ebrahimi    AxxB
484*22dc650dSSadaf EbrahimiMatched, but too many substrings
485*22dc650dSSadaf Ebrahimi 0: AxxB
486*22dc650dSSadaf Ebrahimi 1:
487*22dc650dSSadaf Ebrahimi 2:
488*22dc650dSSadaf Ebrahimi 3:
489*22dc650dSSadaf Ebrahimi 4:
490*22dc650dSSadaf Ebrahimi 5:
491*22dc650dSSadaf Ebrahimi 6:
492*22dc650dSSadaf Ebrahimi 7:
493*22dc650dSSadaf Ebrahimi 8:
494*22dc650dSSadaf Ebrahimi 9:
495*22dc650dSSadaf Ebrahimi10:
496*22dc650dSSadaf Ebrahimi11:
497*22dc650dSSadaf Ebrahimi12:
498*22dc650dSSadaf Ebrahimi13:
499*22dc650dSSadaf Ebrahimi14:
500*22dc650dSSadaf Ebrahimi
501*22dc650dSSadaf Ebrahimi/^[\x{100}\E-\Q\E\x{150}]/B,utf
502*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
503*22dc650dSSadaf Ebrahimi        Bra
504*22dc650dSSadaf Ebrahimi        ^
505*22dc650dSSadaf Ebrahimi        [\x{100}-\x{150}]
506*22dc650dSSadaf Ebrahimi        Ket
507*22dc650dSSadaf Ebrahimi        End
508*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
509*22dc650dSSadaf Ebrahimi
510*22dc650dSSadaf Ebrahimi/^[\QĀ\E-\QŐ\E]/B,utf
511*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
512*22dc650dSSadaf Ebrahimi        Bra
513*22dc650dSSadaf Ebrahimi        ^
514*22dc650dSSadaf Ebrahimi        [\x{100}-\x{150}]
515*22dc650dSSadaf Ebrahimi        Ket
516*22dc650dSSadaf Ebrahimi        End
517*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
518*22dc650dSSadaf Ebrahimi
519*22dc650dSSadaf Ebrahimi/^abc./gmx,newline=any,utf
520*22dc650dSSadaf Ebrahimi    abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
521*22dc650dSSadaf Ebrahimi 0: abc1
522*22dc650dSSadaf Ebrahimi 0: abc2
523*22dc650dSSadaf Ebrahimi 0: abc3
524*22dc650dSSadaf Ebrahimi 0: abc4
525*22dc650dSSadaf Ebrahimi 0: abc5
526*22dc650dSSadaf Ebrahimi 0: abc6
527*22dc650dSSadaf Ebrahimi 0: abc7
528*22dc650dSSadaf Ebrahimi 0: abc8
529*22dc650dSSadaf Ebrahimi 0: abc9
530*22dc650dSSadaf Ebrahimi
531*22dc650dSSadaf Ebrahimi/abc.$/gmx,newline=any,utf
532*22dc650dSSadaf Ebrahimi    abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
533*22dc650dSSadaf Ebrahimi 0: abc1
534*22dc650dSSadaf Ebrahimi 0: abc2
535*22dc650dSSadaf Ebrahimi 0: abc3
536*22dc650dSSadaf Ebrahimi 0: abc4
537*22dc650dSSadaf Ebrahimi 0: abc5
538*22dc650dSSadaf Ebrahimi 0: abc6
539*22dc650dSSadaf Ebrahimi 0: abc7
540*22dc650dSSadaf Ebrahimi 0: abc8
541*22dc650dSSadaf Ebrahimi 0: abc9
542*22dc650dSSadaf Ebrahimi
543*22dc650dSSadaf Ebrahimi/^a\Rb/bsr=unicode,utf
544*22dc650dSSadaf Ebrahimi    a\nb
545*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
546*22dc650dSSadaf Ebrahimi    a\rb
547*22dc650dSSadaf Ebrahimi 0: a\x{0d}b
548*22dc650dSSadaf Ebrahimi    a\r\nb
549*22dc650dSSadaf Ebrahimi 0: a\x{0d}\x{0a}b
550*22dc650dSSadaf Ebrahimi    a\x0bb
551*22dc650dSSadaf Ebrahimi 0: a\x{0b}b
552*22dc650dSSadaf Ebrahimi    a\x0cb
553*22dc650dSSadaf Ebrahimi 0: a\x{0c}b
554*22dc650dSSadaf Ebrahimi    a\x{85}b
555*22dc650dSSadaf Ebrahimi 0: a\x{85}b
556*22dc650dSSadaf Ebrahimi    a\x{2028}b
557*22dc650dSSadaf Ebrahimi 0: a\x{2028}b
558*22dc650dSSadaf Ebrahimi    a\x{2029}b
559*22dc650dSSadaf Ebrahimi 0: a\x{2029}b
560*22dc650dSSadaf Ebrahimi\= Expect no match
561*22dc650dSSadaf Ebrahimi    a\n\rb
562*22dc650dSSadaf EbrahimiNo match
563*22dc650dSSadaf Ebrahimi
564*22dc650dSSadaf Ebrahimi/^a\R*b/bsr=unicode,utf
565*22dc650dSSadaf Ebrahimi    ab
566*22dc650dSSadaf Ebrahimi 0: ab
567*22dc650dSSadaf Ebrahimi    a\nb
568*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
569*22dc650dSSadaf Ebrahimi    a\rb
570*22dc650dSSadaf Ebrahimi 0: a\x{0d}b
571*22dc650dSSadaf Ebrahimi    a\r\nb
572*22dc650dSSadaf Ebrahimi 0: a\x{0d}\x{0a}b
573*22dc650dSSadaf Ebrahimi    a\x0bb
574*22dc650dSSadaf Ebrahimi 0: a\x{0b}b
575*22dc650dSSadaf Ebrahimi    a\x0c\x{2028}\x{2029}b
576*22dc650dSSadaf Ebrahimi 0: a\x{0c}\x{2028}\x{2029}b
577*22dc650dSSadaf Ebrahimi    a\x{85}b
578*22dc650dSSadaf Ebrahimi 0: a\x{85}b
579*22dc650dSSadaf Ebrahimi    a\n\rb
580*22dc650dSSadaf Ebrahimi 0: a\x{0a}\x{0d}b
581*22dc650dSSadaf Ebrahimi    a\n\r\x{85}\x0cb
582*22dc650dSSadaf Ebrahimi 0: a\x{0a}\x{0d}\x{85}\x{0c}b
583*22dc650dSSadaf Ebrahimi
584*22dc650dSSadaf Ebrahimi/^a\R+b/bsr=unicode,utf
585*22dc650dSSadaf Ebrahimi    a\nb
586*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
587*22dc650dSSadaf Ebrahimi    a\rb
588*22dc650dSSadaf Ebrahimi 0: a\x{0d}b
589*22dc650dSSadaf Ebrahimi    a\r\nb
590*22dc650dSSadaf Ebrahimi 0: a\x{0d}\x{0a}b
591*22dc650dSSadaf Ebrahimi    a\x0bb
592*22dc650dSSadaf Ebrahimi 0: a\x{0b}b
593*22dc650dSSadaf Ebrahimi    a\x0c\x{2028}\x{2029}b
594*22dc650dSSadaf Ebrahimi 0: a\x{0c}\x{2028}\x{2029}b
595*22dc650dSSadaf Ebrahimi    a\x{85}b
596*22dc650dSSadaf Ebrahimi 0: a\x{85}b
597*22dc650dSSadaf Ebrahimi    a\n\rb
598*22dc650dSSadaf Ebrahimi 0: a\x{0a}\x{0d}b
599*22dc650dSSadaf Ebrahimi    a\n\r\x{85}\x0cb
600*22dc650dSSadaf Ebrahimi 0: a\x{0a}\x{0d}\x{85}\x{0c}b
601*22dc650dSSadaf Ebrahimi\= Expect no match
602*22dc650dSSadaf Ebrahimi    ab
603*22dc650dSSadaf EbrahimiNo match
604*22dc650dSSadaf Ebrahimi
605*22dc650dSSadaf Ebrahimi/^a\R{1,3}b/bsr=unicode,utf
606*22dc650dSSadaf Ebrahimi    a\nb
607*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
608*22dc650dSSadaf Ebrahimi    a\n\rb
609*22dc650dSSadaf Ebrahimi 0: a\x{0a}\x{0d}b
610*22dc650dSSadaf Ebrahimi    a\n\r\x{85}b
611*22dc650dSSadaf Ebrahimi 0: a\x{0a}\x{0d}\x{85}b
612*22dc650dSSadaf Ebrahimi    a\r\n\r\nb
613*22dc650dSSadaf Ebrahimi 0: a\x{0d}\x{0a}\x{0d}\x{0a}b
614*22dc650dSSadaf Ebrahimi    a\r\n\r\n\r\nb
615*22dc650dSSadaf Ebrahimi 0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b
616*22dc650dSSadaf Ebrahimi    a\n\r\n\rb
617*22dc650dSSadaf Ebrahimi 0: a\x{0a}\x{0d}\x{0a}\x{0d}b
618*22dc650dSSadaf Ebrahimi    a\n\n\r\nb
619*22dc650dSSadaf Ebrahimi 0: a\x{0a}\x{0a}\x{0d}\x{0a}b
620*22dc650dSSadaf Ebrahimi\= Expect no match
621*22dc650dSSadaf Ebrahimi    a\n\n\n\rb
622*22dc650dSSadaf EbrahimiNo match
623*22dc650dSSadaf Ebrahimi    a\r
624*22dc650dSSadaf EbrahimiNo match
625*22dc650dSSadaf Ebrahimi
626*22dc650dSSadaf Ebrahimi/\H\h\V\v/utf
627*22dc650dSSadaf Ebrahimi    X X\x0a
628*22dc650dSSadaf Ebrahimi 0: X X\x{0a}
629*22dc650dSSadaf Ebrahimi    X\x09X\x0b
630*22dc650dSSadaf Ebrahimi 0: X\x{09}X\x{0b}
631*22dc650dSSadaf Ebrahimi\= Expect no match
632*22dc650dSSadaf Ebrahimi    \x{a0} X\x0a
633*22dc650dSSadaf EbrahimiNo match
634*22dc650dSSadaf Ebrahimi
635*22dc650dSSadaf Ebrahimi/\H*\h+\V?\v{3,4}/utf
636*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
637*22dc650dSSadaf Ebrahimi 0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
638*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
639*22dc650dSSadaf Ebrahimi 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}\x{0d}
640*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}\x0a\x0b\x0c
641*22dc650dSSadaf Ebrahimi 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}
642*22dc650dSSadaf Ebrahimi\= Expect no match
643*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}\x0a\x0b
644*22dc650dSSadaf EbrahimiNo match
645*22dc650dSSadaf Ebrahimi
646*22dc650dSSadaf Ebrahimi/\H\h\V\v/utf
647*22dc650dSSadaf Ebrahimi    \x{3001}\x{3000}\x{2030}\x{2028}
648*22dc650dSSadaf Ebrahimi 0: \x{3001}\x{3000}\x{2030}\x{2028}
649*22dc650dSSadaf Ebrahimi    X\x{180e}X\x{85}
650*22dc650dSSadaf Ebrahimi 0: X\x{180e}X\x{85}
651*22dc650dSSadaf Ebrahimi\= Expect no match
652*22dc650dSSadaf Ebrahimi    \x{2009} X\x0a
653*22dc650dSSadaf EbrahimiNo match
654*22dc650dSSadaf Ebrahimi
655*22dc650dSSadaf Ebrahimi/\H*\h+\V?\v{3,4}/utf
656*22dc650dSSadaf Ebrahimi    \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
657*22dc650dSSadaf Ebrahimi 0: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}\x{0d}
658*22dc650dSSadaf Ebrahimi    \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
659*22dc650dSSadaf Ebrahimi 0: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}\x{2028}
660*22dc650dSSadaf Ebrahimi    \x09\x20\x{202f}\x0a\x0b\x0c
661*22dc650dSSadaf Ebrahimi 0: \x{09} \x{202f}\x{0a}\x{0b}\x{0c}
662*22dc650dSSadaf Ebrahimi\= Expect no match
663*22dc650dSSadaf Ebrahimi    \x09\x{200a}\x{a0}\x{2028}\x0b
664*22dc650dSSadaf EbrahimiNo match
665*22dc650dSSadaf Ebrahimi
666*22dc650dSSadaf Ebrahimi/[\h]/B,utf
667*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
668*22dc650dSSadaf Ebrahimi        Bra
669*22dc650dSSadaf Ebrahimi        [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
670*22dc650dSSadaf Ebrahimi        Ket
671*22dc650dSSadaf Ebrahimi        End
672*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
673*22dc650dSSadaf Ebrahimi    >\x{1680}
674*22dc650dSSadaf Ebrahimi 0: \x{1680}
675*22dc650dSSadaf Ebrahimi
676*22dc650dSSadaf Ebrahimi/[\h]{3,}/B,utf
677*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
678*22dc650dSSadaf Ebrahimi        Bra
679*22dc650dSSadaf Ebrahimi        [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]{3,}+
680*22dc650dSSadaf Ebrahimi        Ket
681*22dc650dSSadaf Ebrahimi        End
682*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
683*22dc650dSSadaf Ebrahimi    >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
684*22dc650dSSadaf Ebrahimi 0: \x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}
685*22dc650dSSadaf Ebrahimi
686*22dc650dSSadaf Ebrahimi/[\v]/B,utf
687*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
688*22dc650dSSadaf Ebrahimi        Bra
689*22dc650dSSadaf Ebrahimi        [\x0a-\x0d\x85\x{2028}-\x{2029}]
690*22dc650dSSadaf Ebrahimi        Ket
691*22dc650dSSadaf Ebrahimi        End
692*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
693*22dc650dSSadaf Ebrahimi
694*22dc650dSSadaf Ebrahimi/[\H]/B,utf
695*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
696*22dc650dSSadaf Ebrahimi        Bra
697*22dc650dSSadaf Ebrahimi        [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}]
698*22dc650dSSadaf Ebrahimi        Ket
699*22dc650dSSadaf Ebrahimi        End
700*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
701*22dc650dSSadaf Ebrahimi
702*22dc650dSSadaf Ebrahimi/[\V]/B,utf
703*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
704*22dc650dSSadaf Ebrahimi        Bra
705*22dc650dSSadaf Ebrahimi        [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{10ffff}]
706*22dc650dSSadaf Ebrahimi        Ket
707*22dc650dSSadaf Ebrahimi        End
708*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
709*22dc650dSSadaf Ebrahimi
710*22dc650dSSadaf Ebrahimi/.*$/newline=any,utf
711*22dc650dSSadaf Ebrahimi    \x{1ec5}
712*22dc650dSSadaf Ebrahimi 0: \x{1ec5}
713*22dc650dSSadaf Ebrahimi
714*22dc650dSSadaf Ebrahimi/a\Rb/I,bsr=anycrlf,utf
715*22dc650dSSadaf EbrahimiCapture group count = 0
716*22dc650dSSadaf EbrahimiOptions: utf
717*22dc650dSSadaf Ebrahimi\R matches CR, LF, or CRLF
718*22dc650dSSadaf EbrahimiFirst code unit = 'a'
719*22dc650dSSadaf EbrahimiLast code unit = 'b'
720*22dc650dSSadaf EbrahimiSubject length lower bound = 3
721*22dc650dSSadaf Ebrahimi    a\rb
722*22dc650dSSadaf Ebrahimi 0: a\x{0d}b
723*22dc650dSSadaf Ebrahimi    a\nb
724*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
725*22dc650dSSadaf Ebrahimi    a\r\nb
726*22dc650dSSadaf Ebrahimi 0: a\x{0d}\x{0a}b
727*22dc650dSSadaf Ebrahimi\= Expect no match
728*22dc650dSSadaf Ebrahimi    a\x{85}b
729*22dc650dSSadaf EbrahimiNo match
730*22dc650dSSadaf Ebrahimi    a\x0bb
731*22dc650dSSadaf EbrahimiNo match
732*22dc650dSSadaf Ebrahimi
733*22dc650dSSadaf Ebrahimi/a\Rb/I,bsr=unicode,utf
734*22dc650dSSadaf EbrahimiCapture group count = 0
735*22dc650dSSadaf EbrahimiOptions: utf
736*22dc650dSSadaf Ebrahimi\R matches any Unicode newline
737*22dc650dSSadaf EbrahimiFirst code unit = 'a'
738*22dc650dSSadaf EbrahimiLast code unit = 'b'
739*22dc650dSSadaf EbrahimiSubject length lower bound = 3
740*22dc650dSSadaf Ebrahimi    a\rb
741*22dc650dSSadaf Ebrahimi 0: a\x{0d}b
742*22dc650dSSadaf Ebrahimi    a\nb
743*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
744*22dc650dSSadaf Ebrahimi    a\r\nb
745*22dc650dSSadaf Ebrahimi 0: a\x{0d}\x{0a}b
746*22dc650dSSadaf Ebrahimi    a\x{85}b
747*22dc650dSSadaf Ebrahimi 0: a\x{85}b
748*22dc650dSSadaf Ebrahimi    a\x0bb
749*22dc650dSSadaf Ebrahimi 0: a\x{0b}b
750*22dc650dSSadaf Ebrahimi
751*22dc650dSSadaf Ebrahimi/a\R?b/I,bsr=anycrlf,utf
752*22dc650dSSadaf EbrahimiCapture group count = 0
753*22dc650dSSadaf EbrahimiOptions: utf
754*22dc650dSSadaf Ebrahimi\R matches CR, LF, or CRLF
755*22dc650dSSadaf EbrahimiFirst code unit = 'a'
756*22dc650dSSadaf EbrahimiLast code unit = 'b'
757*22dc650dSSadaf EbrahimiSubject length lower bound = 2
758*22dc650dSSadaf Ebrahimi    a\rb
759*22dc650dSSadaf Ebrahimi 0: a\x{0d}b
760*22dc650dSSadaf Ebrahimi    a\nb
761*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
762*22dc650dSSadaf Ebrahimi    a\r\nb
763*22dc650dSSadaf Ebrahimi 0: a\x{0d}\x{0a}b
764*22dc650dSSadaf Ebrahimi\= Expect no match
765*22dc650dSSadaf Ebrahimi    a\x{85}b
766*22dc650dSSadaf EbrahimiNo match
767*22dc650dSSadaf Ebrahimi    a\x0bb
768*22dc650dSSadaf EbrahimiNo match
769*22dc650dSSadaf Ebrahimi
770*22dc650dSSadaf Ebrahimi/a\R?b/I,bsr=unicode,utf
771*22dc650dSSadaf EbrahimiCapture group count = 0
772*22dc650dSSadaf EbrahimiOptions: utf
773*22dc650dSSadaf Ebrahimi\R matches any Unicode newline
774*22dc650dSSadaf EbrahimiFirst code unit = 'a'
775*22dc650dSSadaf EbrahimiLast code unit = 'b'
776*22dc650dSSadaf EbrahimiSubject length lower bound = 2
777*22dc650dSSadaf Ebrahimi    a\rb
778*22dc650dSSadaf Ebrahimi 0: a\x{0d}b
779*22dc650dSSadaf Ebrahimi    a\nb
780*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
781*22dc650dSSadaf Ebrahimi    a\r\nb
782*22dc650dSSadaf Ebrahimi 0: a\x{0d}\x{0a}b
783*22dc650dSSadaf Ebrahimi    a\x{85}b
784*22dc650dSSadaf Ebrahimi 0: a\x{85}b
785*22dc650dSSadaf Ebrahimi    a\x0bb
786*22dc650dSSadaf Ebrahimi 0: a\x{0b}b
787*22dc650dSSadaf Ebrahimi
788*22dc650dSSadaf Ebrahimi/.*a.*=.b.*/utf,newline=any
789*22dc650dSSadaf Ebrahimi    QQQ\x{2029}ABCaXYZ=!bPQR
790*22dc650dSSadaf Ebrahimi 0: ABCaXYZ=!bPQR
791*22dc650dSSadaf Ebrahimi\= Expect no match
792*22dc650dSSadaf Ebrahimi    a\x{2029}b
793*22dc650dSSadaf EbrahimiNo match
794*22dc650dSSadaf Ebrahimi    \x61\xe2\x80\xa9\x62
795*22dc650dSSadaf EbrahimiNo match
796*22dc650dSSadaf Ebrahimi
797*22dc650dSSadaf Ebrahimi/[[:a\x{100}b:]]/utf
798*22dc650dSSadaf EbrahimiFailed: error 130 at offset 3: unknown POSIX class name
799*22dc650dSSadaf Ebrahimi
800*22dc650dSSadaf Ebrahimi/a[^]b/utf,allow_empty_class,match_unset_backref
801*22dc650dSSadaf Ebrahimi    a\x{1234}b
802*22dc650dSSadaf Ebrahimi 0: a\x{1234}b
803*22dc650dSSadaf Ebrahimi    a\nb
804*22dc650dSSadaf Ebrahimi 0: a\x{0a}b
805*22dc650dSSadaf Ebrahimi\= Expect no match
806*22dc650dSSadaf Ebrahimi    ab
807*22dc650dSSadaf EbrahimiNo match
808*22dc650dSSadaf Ebrahimi
809*22dc650dSSadaf Ebrahimi/a[^]+b/utf,allow_empty_class,match_unset_backref
810*22dc650dSSadaf Ebrahimi    aXb
811*22dc650dSSadaf Ebrahimi 0: aXb
812*22dc650dSSadaf Ebrahimi    a\nX\nX\x{1234}b
813*22dc650dSSadaf Ebrahimi 0: a\x{0a}X\x{0a}X\x{1234}b
814*22dc650dSSadaf Ebrahimi\= Expect no match
815*22dc650dSSadaf Ebrahimi    ab
816*22dc650dSSadaf EbrahimiNo match
817*22dc650dSSadaf Ebrahimi
818*22dc650dSSadaf Ebrahimi/(\x{de})\1/
819*22dc650dSSadaf Ebrahimi    \x{de}\x{de}
820*22dc650dSSadaf Ebrahimi 0: \xde\xde
821*22dc650dSSadaf Ebrahimi 1: \xde
822*22dc650dSSadaf Ebrahimi
823*22dc650dSSadaf Ebrahimi/X/newline=any,utf,firstline
824*22dc650dSSadaf Ebrahimi    A\x{1ec5}ABCXYZ
825*22dc650dSSadaf Ebrahimi 0: X
826*22dc650dSSadaf Ebrahimi
827*22dc650dSSadaf Ebrahimi/Xa{2,4}b/utf
828*22dc650dSSadaf Ebrahimi    X\=ps
829*22dc650dSSadaf EbrahimiPartial match: X
830*22dc650dSSadaf Ebrahimi    Xa\=ps
831*22dc650dSSadaf EbrahimiPartial match: Xa
832*22dc650dSSadaf Ebrahimi    Xaa\=ps
833*22dc650dSSadaf EbrahimiPartial match: Xaa
834*22dc650dSSadaf Ebrahimi    Xaaa\=ps
835*22dc650dSSadaf EbrahimiPartial match: Xaaa
836*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
837*22dc650dSSadaf EbrahimiPartial match: Xaaaa
838*22dc650dSSadaf Ebrahimi
839*22dc650dSSadaf Ebrahimi/Xa{2,4}?b/utf
840*22dc650dSSadaf Ebrahimi    X\=ps
841*22dc650dSSadaf EbrahimiPartial match: X
842*22dc650dSSadaf Ebrahimi    Xa\=ps
843*22dc650dSSadaf EbrahimiPartial match: Xa
844*22dc650dSSadaf Ebrahimi    Xaa\=ps
845*22dc650dSSadaf EbrahimiPartial match: Xaa
846*22dc650dSSadaf Ebrahimi    Xaaa\=ps
847*22dc650dSSadaf EbrahimiPartial match: Xaaa
848*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
849*22dc650dSSadaf EbrahimiPartial match: Xaaaa
850*22dc650dSSadaf Ebrahimi
851*22dc650dSSadaf Ebrahimi/Xa{2,4}+b/utf
852*22dc650dSSadaf Ebrahimi    X\=ps
853*22dc650dSSadaf EbrahimiPartial match: X
854*22dc650dSSadaf Ebrahimi    Xa\=ps
855*22dc650dSSadaf EbrahimiPartial match: Xa
856*22dc650dSSadaf Ebrahimi    Xaa\=ps
857*22dc650dSSadaf EbrahimiPartial match: Xaa
858*22dc650dSSadaf Ebrahimi    Xaaa\=ps
859*22dc650dSSadaf EbrahimiPartial match: Xaaa
860*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
861*22dc650dSSadaf EbrahimiPartial match: Xaaaa
862*22dc650dSSadaf Ebrahimi
863*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}b/utf
864*22dc650dSSadaf Ebrahimi    X\=ps
865*22dc650dSSadaf EbrahimiPartial match: X
866*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
867*22dc650dSSadaf EbrahimiPartial match: X\x{123}
868*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
869*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
870*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
871*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
872*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
873*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
874*22dc650dSSadaf Ebrahimi
875*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}?b/utf
876*22dc650dSSadaf Ebrahimi    X\=ps
877*22dc650dSSadaf EbrahimiPartial match: X
878*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
879*22dc650dSSadaf EbrahimiPartial match: X\x{123}
880*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
881*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
882*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
883*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
884*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
885*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
886*22dc650dSSadaf Ebrahimi
887*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}+b/utf
888*22dc650dSSadaf Ebrahimi    X\=ps
889*22dc650dSSadaf EbrahimiPartial match: X
890*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
891*22dc650dSSadaf EbrahimiPartial match: X\x{123}
892*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
893*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
894*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
895*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
896*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
897*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
898*22dc650dSSadaf Ebrahimi
899*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}b/utf
900*22dc650dSSadaf Ebrahimi\= Expect no match
901*22dc650dSSadaf Ebrahimi    Xx\=ps
902*22dc650dSSadaf EbrahimiNo match
903*22dc650dSSadaf Ebrahimi    X\x{123}x\=ps
904*22dc650dSSadaf EbrahimiNo match
905*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}x\=ps
906*22dc650dSSadaf EbrahimiNo match
907*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}x\=ps
908*22dc650dSSadaf EbrahimiNo match
909*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}x\=ps
910*22dc650dSSadaf EbrahimiNo match
911*22dc650dSSadaf Ebrahimi
912*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}?b/utf
913*22dc650dSSadaf Ebrahimi\= Expect no match
914*22dc650dSSadaf Ebrahimi    Xx\=ps
915*22dc650dSSadaf EbrahimiNo match
916*22dc650dSSadaf Ebrahimi    X\x{123}x\=ps
917*22dc650dSSadaf EbrahimiNo match
918*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}x\=ps
919*22dc650dSSadaf EbrahimiNo match
920*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}x\=ps
921*22dc650dSSadaf EbrahimiNo match
922*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}x\=ps
923*22dc650dSSadaf EbrahimiNo match
924*22dc650dSSadaf Ebrahimi
925*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}+b/utf
926*22dc650dSSadaf Ebrahimi\= Expect no match
927*22dc650dSSadaf Ebrahimi    Xx\=ps
928*22dc650dSSadaf EbrahimiNo match
929*22dc650dSSadaf Ebrahimi    X\x{123}x\=ps
930*22dc650dSSadaf EbrahimiNo match
931*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}x\=ps
932*22dc650dSSadaf EbrahimiNo match
933*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}x\=ps
934*22dc650dSSadaf EbrahimiNo match
935*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}x\=ps
936*22dc650dSSadaf EbrahimiNo match
937*22dc650dSSadaf Ebrahimi
938*22dc650dSSadaf Ebrahimi/X\d{2,4}b/utf
939*22dc650dSSadaf Ebrahimi    X\=ps
940*22dc650dSSadaf EbrahimiPartial match: X
941*22dc650dSSadaf Ebrahimi    X3\=ps
942*22dc650dSSadaf EbrahimiPartial match: X3
943*22dc650dSSadaf Ebrahimi    X33\=ps
944*22dc650dSSadaf EbrahimiPartial match: X33
945*22dc650dSSadaf Ebrahimi    X333\=ps
946*22dc650dSSadaf EbrahimiPartial match: X333
947*22dc650dSSadaf Ebrahimi    X3333\=ps
948*22dc650dSSadaf EbrahimiPartial match: X3333
949*22dc650dSSadaf Ebrahimi
950*22dc650dSSadaf Ebrahimi/X\d{2,4}?b/utf
951*22dc650dSSadaf Ebrahimi    X\=ps
952*22dc650dSSadaf EbrahimiPartial match: X
953*22dc650dSSadaf Ebrahimi    X3\=ps
954*22dc650dSSadaf EbrahimiPartial match: X3
955*22dc650dSSadaf Ebrahimi    X33\=ps
956*22dc650dSSadaf EbrahimiPartial match: X33
957*22dc650dSSadaf Ebrahimi    X333\=ps
958*22dc650dSSadaf EbrahimiPartial match: X333
959*22dc650dSSadaf Ebrahimi    X3333\=ps
960*22dc650dSSadaf EbrahimiPartial match: X3333
961*22dc650dSSadaf Ebrahimi
962*22dc650dSSadaf Ebrahimi/X\d{2,4}+b/utf
963*22dc650dSSadaf Ebrahimi    X\=ps
964*22dc650dSSadaf EbrahimiPartial match: X
965*22dc650dSSadaf Ebrahimi    X3\=ps
966*22dc650dSSadaf EbrahimiPartial match: X3
967*22dc650dSSadaf Ebrahimi    X33\=ps
968*22dc650dSSadaf EbrahimiPartial match: X33
969*22dc650dSSadaf Ebrahimi    X333\=ps
970*22dc650dSSadaf EbrahimiPartial match: X333
971*22dc650dSSadaf Ebrahimi    X3333\=ps
972*22dc650dSSadaf EbrahimiPartial match: X3333
973*22dc650dSSadaf Ebrahimi
974*22dc650dSSadaf Ebrahimi/X\D{2,4}b/utf
975*22dc650dSSadaf Ebrahimi    X\=ps
976*22dc650dSSadaf EbrahimiPartial match: X
977*22dc650dSSadaf Ebrahimi    Xa\=ps
978*22dc650dSSadaf EbrahimiPartial match: Xa
979*22dc650dSSadaf Ebrahimi    Xaa\=ps
980*22dc650dSSadaf EbrahimiPartial match: Xaa
981*22dc650dSSadaf Ebrahimi    Xaaa\=ps
982*22dc650dSSadaf EbrahimiPartial match: Xaaa
983*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
984*22dc650dSSadaf EbrahimiPartial match: Xaaaa
985*22dc650dSSadaf Ebrahimi
986*22dc650dSSadaf Ebrahimi/X\D{2,4}?b/utf
987*22dc650dSSadaf Ebrahimi    X\=ps
988*22dc650dSSadaf EbrahimiPartial match: X
989*22dc650dSSadaf Ebrahimi    Xa\=ps
990*22dc650dSSadaf EbrahimiPartial match: Xa
991*22dc650dSSadaf Ebrahimi    Xaa\=ps
992*22dc650dSSadaf EbrahimiPartial match: Xaa
993*22dc650dSSadaf Ebrahimi    Xaaa\=ps
994*22dc650dSSadaf EbrahimiPartial match: Xaaa
995*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
996*22dc650dSSadaf EbrahimiPartial match: Xaaaa
997*22dc650dSSadaf Ebrahimi
998*22dc650dSSadaf Ebrahimi/X\D{2,4}+b/utf
999*22dc650dSSadaf Ebrahimi    X\=ps
1000*22dc650dSSadaf EbrahimiPartial match: X
1001*22dc650dSSadaf Ebrahimi    Xa\=ps
1002*22dc650dSSadaf EbrahimiPartial match: Xa
1003*22dc650dSSadaf Ebrahimi    Xaa\=ps
1004*22dc650dSSadaf EbrahimiPartial match: Xaa
1005*22dc650dSSadaf Ebrahimi    Xaaa\=ps
1006*22dc650dSSadaf EbrahimiPartial match: Xaaa
1007*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
1008*22dc650dSSadaf EbrahimiPartial match: Xaaaa
1009*22dc650dSSadaf Ebrahimi
1010*22dc650dSSadaf Ebrahimi/X\D{2,4}b/utf
1011*22dc650dSSadaf Ebrahimi    X\=ps
1012*22dc650dSSadaf EbrahimiPartial match: X
1013*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
1014*22dc650dSSadaf EbrahimiPartial match: X\x{123}
1015*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
1016*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
1017*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
1018*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
1019*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
1020*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
1021*22dc650dSSadaf Ebrahimi
1022*22dc650dSSadaf Ebrahimi/X\D{2,4}?b/utf
1023*22dc650dSSadaf Ebrahimi    X\=ps
1024*22dc650dSSadaf EbrahimiPartial match: X
1025*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
1026*22dc650dSSadaf EbrahimiPartial match: X\x{123}
1027*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
1028*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
1029*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
1030*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
1031*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
1032*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
1033*22dc650dSSadaf Ebrahimi
1034*22dc650dSSadaf Ebrahimi/X\D{2,4}+b/utf
1035*22dc650dSSadaf Ebrahimi    X\=ps
1036*22dc650dSSadaf EbrahimiPartial match: X
1037*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
1038*22dc650dSSadaf EbrahimiPartial match: X\x{123}
1039*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
1040*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
1041*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
1042*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
1043*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
1044*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
1045*22dc650dSSadaf Ebrahimi
1046*22dc650dSSadaf Ebrahimi/X[abc]{2,4}b/utf
1047*22dc650dSSadaf Ebrahimi    X\=ps
1048*22dc650dSSadaf EbrahimiPartial match: X
1049*22dc650dSSadaf Ebrahimi    Xa\=ps
1050*22dc650dSSadaf EbrahimiPartial match: Xa
1051*22dc650dSSadaf Ebrahimi    Xaa\=ps
1052*22dc650dSSadaf EbrahimiPartial match: Xaa
1053*22dc650dSSadaf Ebrahimi    Xaaa\=ps
1054*22dc650dSSadaf EbrahimiPartial match: Xaaa
1055*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
1056*22dc650dSSadaf EbrahimiPartial match: Xaaaa
1057*22dc650dSSadaf Ebrahimi
1058*22dc650dSSadaf Ebrahimi/X[abc]{2,4}?b/utf
1059*22dc650dSSadaf Ebrahimi    X\=ps
1060*22dc650dSSadaf EbrahimiPartial match: X
1061*22dc650dSSadaf Ebrahimi    Xa\=ps
1062*22dc650dSSadaf EbrahimiPartial match: Xa
1063*22dc650dSSadaf Ebrahimi    Xaa\=ps
1064*22dc650dSSadaf EbrahimiPartial match: Xaa
1065*22dc650dSSadaf Ebrahimi    Xaaa\=ps
1066*22dc650dSSadaf EbrahimiPartial match: Xaaa
1067*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
1068*22dc650dSSadaf EbrahimiPartial match: Xaaaa
1069*22dc650dSSadaf Ebrahimi
1070*22dc650dSSadaf Ebrahimi/X[abc]{2,4}+b/utf
1071*22dc650dSSadaf Ebrahimi    X\=ps
1072*22dc650dSSadaf EbrahimiPartial match: X
1073*22dc650dSSadaf Ebrahimi    Xa\=ps
1074*22dc650dSSadaf EbrahimiPartial match: Xa
1075*22dc650dSSadaf Ebrahimi    Xaa\=ps
1076*22dc650dSSadaf EbrahimiPartial match: Xaa
1077*22dc650dSSadaf Ebrahimi    Xaaa\=ps
1078*22dc650dSSadaf EbrahimiPartial match: Xaaa
1079*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
1080*22dc650dSSadaf EbrahimiPartial match: Xaaaa
1081*22dc650dSSadaf Ebrahimi
1082*22dc650dSSadaf Ebrahimi/X[abc\x{123}]{2,4}b/utf
1083*22dc650dSSadaf Ebrahimi    X\=ps
1084*22dc650dSSadaf EbrahimiPartial match: X
1085*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
1086*22dc650dSSadaf EbrahimiPartial match: X\x{123}
1087*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
1088*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
1089*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
1090*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
1091*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
1092*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
1093*22dc650dSSadaf Ebrahimi
1094*22dc650dSSadaf Ebrahimi/X[abc\x{123}]{2,4}?b/utf
1095*22dc650dSSadaf Ebrahimi    X\=ps
1096*22dc650dSSadaf EbrahimiPartial match: X
1097*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
1098*22dc650dSSadaf EbrahimiPartial match: X\x{123}
1099*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
1100*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
1101*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
1102*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
1103*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
1104*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
1105*22dc650dSSadaf Ebrahimi
1106*22dc650dSSadaf Ebrahimi/X[abc\x{123}]{2,4}+b/utf
1107*22dc650dSSadaf Ebrahimi    X\=ps
1108*22dc650dSSadaf EbrahimiPartial match: X
1109*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
1110*22dc650dSSadaf EbrahimiPartial match: X\x{123}
1111*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
1112*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
1113*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
1114*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
1115*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
1116*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
1117*22dc650dSSadaf Ebrahimi
1118*22dc650dSSadaf Ebrahimi/X[^a]{2,4}b/utf
1119*22dc650dSSadaf Ebrahimi    X\=ps
1120*22dc650dSSadaf EbrahimiPartial match: X
1121*22dc650dSSadaf Ebrahimi    Xz\=ps
1122*22dc650dSSadaf EbrahimiPartial match: Xz
1123*22dc650dSSadaf Ebrahimi    Xzz\=ps
1124*22dc650dSSadaf EbrahimiPartial match: Xzz
1125*22dc650dSSadaf Ebrahimi    Xzzz\=ps
1126*22dc650dSSadaf EbrahimiPartial match: Xzzz
1127*22dc650dSSadaf Ebrahimi    Xzzzz\=ps
1128*22dc650dSSadaf EbrahimiPartial match: Xzzzz
1129*22dc650dSSadaf Ebrahimi
1130*22dc650dSSadaf Ebrahimi/X[^a]{2,4}?b/utf
1131*22dc650dSSadaf Ebrahimi    X\=ps
1132*22dc650dSSadaf EbrahimiPartial match: X
1133*22dc650dSSadaf Ebrahimi    Xz\=ps
1134*22dc650dSSadaf EbrahimiPartial match: Xz
1135*22dc650dSSadaf Ebrahimi    Xzz\=ps
1136*22dc650dSSadaf EbrahimiPartial match: Xzz
1137*22dc650dSSadaf Ebrahimi    Xzzz\=ps
1138*22dc650dSSadaf EbrahimiPartial match: Xzzz
1139*22dc650dSSadaf Ebrahimi    Xzzzz\=ps
1140*22dc650dSSadaf EbrahimiPartial match: Xzzzz
1141*22dc650dSSadaf Ebrahimi
1142*22dc650dSSadaf Ebrahimi/X[^a]{2,4}+b/utf
1143*22dc650dSSadaf Ebrahimi    X\=ps
1144*22dc650dSSadaf EbrahimiPartial match: X
1145*22dc650dSSadaf Ebrahimi    Xz\=ps
1146*22dc650dSSadaf EbrahimiPartial match: Xz
1147*22dc650dSSadaf Ebrahimi    Xzz\=ps
1148*22dc650dSSadaf EbrahimiPartial match: Xzz
1149*22dc650dSSadaf Ebrahimi    Xzzz\=ps
1150*22dc650dSSadaf EbrahimiPartial match: Xzzz
1151*22dc650dSSadaf Ebrahimi    Xzzzz\=ps
1152*22dc650dSSadaf EbrahimiPartial match: Xzzzz
1153*22dc650dSSadaf Ebrahimi
1154*22dc650dSSadaf Ebrahimi/X[^a]{2,4}b/utf
1155*22dc650dSSadaf Ebrahimi    X\=ps
1156*22dc650dSSadaf EbrahimiPartial match: X
1157*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
1158*22dc650dSSadaf EbrahimiPartial match: X\x{123}
1159*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
1160*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
1161*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
1162*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
1163*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
1164*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
1165*22dc650dSSadaf Ebrahimi
1166*22dc650dSSadaf Ebrahimi/X[^a]{2,4}?b/utf
1167*22dc650dSSadaf Ebrahimi    X\=ps
1168*22dc650dSSadaf EbrahimiPartial match: X
1169*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
1170*22dc650dSSadaf EbrahimiPartial match: X\x{123}
1171*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
1172*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
1173*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
1174*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
1175*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
1176*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
1177*22dc650dSSadaf Ebrahimi
1178*22dc650dSSadaf Ebrahimi/X[^a]{2,4}+b/utf
1179*22dc650dSSadaf Ebrahimi    X\=ps
1180*22dc650dSSadaf EbrahimiPartial match: X
1181*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
1182*22dc650dSSadaf EbrahimiPartial match: X\x{123}
1183*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
1184*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}
1185*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
1186*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}
1187*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
1188*22dc650dSSadaf EbrahimiPartial match: X\x{123}\x{123}\x{123}\x{123}
1189*22dc650dSSadaf Ebrahimi
1190*22dc650dSSadaf Ebrahimi/(Y)X\1{2,4}b/utf
1191*22dc650dSSadaf Ebrahimi    YX\=ps
1192*22dc650dSSadaf EbrahimiPartial match: YX
1193*22dc650dSSadaf Ebrahimi    YXY\=ps
1194*22dc650dSSadaf EbrahimiPartial match: YXY
1195*22dc650dSSadaf Ebrahimi    YXYY\=ps
1196*22dc650dSSadaf EbrahimiPartial match: YXYY
1197*22dc650dSSadaf Ebrahimi    YXYYY\=ps
1198*22dc650dSSadaf EbrahimiPartial match: YXYYY
1199*22dc650dSSadaf Ebrahimi    YXYYYY\=ps
1200*22dc650dSSadaf EbrahimiPartial match: YXYYYY
1201*22dc650dSSadaf Ebrahimi
1202*22dc650dSSadaf Ebrahimi/(Y)X\1{2,4}?b/utf
1203*22dc650dSSadaf Ebrahimi    YX\=ps
1204*22dc650dSSadaf EbrahimiPartial match: YX
1205*22dc650dSSadaf Ebrahimi    YXY\=ps
1206*22dc650dSSadaf EbrahimiPartial match: YXY
1207*22dc650dSSadaf Ebrahimi    YXYY\=ps
1208*22dc650dSSadaf EbrahimiPartial match: YXYY
1209*22dc650dSSadaf Ebrahimi    YXYYY\=ps
1210*22dc650dSSadaf EbrahimiPartial match: YXYYY
1211*22dc650dSSadaf Ebrahimi    YXYYYY\=ps
1212*22dc650dSSadaf EbrahimiPartial match: YXYYYY
1213*22dc650dSSadaf Ebrahimi
1214*22dc650dSSadaf Ebrahimi/(Y)X\1{2,4}+b/utf
1215*22dc650dSSadaf Ebrahimi    YX\=ps
1216*22dc650dSSadaf EbrahimiPartial match: YX
1217*22dc650dSSadaf Ebrahimi    YXY\=ps
1218*22dc650dSSadaf EbrahimiPartial match: YXY
1219*22dc650dSSadaf Ebrahimi    YXYY\=ps
1220*22dc650dSSadaf EbrahimiPartial match: YXYY
1221*22dc650dSSadaf Ebrahimi    YXYYY\=ps
1222*22dc650dSSadaf EbrahimiPartial match: YXYYY
1223*22dc650dSSadaf Ebrahimi    YXYYYY\=ps
1224*22dc650dSSadaf EbrahimiPartial match: YXYYYY
1225*22dc650dSSadaf Ebrahimi
1226*22dc650dSSadaf Ebrahimi/(\x{123})X\1{2,4}b/utf
1227*22dc650dSSadaf Ebrahimi    \x{123}X\=ps
1228*22dc650dSSadaf EbrahimiPartial match: \x{123}X
1229*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\=ps
1230*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}
1231*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\=ps
1232*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}\x{123}
1233*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\=ps
1234*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}\x{123}\x{123}
1235*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\x{123}\=ps
1236*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
1237*22dc650dSSadaf Ebrahimi
1238*22dc650dSSadaf Ebrahimi/(\x{123})X\1{2,4}?b/utf
1239*22dc650dSSadaf Ebrahimi    \x{123}X\=ps
1240*22dc650dSSadaf EbrahimiPartial match: \x{123}X
1241*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\=ps
1242*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}
1243*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\=ps
1244*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}\x{123}
1245*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\=ps
1246*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}\x{123}\x{123}
1247*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\x{123}\=ps
1248*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
1249*22dc650dSSadaf Ebrahimi
1250*22dc650dSSadaf Ebrahimi/(\x{123})X\1{2,4}+b/utf
1251*22dc650dSSadaf Ebrahimi    \x{123}X\=ps
1252*22dc650dSSadaf EbrahimiPartial match: \x{123}X
1253*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\=ps
1254*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}
1255*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\=ps
1256*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}\x{123}
1257*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\=ps
1258*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}\x{123}\x{123}
1259*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\x{123}\=ps
1260*22dc650dSSadaf EbrahimiPartial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
1261*22dc650dSSadaf Ebrahimi
1262*22dc650dSSadaf Ebrahimi/\bthe cat\b/utf
1263*22dc650dSSadaf Ebrahimi    the cat\=ps
1264*22dc650dSSadaf Ebrahimi 0: the cat
1265*22dc650dSSadaf Ebrahimi    the cat\=ph
1266*22dc650dSSadaf EbrahimiPartial match: the cat
1267*22dc650dSSadaf Ebrahimi
1268*22dc650dSSadaf Ebrahimi/abcd*/utf
1269*22dc650dSSadaf Ebrahimi    xxxxabcd\=ps
1270*22dc650dSSadaf Ebrahimi 0: abcd
1271*22dc650dSSadaf Ebrahimi    xxxxabcd\=ph
1272*22dc650dSSadaf EbrahimiPartial match: abcd
1273*22dc650dSSadaf Ebrahimi
1274*22dc650dSSadaf Ebrahimi/abcd*/i,utf
1275*22dc650dSSadaf Ebrahimi    xxxxabcd\=ps
1276*22dc650dSSadaf Ebrahimi 0: abcd
1277*22dc650dSSadaf Ebrahimi    xxxxabcd\=ph
1278*22dc650dSSadaf EbrahimiPartial match: abcd
1279*22dc650dSSadaf Ebrahimi    XXXXABCD\=ps
1280*22dc650dSSadaf Ebrahimi 0: ABCD
1281*22dc650dSSadaf Ebrahimi    XXXXABCD\=ph
1282*22dc650dSSadaf EbrahimiPartial match: ABCD
1283*22dc650dSSadaf Ebrahimi
1284*22dc650dSSadaf Ebrahimi/abc\d*/utf
1285*22dc650dSSadaf Ebrahimi    xxxxabc1\=ps
1286*22dc650dSSadaf Ebrahimi 0: abc1
1287*22dc650dSSadaf Ebrahimi    xxxxabc1\=ph
1288*22dc650dSSadaf EbrahimiPartial match: abc1
1289*22dc650dSSadaf Ebrahimi
1290*22dc650dSSadaf Ebrahimi/(a)bc\1*/utf
1291*22dc650dSSadaf Ebrahimi    xxxxabca\=ps
1292*22dc650dSSadaf Ebrahimi 0: abca
1293*22dc650dSSadaf Ebrahimi 1: a
1294*22dc650dSSadaf Ebrahimi    xxxxabca\=ph
1295*22dc650dSSadaf EbrahimiPartial match: abca
1296*22dc650dSSadaf Ebrahimi
1297*22dc650dSSadaf Ebrahimi/abc[de]*/utf
1298*22dc650dSSadaf Ebrahimi    xxxxabcde\=ps
1299*22dc650dSSadaf Ebrahimi 0: abcde
1300*22dc650dSSadaf Ebrahimi    xxxxabcde\=ph
1301*22dc650dSSadaf EbrahimiPartial match: abcde
1302*22dc650dSSadaf Ebrahimi
1303*22dc650dSSadaf Ebrahimi/X\W{3}X/utf
1304*22dc650dSSadaf Ebrahimi    X\=ps
1305*22dc650dSSadaf EbrahimiPartial match: X
1306*22dc650dSSadaf Ebrahimi
1307*22dc650dSSadaf Ebrahimi/\sxxx\s/utf,tables=2
1308*22dc650dSSadaf Ebrahimi    AB\x{85}xxx\x{a0}XYZ
1309*22dc650dSSadaf Ebrahimi 0: \x{85}xxx\x{a0}
1310*22dc650dSSadaf Ebrahimi    AB\x{a0}xxx\x{85}XYZ
1311*22dc650dSSadaf Ebrahimi 0: \x{a0}xxx\x{85}
1312*22dc650dSSadaf Ebrahimi
1313*22dc650dSSadaf Ebrahimi/\S \S/utf,tables=2
1314*22dc650dSSadaf Ebrahimi    \x{a2} \x{84}
1315*22dc650dSSadaf Ebrahimi 0: \x{a2} \x{84}
1316*22dc650dSSadaf Ebrahimi
1317*22dc650dSSadaf Ebrahimi'A#хц'Bx,newline=any,utf
1318*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1319*22dc650dSSadaf Ebrahimi        Bra
1320*22dc650dSSadaf Ebrahimi        A
1321*22dc650dSSadaf Ebrahimi        Ket
1322*22dc650dSSadaf Ebrahimi        End
1323*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1324*22dc650dSSadaf Ebrahimi
1325*22dc650dSSadaf Ebrahimi'A#хц
1326*22dc650dSSadaf Ebrahimi  PQ'Bx,newline=any,utf
1327*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1328*22dc650dSSadaf Ebrahimi        Bra
1329*22dc650dSSadaf Ebrahimi        APQ
1330*22dc650dSSadaf Ebrahimi        Ket
1331*22dc650dSSadaf Ebrahimi        End
1332*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1333*22dc650dSSadaf Ebrahimi
1334*22dc650dSSadaf Ebrahimi/a+#хaa
1335*22dc650dSSadaf Ebrahimi  z#XX?/Bx,newline=any,utf
1336*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1337*22dc650dSSadaf Ebrahimi        Bra
1338*22dc650dSSadaf Ebrahimi        a++
1339*22dc650dSSadaf Ebrahimi        z
1340*22dc650dSSadaf Ebrahimi        Ket
1341*22dc650dSSadaf Ebrahimi        End
1342*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1343*22dc650dSSadaf Ebrahimi
1344*22dc650dSSadaf Ebrahimi/a+#хaa
1345*22dc650dSSadaf Ebrahimi  z#х?/Bx,newline=any,utf
1346*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1347*22dc650dSSadaf Ebrahimi        Bra
1348*22dc650dSSadaf Ebrahimi        a++
1349*22dc650dSSadaf Ebrahimi        z
1350*22dc650dSSadaf Ebrahimi        Ket
1351*22dc650dSSadaf Ebrahimi        End
1352*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1353*22dc650dSSadaf Ebrahimi
1354*22dc650dSSadaf Ebrahimi/\g{A}xxx#bXX(?'A'123)
1355*22dc650dSSadaf Ebrahimi(?'A'456)/Bx,newline=any,utf
1356*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1357*22dc650dSSadaf Ebrahimi        Bra
1358*22dc650dSSadaf Ebrahimi        \1
1359*22dc650dSSadaf Ebrahimi        xxx
1360*22dc650dSSadaf Ebrahimi        CBra 1
1361*22dc650dSSadaf Ebrahimi        456
1362*22dc650dSSadaf Ebrahimi        Ket
1363*22dc650dSSadaf Ebrahimi        Ket
1364*22dc650dSSadaf Ebrahimi        End
1365*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1366*22dc650dSSadaf Ebrahimi
1367*22dc650dSSadaf Ebrahimi/\g{A}xxx#bх(?'A'123)
1368*22dc650dSSadaf Ebrahimi(?'A'456)/Bx,newline=any,utf
1369*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1370*22dc650dSSadaf Ebrahimi        Bra
1371*22dc650dSSadaf Ebrahimi        \1
1372*22dc650dSSadaf Ebrahimi        xxx
1373*22dc650dSSadaf Ebrahimi        CBra 1
1374*22dc650dSSadaf Ebrahimi        456
1375*22dc650dSSadaf Ebrahimi        Ket
1376*22dc650dSSadaf Ebrahimi        Ket
1377*22dc650dSSadaf Ebrahimi        End
1378*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1379*22dc650dSSadaf Ebrahimi
1380*22dc650dSSadaf Ebrahimi/^\cģ/utf
1381*22dc650dSSadaf EbrahimiFailed: error 168 at offset 3: \c must be followed by a printable ASCII character
1382*22dc650dSSadaf Ebrahimi
1383*22dc650dSSadaf Ebrahimi/(\R*)(.)/s,utf
1384*22dc650dSSadaf Ebrahimi    \r\n
1385*22dc650dSSadaf Ebrahimi 0: \x{0d}
1386*22dc650dSSadaf Ebrahimi 1:
1387*22dc650dSSadaf Ebrahimi 2: \x{0d}
1388*22dc650dSSadaf Ebrahimi    \r\r\n\n\r
1389*22dc650dSSadaf Ebrahimi 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1390*22dc650dSSadaf Ebrahimi 1: \x{0d}\x{0d}\x{0a}\x{0a}
1391*22dc650dSSadaf Ebrahimi 2: \x{0d}
1392*22dc650dSSadaf Ebrahimi    \r\r\n\n\r\n
1393*22dc650dSSadaf Ebrahimi 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1394*22dc650dSSadaf Ebrahimi 1: \x{0d}\x{0d}\x{0a}\x{0a}
1395*22dc650dSSadaf Ebrahimi 2: \x{0d}
1396*22dc650dSSadaf Ebrahimi
1397*22dc650dSSadaf Ebrahimi/(\R)*(.)/s,utf
1398*22dc650dSSadaf Ebrahimi    \r\n
1399*22dc650dSSadaf Ebrahimi 0: \x{0d}
1400*22dc650dSSadaf Ebrahimi 1: <unset>
1401*22dc650dSSadaf Ebrahimi 2: \x{0d}
1402*22dc650dSSadaf Ebrahimi    \r\r\n\n\r
1403*22dc650dSSadaf Ebrahimi 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1404*22dc650dSSadaf Ebrahimi 1: \x{0a}
1405*22dc650dSSadaf Ebrahimi 2: \x{0d}
1406*22dc650dSSadaf Ebrahimi    \r\r\n\n\r\n
1407*22dc650dSSadaf Ebrahimi 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1408*22dc650dSSadaf Ebrahimi 1: \x{0a}
1409*22dc650dSSadaf Ebrahimi 2: \x{0d}
1410*22dc650dSSadaf Ebrahimi
1411*22dc650dSSadaf Ebrahimi/[^\x{1234}]+/Ii,utf
1412*22dc650dSSadaf EbrahimiCapture group count = 0
1413*22dc650dSSadaf EbrahimiOptions: caseless utf
1414*22dc650dSSadaf EbrahimiSubject length lower bound = 1
1415*22dc650dSSadaf Ebrahimi
1416*22dc650dSSadaf Ebrahimi/[^\x{1234}]+?/Ii,utf
1417*22dc650dSSadaf EbrahimiCapture group count = 0
1418*22dc650dSSadaf EbrahimiOptions: caseless utf
1419*22dc650dSSadaf EbrahimiSubject length lower bound = 1
1420*22dc650dSSadaf Ebrahimi
1421*22dc650dSSadaf Ebrahimi/[^\x{1234}]++/Ii,utf
1422*22dc650dSSadaf EbrahimiCapture group count = 0
1423*22dc650dSSadaf EbrahimiOptions: caseless utf
1424*22dc650dSSadaf EbrahimiSubject length lower bound = 1
1425*22dc650dSSadaf Ebrahimi
1426*22dc650dSSadaf Ebrahimi/[^\x{1234}]{2}/Ii,utf
1427*22dc650dSSadaf EbrahimiCapture group count = 0
1428*22dc650dSSadaf EbrahimiOptions: caseless utf
1429*22dc650dSSadaf EbrahimiSubject length lower bound = 2
1430*22dc650dSSadaf Ebrahimi
1431*22dc650dSSadaf Ebrahimi/f.*/
1432*22dc650dSSadaf Ebrahimi    for\=ph
1433*22dc650dSSadaf EbrahimiPartial match: for
1434*22dc650dSSadaf Ebrahimi
1435*22dc650dSSadaf Ebrahimi/f.*/s
1436*22dc650dSSadaf Ebrahimi    for\=ph
1437*22dc650dSSadaf EbrahimiPartial match: for
1438*22dc650dSSadaf Ebrahimi
1439*22dc650dSSadaf Ebrahimi/f.*/utf
1440*22dc650dSSadaf Ebrahimi    for\=ph
1441*22dc650dSSadaf EbrahimiPartial match: for
1442*22dc650dSSadaf Ebrahimi
1443*22dc650dSSadaf Ebrahimi/f.*/s,utf
1444*22dc650dSSadaf Ebrahimi    for\=ph
1445*22dc650dSSadaf EbrahimiPartial match: for
1446*22dc650dSSadaf Ebrahimi
1447*22dc650dSSadaf Ebrahimi/\x{d7ff}\x{e000}/utf
1448*22dc650dSSadaf Ebrahimi
1449*22dc650dSSadaf Ebrahimi/\x{d800}/utf
1450*22dc650dSSadaf EbrahimiFailed: error 173 at offset 7: disallowed Unicode code point (>= 0xd800 && <= 0xdfff)
1451*22dc650dSSadaf Ebrahimi
1452*22dc650dSSadaf Ebrahimi/\x{dfff}/utf
1453*22dc650dSSadaf EbrahimiFailed: error 173 at offset 7: disallowed Unicode code point (>= 0xd800 && <= 0xdfff)
1454*22dc650dSSadaf Ebrahimi
1455*22dc650dSSadaf Ebrahimi/\h+/utf
1456*22dc650dSSadaf Ebrahimi    \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
1457*22dc650dSSadaf Ebrahimi 0: \x{1680}\x{2000}\x{202f}\x{3000}
1458*22dc650dSSadaf Ebrahimi    \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
1459*22dc650dSSadaf Ebrahimi 0: \x{200a}\x{a0}\x{2000}
1460*22dc650dSSadaf Ebrahimi
1461*22dc650dSSadaf Ebrahimi/[\h\x{e000}]+/B,utf
1462*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1463*22dc650dSSadaf Ebrahimi        Bra
1464*22dc650dSSadaf Ebrahimi        [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{e000}]++
1465*22dc650dSSadaf Ebrahimi        Ket
1466*22dc650dSSadaf Ebrahimi        End
1467*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1468*22dc650dSSadaf Ebrahimi    \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
1469*22dc650dSSadaf Ebrahimi 0: \x{1680}\x{2000}\x{202f}\x{3000}
1470*22dc650dSSadaf Ebrahimi    \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
1471*22dc650dSSadaf Ebrahimi 0: \x{200a}\x{a0}\x{2000}
1472*22dc650dSSadaf Ebrahimi
1473*22dc650dSSadaf Ebrahimi/\H+/utf
1474*22dc650dSSadaf Ebrahimi    \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
1475*22dc650dSSadaf Ebrahimi 0: \x{167f}\x{1681}\x{180d}\x{180f}
1476*22dc650dSSadaf Ebrahimi    \x{2000}\x{200a}\x{1fff}\x{200b}
1477*22dc650dSSadaf Ebrahimi 0: \x{1fff}\x{200b}
1478*22dc650dSSadaf Ebrahimi    \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
1479*22dc650dSSadaf Ebrahimi 0: \x{202e}\x{2030}\x{205e}\x{2060}
1480*22dc650dSSadaf Ebrahimi    \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
1481*22dc650dSSadaf Ebrahimi 0: \x{9f}\x{a1}\x{2fff}\x{3001}
1482*22dc650dSSadaf Ebrahimi
1483*22dc650dSSadaf Ebrahimi/[\H\x{d7ff}]+/B,utf
1484*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1485*22dc650dSSadaf Ebrahimi        Bra
1486*22dc650dSSadaf Ebrahimi        [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}\x{d7ff}]++
1487*22dc650dSSadaf Ebrahimi        Ket
1488*22dc650dSSadaf Ebrahimi        End
1489*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1490*22dc650dSSadaf Ebrahimi    \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
1491*22dc650dSSadaf Ebrahimi 0: \x{167f}\x{1681}\x{180d}\x{180f}
1492*22dc650dSSadaf Ebrahimi    \x{2000}\x{200a}\x{1fff}\x{200b}
1493*22dc650dSSadaf Ebrahimi 0: \x{1fff}\x{200b}
1494*22dc650dSSadaf Ebrahimi    \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
1495*22dc650dSSadaf Ebrahimi 0: \x{202e}\x{2030}\x{205e}\x{2060}
1496*22dc650dSSadaf Ebrahimi    \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
1497*22dc650dSSadaf Ebrahimi 0: \x{9f}\x{a1}\x{2fff}\x{3001}
1498*22dc650dSSadaf Ebrahimi
1499*22dc650dSSadaf Ebrahimi/\v+/utf
1500*22dc650dSSadaf Ebrahimi    \x{2027}\x{2030}\x{2028}\x{2029}
1501*22dc650dSSadaf Ebrahimi 0: \x{2028}\x{2029}
1502*22dc650dSSadaf Ebrahimi    \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
1503*22dc650dSSadaf Ebrahimi 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
1504*22dc650dSSadaf Ebrahimi
1505*22dc650dSSadaf Ebrahimi/[\v\x{e000}]+/B,utf
1506*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1507*22dc650dSSadaf Ebrahimi        Bra
1508*22dc650dSSadaf Ebrahimi        [\x0a-\x0d\x85\x{2028}-\x{2029}\x{e000}]++
1509*22dc650dSSadaf Ebrahimi        Ket
1510*22dc650dSSadaf Ebrahimi        End
1511*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1512*22dc650dSSadaf Ebrahimi    \x{2027}\x{2030}\x{2028}\x{2029}
1513*22dc650dSSadaf Ebrahimi 0: \x{2028}\x{2029}
1514*22dc650dSSadaf Ebrahimi    \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
1515*22dc650dSSadaf Ebrahimi 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
1516*22dc650dSSadaf Ebrahimi
1517*22dc650dSSadaf Ebrahimi/\V+/utf
1518*22dc650dSSadaf Ebrahimi    \x{2028}\x{2029}\x{2027}\x{2030}
1519*22dc650dSSadaf Ebrahimi 0: \x{2027}\x{2030}
1520*22dc650dSSadaf Ebrahimi    \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
1521*22dc650dSSadaf Ebrahimi 0: \x{09}\x{0e}\x{84}\x{86}
1522*22dc650dSSadaf Ebrahimi
1523*22dc650dSSadaf Ebrahimi/[\V\x{d7ff}]+/B,utf
1524*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1525*22dc650dSSadaf Ebrahimi        Bra
1526*22dc650dSSadaf Ebrahimi        [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{10ffff}\x{d7ff}]++
1527*22dc650dSSadaf Ebrahimi        Ket
1528*22dc650dSSadaf Ebrahimi        End
1529*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1530*22dc650dSSadaf Ebrahimi    \x{2028}\x{2029}\x{2027}\x{2030}
1531*22dc650dSSadaf Ebrahimi 0: \x{2027}\x{2030}
1532*22dc650dSSadaf Ebrahimi    \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
1533*22dc650dSSadaf Ebrahimi 0: \x{09}\x{0e}\x{84}\x{86}
1534*22dc650dSSadaf Ebrahimi
1535*22dc650dSSadaf Ebrahimi/\R+/bsr=unicode,utf
1536*22dc650dSSadaf Ebrahimi    \x{2027}\x{2030}\x{2028}\x{2029}
1537*22dc650dSSadaf Ebrahimi 0: \x{2028}\x{2029}
1538*22dc650dSSadaf Ebrahimi    \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
1539*22dc650dSSadaf Ebrahimi 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
1540*22dc650dSSadaf Ebrahimi
1541*22dc650dSSadaf Ebrahimi/(..)\1/utf
1542*22dc650dSSadaf Ebrahimi    ab\=ps
1543*22dc650dSSadaf EbrahimiPartial match: ab
1544*22dc650dSSadaf Ebrahimi    aba\=ps
1545*22dc650dSSadaf EbrahimiPartial match: aba
1546*22dc650dSSadaf Ebrahimi    abab\=ps
1547*22dc650dSSadaf Ebrahimi 0: abab
1548*22dc650dSSadaf Ebrahimi 1: ab
1549*22dc650dSSadaf Ebrahimi
1550*22dc650dSSadaf Ebrahimi/(..)\1/i,utf
1551*22dc650dSSadaf Ebrahimi    ab\=ps
1552*22dc650dSSadaf EbrahimiPartial match: ab
1553*22dc650dSSadaf Ebrahimi    abA\=ps
1554*22dc650dSSadaf EbrahimiPartial match: abA
1555*22dc650dSSadaf Ebrahimi    aBAb\=ps
1556*22dc650dSSadaf Ebrahimi 0: aBAb
1557*22dc650dSSadaf Ebrahimi 1: aB
1558*22dc650dSSadaf Ebrahimi
1559*22dc650dSSadaf Ebrahimi/(..)\1{2,}/utf
1560*22dc650dSSadaf Ebrahimi    ab\=ps
1561*22dc650dSSadaf EbrahimiPartial match: ab
1562*22dc650dSSadaf Ebrahimi    aba\=ps
1563*22dc650dSSadaf EbrahimiPartial match: aba
1564*22dc650dSSadaf Ebrahimi    abab\=ps
1565*22dc650dSSadaf EbrahimiPartial match: abab
1566*22dc650dSSadaf Ebrahimi    ababa\=ps
1567*22dc650dSSadaf EbrahimiPartial match: ababa
1568*22dc650dSSadaf Ebrahimi    ababab\=ps
1569*22dc650dSSadaf Ebrahimi 0: ababab
1570*22dc650dSSadaf Ebrahimi 1: ab
1571*22dc650dSSadaf Ebrahimi    ababab\=ph
1572*22dc650dSSadaf EbrahimiPartial match: ababab
1573*22dc650dSSadaf Ebrahimi    abababa\=ps
1574*22dc650dSSadaf Ebrahimi 0: ababab
1575*22dc650dSSadaf Ebrahimi 1: ab
1576*22dc650dSSadaf Ebrahimi    abababa\=ph
1577*22dc650dSSadaf EbrahimiPartial match: abababa
1578*22dc650dSSadaf Ebrahimi
1579*22dc650dSSadaf Ebrahimi/(..)\1{2,}/i,utf
1580*22dc650dSSadaf Ebrahimi    ab\=ps
1581*22dc650dSSadaf EbrahimiPartial match: ab
1582*22dc650dSSadaf Ebrahimi    aBa\=ps
1583*22dc650dSSadaf EbrahimiPartial match: aBa
1584*22dc650dSSadaf Ebrahimi    aBAb\=ps
1585*22dc650dSSadaf EbrahimiPartial match: aBAb
1586*22dc650dSSadaf Ebrahimi    AbaBA\=ps
1587*22dc650dSSadaf EbrahimiPartial match: AbaBA
1588*22dc650dSSadaf Ebrahimi    abABAb\=ps
1589*22dc650dSSadaf Ebrahimi 0: abABAb
1590*22dc650dSSadaf Ebrahimi 1: ab
1591*22dc650dSSadaf Ebrahimi    aBAbaB\=ph
1592*22dc650dSSadaf EbrahimiPartial match: aBAbaB
1593*22dc650dSSadaf Ebrahimi    abABabA\=ps
1594*22dc650dSSadaf Ebrahimi 0: abABab
1595*22dc650dSSadaf Ebrahimi 1: ab
1596*22dc650dSSadaf Ebrahimi    abaBABa\=ph
1597*22dc650dSSadaf EbrahimiPartial match: abaBABa
1598*22dc650dSSadaf Ebrahimi
1599*22dc650dSSadaf Ebrahimi/(..)\1{2,}?x/i,utf
1600*22dc650dSSadaf Ebrahimi    ab\=ps
1601*22dc650dSSadaf EbrahimiPartial match: ab
1602*22dc650dSSadaf Ebrahimi    abA\=ps
1603*22dc650dSSadaf EbrahimiPartial match: abA
1604*22dc650dSSadaf Ebrahimi    aBAb\=ps
1605*22dc650dSSadaf EbrahimiPartial match: aBAb
1606*22dc650dSSadaf Ebrahimi    abaBA\=ps
1607*22dc650dSSadaf EbrahimiPartial match: abaBA
1608*22dc650dSSadaf Ebrahimi    abAbaB\=ps
1609*22dc650dSSadaf EbrahimiPartial match: abAbaB
1610*22dc650dSSadaf Ebrahimi    abaBabA\=ps
1611*22dc650dSSadaf EbrahimiPartial match: abaBabA
1612*22dc650dSSadaf Ebrahimi    abAbABaBx\=ps
1613*22dc650dSSadaf Ebrahimi 0: abAbABaBx
1614*22dc650dSSadaf Ebrahimi 1: ab
1615*22dc650dSSadaf Ebrahimi
1616*22dc650dSSadaf Ebrahimi/./utf,newline=crlf
1617*22dc650dSSadaf Ebrahimi    \r\=ps
1618*22dc650dSSadaf Ebrahimi 0: \x{0d}
1619*22dc650dSSadaf Ebrahimi    \r\=ph
1620*22dc650dSSadaf EbrahimiPartial match: \x{0d}
1621*22dc650dSSadaf Ebrahimi
1622*22dc650dSSadaf Ebrahimi/.{2,3}/utf,newline=crlf
1623*22dc650dSSadaf Ebrahimi    \r\=ps
1624*22dc650dSSadaf EbrahimiPartial match: \x{0d}
1625*22dc650dSSadaf Ebrahimi    \r\=ph
1626*22dc650dSSadaf EbrahimiPartial match: \x{0d}
1627*22dc650dSSadaf Ebrahimi    \r\r\=ps
1628*22dc650dSSadaf Ebrahimi 0: \x{0d}\x{0d}
1629*22dc650dSSadaf Ebrahimi    \r\r\=ph
1630*22dc650dSSadaf EbrahimiPartial match: \x{0d}\x{0d}
1631*22dc650dSSadaf Ebrahimi    \r\r\r\=ps
1632*22dc650dSSadaf Ebrahimi 0: \x{0d}\x{0d}\x{0d}
1633*22dc650dSSadaf Ebrahimi    \r\r\r\=ph
1634*22dc650dSSadaf EbrahimiPartial match: \x{0d}\x{0d}\x{0d}
1635*22dc650dSSadaf Ebrahimi
1636*22dc650dSSadaf Ebrahimi/.{2,3}?/utf,newline=crlf
1637*22dc650dSSadaf Ebrahimi    \r\=ps
1638*22dc650dSSadaf EbrahimiPartial match: \x{0d}
1639*22dc650dSSadaf Ebrahimi    \r\=ph
1640*22dc650dSSadaf EbrahimiPartial match: \x{0d}
1641*22dc650dSSadaf Ebrahimi    \r\r\=ps
1642*22dc650dSSadaf Ebrahimi 0: \x{0d}\x{0d}
1643*22dc650dSSadaf Ebrahimi    \r\r\=ph
1644*22dc650dSSadaf EbrahimiPartial match: \x{0d}\x{0d}
1645*22dc650dSSadaf Ebrahimi    \r\r\r\=ps
1646*22dc650dSSadaf Ebrahimi 0: \x{0d}\x{0d}
1647*22dc650dSSadaf Ebrahimi    \r\r\r\=ph
1648*22dc650dSSadaf Ebrahimi 0: \x{0d}\x{0d}
1649*22dc650dSSadaf Ebrahimi
1650*22dc650dSSadaf Ebrahimi/[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/B,utf
1651*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1652*22dc650dSSadaf Ebrahimi        Bra
1653*22dc650dSSadaf Ebrahimi        [^\x{100}]
1654*22dc650dSSadaf Ebrahimi        [^\x{1234}]
1655*22dc650dSSadaf Ebrahimi        [^\x{ffff}]
1656*22dc650dSSadaf Ebrahimi        [^\x{10000}]
1657*22dc650dSSadaf Ebrahimi        [^\x{10ffff}]
1658*22dc650dSSadaf Ebrahimi        Ket
1659*22dc650dSSadaf Ebrahimi        End
1660*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1661*22dc650dSSadaf Ebrahimi
1662*22dc650dSSadaf Ebrahimi/[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/Bi,utf
1663*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1664*22dc650dSSadaf Ebrahimi        Bra
1665*22dc650dSSadaf Ebrahimi     /i [^\x{100}]
1666*22dc650dSSadaf Ebrahimi     /i [^\x{1234}]
1667*22dc650dSSadaf Ebrahimi     /i [^\x{ffff}]
1668*22dc650dSSadaf Ebrahimi     /i [^\x{10000}]
1669*22dc650dSSadaf Ebrahimi     /i [^\x{10ffff}]
1670*22dc650dSSadaf Ebrahimi        Ket
1671*22dc650dSSadaf Ebrahimi        End
1672*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1673*22dc650dSSadaf Ebrahimi
1674*22dc650dSSadaf Ebrahimi/[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/B,utf
1675*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1676*22dc650dSSadaf Ebrahimi        Bra
1677*22dc650dSSadaf Ebrahimi        [^\x{100}]*
1678*22dc650dSSadaf Ebrahimi        [^\x{10000}]+
1679*22dc650dSSadaf Ebrahimi        [^\x{10ffff}]??
1680*22dc650dSSadaf Ebrahimi        [^\x{8000}]{4}
1681*22dc650dSSadaf Ebrahimi        [^\x{8000}]*
1682*22dc650dSSadaf Ebrahimi        [^\x{7fff}]{2}
1683*22dc650dSSadaf Ebrahimi        [^\x{7fff}]{0,7}?
1684*22dc650dSSadaf Ebrahimi        [^\x{fffff}]{5}
1685*22dc650dSSadaf Ebrahimi        [^\x{fffff}]?+
1686*22dc650dSSadaf Ebrahimi        Ket
1687*22dc650dSSadaf Ebrahimi        End
1688*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1689*22dc650dSSadaf Ebrahimi
1690*22dc650dSSadaf Ebrahimi/[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/Bi,utf
1691*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1692*22dc650dSSadaf Ebrahimi        Bra
1693*22dc650dSSadaf Ebrahimi     /i [^\x{100}]*
1694*22dc650dSSadaf Ebrahimi     /i [^\x{10000}]+
1695*22dc650dSSadaf Ebrahimi     /i [^\x{10ffff}]??
1696*22dc650dSSadaf Ebrahimi     /i [^\x{8000}]{4}
1697*22dc650dSSadaf Ebrahimi     /i [^\x{8000}]*
1698*22dc650dSSadaf Ebrahimi     /i [^\x{7fff}]{2}
1699*22dc650dSSadaf Ebrahimi     /i [^\x{7fff}]{0,7}?
1700*22dc650dSSadaf Ebrahimi     /i [^\x{fffff}]{5}
1701*22dc650dSSadaf Ebrahimi     /i [^\x{fffff}]?+
1702*22dc650dSSadaf Ebrahimi        Ket
1703*22dc650dSSadaf Ebrahimi        End
1704*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1705*22dc650dSSadaf Ebrahimi
1706*22dc650dSSadaf Ebrahimi/(?<=\x{1234}\x{1234})\bxy/I,utf
1707*22dc650dSSadaf EbrahimiCapture group count = 0
1708*22dc650dSSadaf EbrahimiMax lookbehind = 2
1709*22dc650dSSadaf EbrahimiOptions: utf
1710*22dc650dSSadaf EbrahimiFirst code unit = 'x'
1711*22dc650dSSadaf EbrahimiLast code unit = 'y'
1712*22dc650dSSadaf EbrahimiSubject length lower bound = 2
1713*22dc650dSSadaf Ebrahimi
1714*22dc650dSSadaf Ebrahimi/(?<!^)ETA/utf
1715*22dc650dSSadaf Ebrahimi\= Expect no match
1716*22dc650dSSadaf Ebrahimi    ETA
1717*22dc650dSSadaf EbrahimiNo match
1718*22dc650dSSadaf Ebrahimi
1719*22dc650dSSadaf Ebrahimi/\u0100/B,utf,alt_bsux,allow_empty_class,match_unset_backref
1720*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1721*22dc650dSSadaf Ebrahimi        Bra
1722*22dc650dSSadaf Ebrahimi        \x{100}
1723*22dc650dSSadaf Ebrahimi        Ket
1724*22dc650dSSadaf Ebrahimi        End
1725*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1726*22dc650dSSadaf Ebrahimi
1727*22dc650dSSadaf Ebrahimi/[\u0100-\u0200]/B,utf,alt_bsux,allow_empty_class,match_unset_backref
1728*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1729*22dc650dSSadaf Ebrahimi        Bra
1730*22dc650dSSadaf Ebrahimi        [\x{100}-\x{200}]
1731*22dc650dSSadaf Ebrahimi        Ket
1732*22dc650dSSadaf Ebrahimi        End
1733*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1734*22dc650dSSadaf Ebrahimi
1735*22dc650dSSadaf Ebrahimi/\ud800/utf,alt_bsux,allow_empty_class,match_unset_backref
1736*22dc650dSSadaf EbrahimiFailed: error 173 at offset 6: disallowed Unicode code point (>= 0xd800 && <= 0xdfff)
1737*22dc650dSSadaf Ebrahimi
1738*22dc650dSSadaf Ebrahimi/^\u{0000000000010ffff}/utf,extra_alt_bsux
1739*22dc650dSSadaf Ebrahimi    \x{10ffff}
1740*22dc650dSSadaf Ebrahimi 0: \x{10ffff}
1741*22dc650dSSadaf Ebrahimi
1742*22dc650dSSadaf Ebrahimi/\u{ 1bb1}/utf,extra_alt_bsux
1743*22dc650dSSadaf Ebrahimi    u{ 1bb1}
1744*22dc650dSSadaf Ebrahimi 0: u{ 1bb1}
1745*22dc650dSSadaf Ebrahimi\= Expect no match
1746*22dc650dSSadaf Ebrahimi    \x{1bb1}
1747*22dc650dSSadaf EbrahimiNo match
1748*22dc650dSSadaf Ebrahimi
1749*22dc650dSSadaf Ebrahimi/\u/utf,alt_bsux
1750*22dc650dSSadaf Ebrahimi    \\u
1751*22dc650dSSadaf Ebrahimi 0: u
1752*22dc650dSSadaf Ebrahimi
1753*22dc650dSSadaf Ebrahimi/^a+[a\x{200}]/B,utf
1754*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1755*22dc650dSSadaf Ebrahimi        Bra
1756*22dc650dSSadaf Ebrahimi        ^
1757*22dc650dSSadaf Ebrahimi        a+
1758*22dc650dSSadaf Ebrahimi        [a\x{200}]
1759*22dc650dSSadaf Ebrahimi        Ket
1760*22dc650dSSadaf Ebrahimi        End
1761*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1762*22dc650dSSadaf Ebrahimi    aa
1763*22dc650dSSadaf Ebrahimi 0: aa
1764*22dc650dSSadaf Ebrahimi
1765*22dc650dSSadaf Ebrahimi/[b-d\x{200}-\x{250}]*[ae-h]?#[\x{200}-\x{250}]{0,8}[\x00-\xff]*#[\x{200}-\x{250}]+[a-z]/B,utf
1766*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1767*22dc650dSSadaf Ebrahimi        Bra
1768*22dc650dSSadaf Ebrahimi        [b-d\x{200}-\x{250}]*+
1769*22dc650dSSadaf Ebrahimi        [ae-h]?+
1770*22dc650dSSadaf Ebrahimi        #
1771*22dc650dSSadaf Ebrahimi        [\x{200}-\x{250}]{0,8}+
1772*22dc650dSSadaf Ebrahimi        [\x00-\xff]*
1773*22dc650dSSadaf Ebrahimi        #
1774*22dc650dSSadaf Ebrahimi        [\x{200}-\x{250}]++
1775*22dc650dSSadaf Ebrahimi        [a-z]
1776*22dc650dSSadaf Ebrahimi        Ket
1777*22dc650dSSadaf Ebrahimi        End
1778*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1779*22dc650dSSadaf Ebrahimi
1780*22dc650dSSadaf Ebrahimi/[\p{L}]/IB
1781*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1782*22dc650dSSadaf Ebrahimi        Bra
1783*22dc650dSSadaf Ebrahimi        [\p{L}]
1784*22dc650dSSadaf Ebrahimi        Ket
1785*22dc650dSSadaf Ebrahimi        End
1786*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1787*22dc650dSSadaf EbrahimiCapture group count = 0
1788*22dc650dSSadaf EbrahimiSubject length lower bound = 1
1789*22dc650dSSadaf Ebrahimi
1790*22dc650dSSadaf Ebrahimi/[\p{^L}]/IB
1791*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1792*22dc650dSSadaf Ebrahimi        Bra
1793*22dc650dSSadaf Ebrahimi        [\P{L}]
1794*22dc650dSSadaf Ebrahimi        Ket
1795*22dc650dSSadaf Ebrahimi        End
1796*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1797*22dc650dSSadaf EbrahimiCapture group count = 0
1798*22dc650dSSadaf EbrahimiSubject length lower bound = 1
1799*22dc650dSSadaf Ebrahimi
1800*22dc650dSSadaf Ebrahimi/[\P{L}]/IB
1801*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1802*22dc650dSSadaf Ebrahimi        Bra
1803*22dc650dSSadaf Ebrahimi        [\P{L}]
1804*22dc650dSSadaf Ebrahimi        Ket
1805*22dc650dSSadaf Ebrahimi        End
1806*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1807*22dc650dSSadaf EbrahimiCapture group count = 0
1808*22dc650dSSadaf EbrahimiSubject length lower bound = 1
1809*22dc650dSSadaf Ebrahimi
1810*22dc650dSSadaf Ebrahimi/[\P{^L}]/IB
1811*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1812*22dc650dSSadaf Ebrahimi        Bra
1813*22dc650dSSadaf Ebrahimi        [\p{L}]
1814*22dc650dSSadaf Ebrahimi        Ket
1815*22dc650dSSadaf Ebrahimi        End
1816*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1817*22dc650dSSadaf EbrahimiCapture group count = 0
1818*22dc650dSSadaf EbrahimiSubject length lower bound = 1
1819*22dc650dSSadaf Ebrahimi
1820*22dc650dSSadaf Ebrahimi/[abc\p{L}\x{0660}]/IB,utf
1821*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1822*22dc650dSSadaf Ebrahimi        Bra
1823*22dc650dSSadaf Ebrahimi        [a-c\p{L}\x{660}]
1824*22dc650dSSadaf Ebrahimi        Ket
1825*22dc650dSSadaf Ebrahimi        End
1826*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1827*22dc650dSSadaf EbrahimiCapture group count = 0
1828*22dc650dSSadaf EbrahimiOptions: utf
1829*22dc650dSSadaf EbrahimiSubject length lower bound = 1
1830*22dc650dSSadaf Ebrahimi
1831*22dc650dSSadaf Ebrahimi/[\p{Nd}]/IB,utf
1832*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1833*22dc650dSSadaf Ebrahimi        Bra
1834*22dc650dSSadaf Ebrahimi        [\p{Nd}]
1835*22dc650dSSadaf Ebrahimi        Ket
1836*22dc650dSSadaf Ebrahimi        End
1837*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1838*22dc650dSSadaf EbrahimiCapture group count = 0
1839*22dc650dSSadaf EbrahimiOptions: utf
1840*22dc650dSSadaf EbrahimiSubject length lower bound = 1
1841*22dc650dSSadaf Ebrahimi    1234
1842*22dc650dSSadaf Ebrahimi 0: 1
1843*22dc650dSSadaf Ebrahimi
1844*22dc650dSSadaf Ebrahimi/[\p{Nd}+-]+/IB,utf
1845*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1846*22dc650dSSadaf Ebrahimi        Bra
1847*22dc650dSSadaf Ebrahimi        [+\-\p{Nd}]++
1848*22dc650dSSadaf Ebrahimi        Ket
1849*22dc650dSSadaf Ebrahimi        End
1850*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1851*22dc650dSSadaf EbrahimiCapture group count = 0
1852*22dc650dSSadaf EbrahimiOptions: utf
1853*22dc650dSSadaf EbrahimiSubject length lower bound = 1
1854*22dc650dSSadaf Ebrahimi    1234
1855*22dc650dSSadaf Ebrahimi 0: 1234
1856*22dc650dSSadaf Ebrahimi    12-34
1857*22dc650dSSadaf Ebrahimi 0: 12-34
1858*22dc650dSSadaf Ebrahimi    12+\x{661}-34
1859*22dc650dSSadaf Ebrahimi 0: 12+\x{661}-34
1860*22dc650dSSadaf Ebrahimi\= Expect no match
1861*22dc650dSSadaf Ebrahimi    abcd
1862*22dc650dSSadaf EbrahimiNo match
1863*22dc650dSSadaf Ebrahimi
1864*22dc650dSSadaf Ebrahimi/(?:[\PPa*]*){8,}/
1865*22dc650dSSadaf Ebrahimi
1866*22dc650dSSadaf Ebrahimi/[\P{Any}]/B
1867*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1868*22dc650dSSadaf Ebrahimi        Bra
1869*22dc650dSSadaf Ebrahimi        [\P{Any}]
1870*22dc650dSSadaf Ebrahimi        Ket
1871*22dc650dSSadaf Ebrahimi        End
1872*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1873*22dc650dSSadaf Ebrahimi
1874*22dc650dSSadaf Ebrahimi/[\P{Any}\E]/B
1875*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1876*22dc650dSSadaf Ebrahimi        Bra
1877*22dc650dSSadaf Ebrahimi        [\P{Any}]
1878*22dc650dSSadaf Ebrahimi        Ket
1879*22dc650dSSadaf Ebrahimi        End
1880*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1881*22dc650dSSadaf Ebrahimi
1882*22dc650dSSadaf Ebrahimi/(\P{Yi}+\277)/
1883*22dc650dSSadaf Ebrahimi
1884*22dc650dSSadaf Ebrahimi/(\P{Yi}+\277)?/
1885*22dc650dSSadaf Ebrahimi
1886*22dc650dSSadaf Ebrahimi/(?<=\P{Yi}{3}A)X/
1887*22dc650dSSadaf Ebrahimi
1888*22dc650dSSadaf Ebrahimi/\p{Yi}+(\P{Yi}+)(?1)/
1889*22dc650dSSadaf Ebrahimi
1890*22dc650dSSadaf Ebrahimi/(\P{Yi}{2}\277)?/
1891*22dc650dSSadaf Ebrahimi
1892*22dc650dSSadaf Ebrahimi/[\P{Yi}A]/
1893*22dc650dSSadaf Ebrahimi
1894*22dc650dSSadaf Ebrahimi/[\P{Yi}\P{Yi}\P{Yi}A]/
1895*22dc650dSSadaf Ebrahimi
1896*22dc650dSSadaf Ebrahimi/[^\P{Yi}A]/
1897*22dc650dSSadaf Ebrahimi
1898*22dc650dSSadaf Ebrahimi/[^\P{Yi}\P{Yi}\P{Yi}A]/
1899*22dc650dSSadaf Ebrahimi
1900*22dc650dSSadaf Ebrahimi/(\P{Yi}*\277)*/
1901*22dc650dSSadaf Ebrahimi
1902*22dc650dSSadaf Ebrahimi/(\P{Yi}*?\277)*/
1903*22dc650dSSadaf Ebrahimi
1904*22dc650dSSadaf Ebrahimi/(\p{Yi}*+\277)*/
1905*22dc650dSSadaf Ebrahimi
1906*22dc650dSSadaf Ebrahimi/(\P{Yi}?\277)*/
1907*22dc650dSSadaf Ebrahimi
1908*22dc650dSSadaf Ebrahimi/(\P{Yi}??\277)*/
1909*22dc650dSSadaf Ebrahimi
1910*22dc650dSSadaf Ebrahimi/(\p{Yi}?+\277)*/
1911*22dc650dSSadaf Ebrahimi
1912*22dc650dSSadaf Ebrahimi/(\P{Yi}{0,3}\277)*/
1913*22dc650dSSadaf Ebrahimi
1914*22dc650dSSadaf Ebrahimi/(\P{Yi}{0,3}?\277)*/
1915*22dc650dSSadaf Ebrahimi
1916*22dc650dSSadaf Ebrahimi/(\p{Yi}{0,3}+\277)*/
1917*22dc650dSSadaf Ebrahimi
1918*22dc650dSSadaf Ebrahimi/\p{Zl}{2,3}+/B,utf
1919*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1920*22dc650dSSadaf Ebrahimi        Bra
1921*22dc650dSSadaf Ebrahimi        prop Zl {2}
1922*22dc650dSSadaf Ebrahimi        prop Zl ?+
1923*22dc650dSSadaf Ebrahimi        Ket
1924*22dc650dSSadaf Ebrahimi        End
1925*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1926*22dc650dSSadaf Ebrahimi    


1927*22dc650dSSadaf Ebrahimi 0: \x{2028}\x{2028}
1928*22dc650dSSadaf Ebrahimi    \x{2028}\x{2028}\x{2028}
1929*22dc650dSSadaf Ebrahimi 0: \x{2028}\x{2028}\x{2028}
1930*22dc650dSSadaf Ebrahimi
1931*22dc650dSSadaf Ebrahimi/\p{Zl}/B,utf
1932*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1933*22dc650dSSadaf Ebrahimi        Bra
1934*22dc650dSSadaf Ebrahimi        prop Zl
1935*22dc650dSSadaf Ebrahimi        Ket
1936*22dc650dSSadaf Ebrahimi        End
1937*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1938*22dc650dSSadaf Ebrahimi
1939*22dc650dSSadaf Ebrahimi/\p{Lu}{3}+/B,utf
1940*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1941*22dc650dSSadaf Ebrahimi        Bra
1942*22dc650dSSadaf Ebrahimi        prop Lu {3}
1943*22dc650dSSadaf Ebrahimi        Ket
1944*22dc650dSSadaf Ebrahimi        End
1945*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1946*22dc650dSSadaf Ebrahimi
1947*22dc650dSSadaf Ebrahimi/\pL{2}+/B,utf
1948*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1949*22dc650dSSadaf Ebrahimi        Bra
1950*22dc650dSSadaf Ebrahimi        prop L {2}
1951*22dc650dSSadaf Ebrahimi        Ket
1952*22dc650dSSadaf Ebrahimi        End
1953*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1954*22dc650dSSadaf Ebrahimi
1955*22dc650dSSadaf Ebrahimi/\p{Cc}{2}+/B,utf
1956*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1957*22dc650dSSadaf Ebrahimi        Bra
1958*22dc650dSSadaf Ebrahimi        prop Cc {2}
1959*22dc650dSSadaf Ebrahimi        Ket
1960*22dc650dSSadaf Ebrahimi        End
1961*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
1962*22dc650dSSadaf Ebrahimi
1963*22dc650dSSadaf Ebrahimi/^\p{Cf}/utf
1964*22dc650dSSadaf Ebrahimi    \x{180e}
1965*22dc650dSSadaf Ebrahimi 0: \x{180e}
1966*22dc650dSSadaf Ebrahimi    \x{061c}
1967*22dc650dSSadaf Ebrahimi 0: \x{61c}
1968*22dc650dSSadaf Ebrahimi    \x{2066}
1969*22dc650dSSadaf Ebrahimi 0: \x{2066}
1970*22dc650dSSadaf Ebrahimi    \x{2067}
1971*22dc650dSSadaf Ebrahimi 0: \x{2067}
1972*22dc650dSSadaf Ebrahimi    \x{2068}
1973*22dc650dSSadaf Ebrahimi 0: \x{2068}
1974*22dc650dSSadaf Ebrahimi    \x{2069}
1975*22dc650dSSadaf Ebrahimi 0: \x{2069}
1976*22dc650dSSadaf Ebrahimi
1977*22dc650dSSadaf Ebrahimi/^\p{Cs}/utf
1978*22dc650dSSadaf Ebrahimi    \x{dfff}\=no_utf_check
1979*22dc650dSSadaf Ebrahimi 0: \x{dfff}
1980*22dc650dSSadaf Ebrahimi\= Expect no match
1981*22dc650dSSadaf Ebrahimi    \x{09f}
1982*22dc650dSSadaf EbrahimiNo match
1983*22dc650dSSadaf Ebrahimi
1984*22dc650dSSadaf Ebrahimi/^\p{Mn}/utf
1985*22dc650dSSadaf Ebrahimi    \x{1a1b}
1986*22dc650dSSadaf Ebrahimi 0: \x{1a1b}
1987*22dc650dSSadaf Ebrahimi
1988*22dc650dSSadaf Ebrahimi/^\p{Pe}/utf
1989*22dc650dSSadaf Ebrahimi    \x{2309}
1990*22dc650dSSadaf Ebrahimi 0: \x{2309}
1991*22dc650dSSadaf Ebrahimi    \x{230b}
1992*22dc650dSSadaf Ebrahimi 0: \x{230b}
1993*22dc650dSSadaf Ebrahimi
1994*22dc650dSSadaf Ebrahimi/^\p{Ps}/utf
1995*22dc650dSSadaf Ebrahimi    \x{2308}
1996*22dc650dSSadaf Ebrahimi 0: \x{2308}
1997*22dc650dSSadaf Ebrahimi    \x{230a}
1998*22dc650dSSadaf Ebrahimi 0: \x{230a}
1999*22dc650dSSadaf Ebrahimi
2000*22dc650dSSadaf Ebrahimi/^\p{Sc}+/utf
2001*22dc650dSSadaf Ebrahimi    $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
2002*22dc650dSSadaf Ebrahimi 0: $\x{a2}\x{a3}\x{a4}\x{a5}
2003*22dc650dSSadaf Ebrahimi    \x{9f2}
2004*22dc650dSSadaf Ebrahimi 0: \x{9f2}
2005*22dc650dSSadaf Ebrahimi\= Expect no match
2006*22dc650dSSadaf Ebrahimi    X
2007*22dc650dSSadaf EbrahimiNo match
2008*22dc650dSSadaf Ebrahimi    \x{2c2}
2009*22dc650dSSadaf EbrahimiNo match
2010*22dc650dSSadaf Ebrahimi
2011*22dc650dSSadaf Ebrahimi/^\p{Zs}/utf
2012*22dc650dSSadaf Ebrahimi    \ \
2013*22dc650dSSadaf Ebrahimi 0:
2014*22dc650dSSadaf Ebrahimi    \x{a0}
2015*22dc650dSSadaf Ebrahimi 0: \x{a0}
2016*22dc650dSSadaf Ebrahimi    \x{1680}
2017*22dc650dSSadaf Ebrahimi 0: \x{1680}
2018*22dc650dSSadaf Ebrahimi    \x{2000}
2019*22dc650dSSadaf Ebrahimi 0: \x{2000}
2020*22dc650dSSadaf Ebrahimi    \x{2001}
2021*22dc650dSSadaf Ebrahimi 0: \x{2001}
2022*22dc650dSSadaf Ebrahimi\= Expect no match
2023*22dc650dSSadaf Ebrahimi    \x{2028}
2024*22dc650dSSadaf EbrahimiNo match
2025*22dc650dSSadaf Ebrahimi    \x{200d}
2026*22dc650dSSadaf EbrahimiNo match
2027*22dc650dSSadaf Ebrahimi
2028*22dc650dSSadaf Ebrahimi# These are here because Perl has problems with the negative versions of the
2029*22dc650dSSadaf Ebrahimi# properties and has changed how it behaves for caseless matching.
2030*22dc650dSSadaf Ebrahimi
2031*22dc650dSSadaf Ebrahimi/\p{^Lu}/i,utf
2032*22dc650dSSadaf Ebrahimi    1234
2033*22dc650dSSadaf Ebrahimi 0: 1
2034*22dc650dSSadaf Ebrahimi\= Expect no match
2035*22dc650dSSadaf Ebrahimi    ABC
2036*22dc650dSSadaf EbrahimiNo match
2037*22dc650dSSadaf Ebrahimi
2038*22dc650dSSadaf Ebrahimi/\P{Lu}/i,utf
2039*22dc650dSSadaf Ebrahimi    1234
2040*22dc650dSSadaf Ebrahimi 0: 1
2041*22dc650dSSadaf Ebrahimi\= Expect no match
2042*22dc650dSSadaf Ebrahimi    ABC
2043*22dc650dSSadaf EbrahimiNo match
2044*22dc650dSSadaf Ebrahimi
2045*22dc650dSSadaf Ebrahimi/\p{Ll}/i,utf
2046*22dc650dSSadaf Ebrahimi    a
2047*22dc650dSSadaf Ebrahimi 0: a
2048*22dc650dSSadaf Ebrahimi    Az
2049*22dc650dSSadaf Ebrahimi 0: z
2050*22dc650dSSadaf Ebrahimi\= Expect no match
2051*22dc650dSSadaf Ebrahimi    ABC
2052*22dc650dSSadaf EbrahimiNo match
2053*22dc650dSSadaf Ebrahimi
2054*22dc650dSSadaf Ebrahimi/\p{Lu}/i,utf
2055*22dc650dSSadaf Ebrahimi    A
2056*22dc650dSSadaf Ebrahimi 0: A
2057*22dc650dSSadaf Ebrahimi    a\x{10a0}B
2058*22dc650dSSadaf Ebrahimi 0: \x{10a0}
2059*22dc650dSSadaf Ebrahimi\= Expect no match
2060*22dc650dSSadaf Ebrahimi    a
2061*22dc650dSSadaf EbrahimiNo match
2062*22dc650dSSadaf Ebrahimi    \x{1d00}
2063*22dc650dSSadaf EbrahimiNo match
2064*22dc650dSSadaf Ebrahimi
2065*22dc650dSSadaf Ebrahimi/\p{Lu}/i,utf
2066*22dc650dSSadaf Ebrahimi    A
2067*22dc650dSSadaf Ebrahimi 0: A
2068*22dc650dSSadaf Ebrahimi    aZ
2069*22dc650dSSadaf Ebrahimi 0: Z
2070*22dc650dSSadaf Ebrahimi\= Expect no match
2071*22dc650dSSadaf Ebrahimi    abc
2072*22dc650dSSadaf EbrahimiNo match
2073*22dc650dSSadaf Ebrahimi
2074*22dc650dSSadaf Ebrahimi/[\x{c0}\x{391}]/i,utf
2075*22dc650dSSadaf Ebrahimi    \x{c0}
2076*22dc650dSSadaf Ebrahimi 0: \x{c0}
2077*22dc650dSSadaf Ebrahimi    \x{e0}
2078*22dc650dSSadaf Ebrahimi 0: \x{e0}
2079*22dc650dSSadaf Ebrahimi
2080*22dc650dSSadaf Ebrahimi# The next two are special cases where the lengths of the different cases of
2081*22dc650dSSadaf Ebrahimi# the same character differ. The first went wrong with heap frame storage; the
2082*22dc650dSSadaf Ebrahimi# second was broken in all cases.
2083*22dc650dSSadaf Ebrahimi
2084*22dc650dSSadaf Ebrahimi/^\x{023a}+?(\x{0130}+)/i,utf
2085*22dc650dSSadaf Ebrahimi  \x{023a}\x{2c65}\x{0130}
2086*22dc650dSSadaf Ebrahimi 0: \x{23a}\x{2c65}\x{130}
2087*22dc650dSSadaf Ebrahimi 1: \x{130}
2088*22dc650dSSadaf Ebrahimi
2089*22dc650dSSadaf Ebrahimi/^\x{023a}+([^X])/i,utf
2090*22dc650dSSadaf Ebrahimi  \x{023a}\x{2c65}X
2091*22dc650dSSadaf Ebrahimi 0: \x{23a}\x{2c65}
2092*22dc650dSSadaf Ebrahimi 1: \x{2c65}
2093*22dc650dSSadaf Ebrahimi
2094*22dc650dSSadaf Ebrahimi/\x{c0}+\x{116}+/i,utf
2095*22dc650dSSadaf Ebrahimi    \x{c0}\x{e0}\x{116}\x{117}
2096*22dc650dSSadaf Ebrahimi 0: \x{c0}\x{e0}\x{116}\x{117}
2097*22dc650dSSadaf Ebrahimi
2098*22dc650dSSadaf Ebrahimi/[\x{c0}\x{116}]+/i,utf
2099*22dc650dSSadaf Ebrahimi    \x{c0}\x{e0}\x{116}\x{117}
2100*22dc650dSSadaf Ebrahimi 0: \x{c0}\x{e0}\x{116}\x{117}
2101*22dc650dSSadaf Ebrahimi
2102*22dc650dSSadaf Ebrahimi/(\x{de})\1/i,utf
2103*22dc650dSSadaf Ebrahimi    \x{de}\x{de}
2104*22dc650dSSadaf Ebrahimi 0: \x{de}\x{de}
2105*22dc650dSSadaf Ebrahimi 1: \x{de}
2106*22dc650dSSadaf Ebrahimi    \x{de}\x{fe}
2107*22dc650dSSadaf Ebrahimi 0: \x{de}\x{fe}
2108*22dc650dSSadaf Ebrahimi 1: \x{de}
2109*22dc650dSSadaf Ebrahimi    \x{fe}\x{fe}
2110*22dc650dSSadaf Ebrahimi 0: \x{fe}\x{fe}
2111*22dc650dSSadaf Ebrahimi 1: \x{fe}
2112*22dc650dSSadaf Ebrahimi    \x{fe}\x{de}
2113*22dc650dSSadaf Ebrahimi 0: \x{fe}\x{de}
2114*22dc650dSSadaf Ebrahimi 1: \x{fe}
2115*22dc650dSSadaf Ebrahimi
2116*22dc650dSSadaf Ebrahimi/^\x{c0}$/i,utf
2117*22dc650dSSadaf Ebrahimi    \x{c0}
2118*22dc650dSSadaf Ebrahimi 0: \x{c0}
2119*22dc650dSSadaf Ebrahimi    \x{e0}
2120*22dc650dSSadaf Ebrahimi 0: \x{e0}
2121*22dc650dSSadaf Ebrahimi
2122*22dc650dSSadaf Ebrahimi/^\x{e0}$/i,utf
2123*22dc650dSSadaf Ebrahimi    \x{c0}
2124*22dc650dSSadaf Ebrahimi 0: \x{c0}
2125*22dc650dSSadaf Ebrahimi    \x{e0}
2126*22dc650dSSadaf Ebrahimi 0: \x{e0}
2127*22dc650dSSadaf Ebrahimi
2128*22dc650dSSadaf Ebrahimi# The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
2129*22dc650dSSadaf Ebrahimi# will match it only with UCP support, because without that it has no notion
2130*22dc650dSSadaf Ebrahimi# of case for anything other than the ASCII letters.
2131*22dc650dSSadaf Ebrahimi
2132*22dc650dSSadaf Ebrahimi/((?i)[\x{c0}])/utf
2133*22dc650dSSadaf Ebrahimi    \x{c0}
2134*22dc650dSSadaf Ebrahimi 0: \x{c0}
2135*22dc650dSSadaf Ebrahimi 1: \x{c0}
2136*22dc650dSSadaf Ebrahimi    \x{e0}
2137*22dc650dSSadaf Ebrahimi 0: \x{e0}
2138*22dc650dSSadaf Ebrahimi 1: \x{e0}
2139*22dc650dSSadaf Ebrahimi
2140*22dc650dSSadaf Ebrahimi/(?i:[\x{c0}])/utf
2141*22dc650dSSadaf Ebrahimi    \x{c0}
2142*22dc650dSSadaf Ebrahimi 0: \x{c0}
2143*22dc650dSSadaf Ebrahimi    \x{e0}
2144*22dc650dSSadaf Ebrahimi 0: \x{e0}
2145*22dc650dSSadaf Ebrahimi
2146*22dc650dSSadaf Ebrahimi# These are PCRE's extra properties to help with Unicodizing \d etc.
2147*22dc650dSSadaf Ebrahimi
2148*22dc650dSSadaf Ebrahimi/^\p{Xan}/utf
2149*22dc650dSSadaf Ebrahimi    ABCD
2150*22dc650dSSadaf Ebrahimi 0: A
2151*22dc650dSSadaf Ebrahimi    1234
2152*22dc650dSSadaf Ebrahimi 0: 1
2153*22dc650dSSadaf Ebrahimi    \x{6ca}
2154*22dc650dSSadaf Ebrahimi 0: \x{6ca}
2155*22dc650dSSadaf Ebrahimi    \x{a6c}
2156*22dc650dSSadaf Ebrahimi 0: \x{a6c}
2157*22dc650dSSadaf Ebrahimi    \x{10a7}
2158*22dc650dSSadaf Ebrahimi 0: \x{10a7}
2159*22dc650dSSadaf Ebrahimi\= Expect no match
2160*22dc650dSSadaf Ebrahimi    _ABC
2161*22dc650dSSadaf EbrahimiNo match
2162*22dc650dSSadaf Ebrahimi
2163*22dc650dSSadaf Ebrahimi/^\p{Xan}+/utf
2164*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2165*22dc650dSSadaf Ebrahimi 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
2166*22dc650dSSadaf Ebrahimi\= Expect no match
2167*22dc650dSSadaf Ebrahimi    _ABC
2168*22dc650dSSadaf EbrahimiNo match
2169*22dc650dSSadaf Ebrahimi
2170*22dc650dSSadaf Ebrahimi/^\p{Xan}+?/utf
2171*22dc650dSSadaf Ebrahimi    \x{6ca}\x{a6c}\x{10a7}_
2172*22dc650dSSadaf Ebrahimi 0: \x{6ca}
2173*22dc650dSSadaf Ebrahimi
2174*22dc650dSSadaf Ebrahimi/^\p{Xan}*/utf
2175*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2176*22dc650dSSadaf Ebrahimi 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
2177*22dc650dSSadaf Ebrahimi
2178*22dc650dSSadaf Ebrahimi/^\p{Xan}{2,9}/utf
2179*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2180*22dc650dSSadaf Ebrahimi 0: ABCD1234\x{6ca}
2181*22dc650dSSadaf Ebrahimi
2182*22dc650dSSadaf Ebrahimi/^\p{Xan}{2,9}?/utf
2183*22dc650dSSadaf Ebrahimi    \x{6ca}\x{a6c}\x{10a7}_
2184*22dc650dSSadaf Ebrahimi 0: \x{6ca}\x{a6c}
2185*22dc650dSSadaf Ebrahimi
2186*22dc650dSSadaf Ebrahimi/^[\p{Xan}]/utf
2187*22dc650dSSadaf Ebrahimi    ABCD1234_
2188*22dc650dSSadaf Ebrahimi 0: A
2189*22dc650dSSadaf Ebrahimi    1234abcd_
2190*22dc650dSSadaf Ebrahimi 0: 1
2191*22dc650dSSadaf Ebrahimi    \x{6ca}
2192*22dc650dSSadaf Ebrahimi 0: \x{6ca}
2193*22dc650dSSadaf Ebrahimi    \x{a6c}
2194*22dc650dSSadaf Ebrahimi 0: \x{a6c}
2195*22dc650dSSadaf Ebrahimi    \x{10a7}
2196*22dc650dSSadaf Ebrahimi 0: \x{10a7}
2197*22dc650dSSadaf Ebrahimi\= Expect no match
2198*22dc650dSSadaf Ebrahimi    _ABC
2199*22dc650dSSadaf EbrahimiNo match
2200*22dc650dSSadaf Ebrahimi
2201*22dc650dSSadaf Ebrahimi/^[\p{Xan}]+/utf
2202*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2203*22dc650dSSadaf Ebrahimi 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
2204*22dc650dSSadaf Ebrahimi\= Expect no match
2205*22dc650dSSadaf Ebrahimi    _ABC
2206*22dc650dSSadaf EbrahimiNo match
2207*22dc650dSSadaf Ebrahimi
2208*22dc650dSSadaf Ebrahimi/^>\p{Xsp}/utf
2209*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
2210*22dc650dSSadaf Ebrahimi 0: >\x{1680}
2211*22dc650dSSadaf Ebrahimi    >\x{a0}
2212*22dc650dSSadaf Ebrahimi 0: >\x{a0}
2213*22dc650dSSadaf Ebrahimi\= Expect no match
2214*22dc650dSSadaf Ebrahimi    \x{0b}
2215*22dc650dSSadaf EbrahimiNo match
2216*22dc650dSSadaf Ebrahimi
2217*22dc650dSSadaf Ebrahimi/^>\p{Xsp}+/utf
2218*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2219*22dc650dSSadaf Ebrahimi 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2220*22dc650dSSadaf Ebrahimi
2221*22dc650dSSadaf Ebrahimi/^>\p{Xsp}+?/utf
2222*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
2223*22dc650dSSadaf Ebrahimi 0: >\x{1680}
2224*22dc650dSSadaf Ebrahimi
2225*22dc650dSSadaf Ebrahimi/^>\p{Xsp}*/utf
2226*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2227*22dc650dSSadaf Ebrahimi 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2228*22dc650dSSadaf Ebrahimi
2229*22dc650dSSadaf Ebrahimi/^>\p{Xsp}{2,9}/utf
2230*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2231*22dc650dSSadaf Ebrahimi 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2232*22dc650dSSadaf Ebrahimi
2233*22dc650dSSadaf Ebrahimi/^>\p{Xsp}{2,9}?/utf
2234*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2235*22dc650dSSadaf Ebrahimi 0: > \x{09}
2236*22dc650dSSadaf Ebrahimi
2237*22dc650dSSadaf Ebrahimi/^>[\p{Xsp}]/utf
2238*22dc650dSSadaf Ebrahimi    >\x{2028}\x{0b}
2239*22dc650dSSadaf Ebrahimi 0: >\x{2028}
2240*22dc650dSSadaf Ebrahimi
2241*22dc650dSSadaf Ebrahimi/^>[\p{Xsp}]+/utf
2242*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2243*22dc650dSSadaf Ebrahimi 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2244*22dc650dSSadaf Ebrahimi
2245*22dc650dSSadaf Ebrahimi/^>\p{Xps}/utf
2246*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
2247*22dc650dSSadaf Ebrahimi 0: >\x{1680}
2248*22dc650dSSadaf Ebrahimi    >\x{a0}
2249*22dc650dSSadaf Ebrahimi 0: >\x{a0}
2250*22dc650dSSadaf Ebrahimi\= Expect no match
2251*22dc650dSSadaf Ebrahimi    \x{0b}
2252*22dc650dSSadaf EbrahimiNo match
2253*22dc650dSSadaf Ebrahimi
2254*22dc650dSSadaf Ebrahimi/^>\p{Xps}+/utf
2255*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2256*22dc650dSSadaf Ebrahimi 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2257*22dc650dSSadaf Ebrahimi
2258*22dc650dSSadaf Ebrahimi/^>\p{Xps}+?/utf
2259*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
2260*22dc650dSSadaf Ebrahimi 0: >\x{1680}
2261*22dc650dSSadaf Ebrahimi
2262*22dc650dSSadaf Ebrahimi/^>\p{Xps}*/utf
2263*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2264*22dc650dSSadaf Ebrahimi 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2265*22dc650dSSadaf Ebrahimi
2266*22dc650dSSadaf Ebrahimi/^>\p{Xps}{2,9}/utf
2267*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2268*22dc650dSSadaf Ebrahimi 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2269*22dc650dSSadaf Ebrahimi
2270*22dc650dSSadaf Ebrahimi/^>\p{Xps}{2,9}?/utf
2271*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2272*22dc650dSSadaf Ebrahimi 0: > \x{09}
2273*22dc650dSSadaf Ebrahimi
2274*22dc650dSSadaf Ebrahimi/^>[\p{Xps}]/utf
2275*22dc650dSSadaf Ebrahimi    >\x{2028}\x{0b}
2276*22dc650dSSadaf Ebrahimi 0: >\x{2028}
2277*22dc650dSSadaf Ebrahimi
2278*22dc650dSSadaf Ebrahimi/^>[\p{Xps}]+/utf
2279*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2280*22dc650dSSadaf Ebrahimi 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
2281*22dc650dSSadaf Ebrahimi
2282*22dc650dSSadaf Ebrahimi/^\p{Xwd}/utf
2283*22dc650dSSadaf Ebrahimi    ABCD
2284*22dc650dSSadaf Ebrahimi 0: A
2285*22dc650dSSadaf Ebrahimi    1234
2286*22dc650dSSadaf Ebrahimi 0: 1
2287*22dc650dSSadaf Ebrahimi    \x{6ca}
2288*22dc650dSSadaf Ebrahimi 0: \x{6ca}
2289*22dc650dSSadaf Ebrahimi    \x{a6c}
2290*22dc650dSSadaf Ebrahimi 0: \x{a6c}
2291*22dc650dSSadaf Ebrahimi    \x{10a7}
2292*22dc650dSSadaf Ebrahimi 0: \x{10a7}
2293*22dc650dSSadaf Ebrahimi    _ABC
2294*22dc650dSSadaf Ebrahimi 0: _
2295*22dc650dSSadaf Ebrahimi\= Expect no match
2296*22dc650dSSadaf Ebrahimi    []
2297*22dc650dSSadaf EbrahimiNo match
2298*22dc650dSSadaf Ebrahimi
2299*22dc650dSSadaf Ebrahimi/^\p{Xwd}+/utf
2300*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2301*22dc650dSSadaf Ebrahimi 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2302*22dc650dSSadaf Ebrahimi
2303*22dc650dSSadaf Ebrahimi/^\p{Xwd}+?/utf
2304*22dc650dSSadaf Ebrahimi    \x{6ca}\x{a6c}\x{10a7}_
2305*22dc650dSSadaf Ebrahimi 0: \x{6ca}
2306*22dc650dSSadaf Ebrahimi
2307*22dc650dSSadaf Ebrahimi/^\p{Xwd}*/utf
2308*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2309*22dc650dSSadaf Ebrahimi 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2310*22dc650dSSadaf Ebrahimi
2311*22dc650dSSadaf Ebrahimi/^\p{Xwd}{2,9}/utf
2312*22dc650dSSadaf Ebrahimi    A_B12\x{6ca}\x{a6c}\x{10a7}
2313*22dc650dSSadaf Ebrahimi 0: A_B12\x{6ca}\x{a6c}\x{10a7}
2314*22dc650dSSadaf Ebrahimi
2315*22dc650dSSadaf Ebrahimi/^\p{Xwd}{2,9}?/utf
2316*22dc650dSSadaf Ebrahimi    \x{6ca}\x{a6c}\x{10a7}_
2317*22dc650dSSadaf Ebrahimi 0: \x{6ca}\x{a6c}
2318*22dc650dSSadaf Ebrahimi
2319*22dc650dSSadaf Ebrahimi/^[\p{Xwd}]/utf
2320*22dc650dSSadaf Ebrahimi    ABCD1234_
2321*22dc650dSSadaf Ebrahimi 0: A
2322*22dc650dSSadaf Ebrahimi    1234abcd_
2323*22dc650dSSadaf Ebrahimi 0: 1
2324*22dc650dSSadaf Ebrahimi    \x{6ca}
2325*22dc650dSSadaf Ebrahimi 0: \x{6ca}
2326*22dc650dSSadaf Ebrahimi    \x{a6c}
2327*22dc650dSSadaf Ebrahimi 0: \x{a6c}
2328*22dc650dSSadaf Ebrahimi    \x{10a7}
2329*22dc650dSSadaf Ebrahimi 0: \x{10a7}
2330*22dc650dSSadaf Ebrahimi    _ABC
2331*22dc650dSSadaf Ebrahimi 0: _
2332*22dc650dSSadaf Ebrahimi\= Expect no match
2333*22dc650dSSadaf Ebrahimi    []
2334*22dc650dSSadaf EbrahimiNo match
2335*22dc650dSSadaf Ebrahimi
2336*22dc650dSSadaf Ebrahimi/^[\p{Xwd}]+/utf
2337*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2338*22dc650dSSadaf Ebrahimi 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
2339*22dc650dSSadaf Ebrahimi
2340*22dc650dSSadaf Ebrahimi# A check not in UTF-8 mode
2341*22dc650dSSadaf Ebrahimi
2342*22dc650dSSadaf Ebrahimi/^[\p{Xwd}]+/
2343*22dc650dSSadaf Ebrahimi    ABCD1234_
2344*22dc650dSSadaf Ebrahimi 0: ABCD1234_
2345*22dc650dSSadaf Ebrahimi
2346*22dc650dSSadaf Ebrahimi# Some negative checks
2347*22dc650dSSadaf Ebrahimi
2348*22dc650dSSadaf Ebrahimi/^[\P{Xwd}]+/utf
2349*22dc650dSSadaf Ebrahimi    !.+\x{019}\x{482}AB
2350*22dc650dSSadaf Ebrahimi 0: !.+\x{19}\x{482}
2351*22dc650dSSadaf Ebrahimi
2352*22dc650dSSadaf Ebrahimi/^[\p{^Xwd}]+/utf
2353*22dc650dSSadaf Ebrahimi    !.+\x{019}\x{589}AB
2354*22dc650dSSadaf Ebrahimi 0: !.+\x{19}\x{589}
2355*22dc650dSSadaf Ebrahimi
2356*22dc650dSSadaf Ebrahimi/[\D]/B,utf,ucp
2357*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2358*22dc650dSSadaf Ebrahimi        Bra
2359*22dc650dSSadaf Ebrahimi        [\P{Nd}]
2360*22dc650dSSadaf Ebrahimi        Ket
2361*22dc650dSSadaf Ebrahimi        End
2362*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2363*22dc650dSSadaf Ebrahimi    1\x{3c8}2
2364*22dc650dSSadaf Ebrahimi 0: \x{3c8}
2365*22dc650dSSadaf Ebrahimi
2366*22dc650dSSadaf Ebrahimi/[\d]/B,utf,ucp
2367*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2368*22dc650dSSadaf Ebrahimi        Bra
2369*22dc650dSSadaf Ebrahimi        [\p{Nd}]
2370*22dc650dSSadaf Ebrahimi        Ket
2371*22dc650dSSadaf Ebrahimi        End
2372*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2373*22dc650dSSadaf Ebrahimi    >\x{6f4}<
2374*22dc650dSSadaf Ebrahimi 0: \x{6f4}
2375*22dc650dSSadaf Ebrahimi
2376*22dc650dSSadaf Ebrahimi/[\S]/B,utf,ucp
2377*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2378*22dc650dSSadaf Ebrahimi        Bra
2379*22dc650dSSadaf Ebrahimi        [\P{Xsp}]
2380*22dc650dSSadaf Ebrahimi        Ket
2381*22dc650dSSadaf Ebrahimi        End
2382*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2383*22dc650dSSadaf Ebrahimi    \x{1680}\x{6f4}\x{1680}
2384*22dc650dSSadaf Ebrahimi 0: \x{6f4}
2385*22dc650dSSadaf Ebrahimi
2386*22dc650dSSadaf Ebrahimi/[\s]/B,utf,ucp
2387*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2388*22dc650dSSadaf Ebrahimi        Bra
2389*22dc650dSSadaf Ebrahimi        [\p{Xsp}]
2390*22dc650dSSadaf Ebrahimi        Ket
2391*22dc650dSSadaf Ebrahimi        End
2392*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2393*22dc650dSSadaf Ebrahimi    >\x{1680}<
2394*22dc650dSSadaf Ebrahimi 0: \x{1680}
2395*22dc650dSSadaf Ebrahimi
2396*22dc650dSSadaf Ebrahimi/[\W]/B,utf,ucp
2397*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2398*22dc650dSSadaf Ebrahimi        Bra
2399*22dc650dSSadaf Ebrahimi        [\P{Xwd}]
2400*22dc650dSSadaf Ebrahimi        Ket
2401*22dc650dSSadaf Ebrahimi        End
2402*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2403*22dc650dSSadaf Ebrahimi    A\x{1735}B
2404*22dc650dSSadaf Ebrahimi 0: \x{1735}
2405*22dc650dSSadaf Ebrahimi
2406*22dc650dSSadaf Ebrahimi/[\w]/B,utf,ucp
2407*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2408*22dc650dSSadaf Ebrahimi        Bra
2409*22dc650dSSadaf Ebrahimi        [\p{Xwd}]
2410*22dc650dSSadaf Ebrahimi        Ket
2411*22dc650dSSadaf Ebrahimi        End
2412*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2413*22dc650dSSadaf Ebrahimi    >\x{1723}<
2414*22dc650dSSadaf Ebrahimi 0: \x{1723}
2415*22dc650dSSadaf Ebrahimi
2416*22dc650dSSadaf Ebrahimi/\D/B,utf,ucp
2417*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2418*22dc650dSSadaf Ebrahimi        Bra
2419*22dc650dSSadaf Ebrahimi        notprop Nd
2420*22dc650dSSadaf Ebrahimi        Ket
2421*22dc650dSSadaf Ebrahimi        End
2422*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2423*22dc650dSSadaf Ebrahimi    1\x{3c8}2
2424*22dc650dSSadaf Ebrahimi 0: \x{3c8}
2425*22dc650dSSadaf Ebrahimi
2426*22dc650dSSadaf Ebrahimi/\d/B,utf,ucp
2427*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2428*22dc650dSSadaf Ebrahimi        Bra
2429*22dc650dSSadaf Ebrahimi        prop Nd
2430*22dc650dSSadaf Ebrahimi        Ket
2431*22dc650dSSadaf Ebrahimi        End
2432*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2433*22dc650dSSadaf Ebrahimi    >\x{6f4}<
2434*22dc650dSSadaf Ebrahimi 0: \x{6f4}
2435*22dc650dSSadaf Ebrahimi
2436*22dc650dSSadaf Ebrahimi/\S/B,utf,ucp
2437*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2438*22dc650dSSadaf Ebrahimi        Bra
2439*22dc650dSSadaf Ebrahimi        notprop Xsp
2440*22dc650dSSadaf Ebrahimi        Ket
2441*22dc650dSSadaf Ebrahimi        End
2442*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2443*22dc650dSSadaf Ebrahimi    \x{1680}\x{6f4}\x{1680}
2444*22dc650dSSadaf Ebrahimi 0: \x{6f4}
2445*22dc650dSSadaf Ebrahimi
2446*22dc650dSSadaf Ebrahimi/\s/B,utf,ucp
2447*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2448*22dc650dSSadaf Ebrahimi        Bra
2449*22dc650dSSadaf Ebrahimi        prop Xsp
2450*22dc650dSSadaf Ebrahimi        Ket
2451*22dc650dSSadaf Ebrahimi        End
2452*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2453*22dc650dSSadaf Ebrahimi    >\x{1680}>
2454*22dc650dSSadaf Ebrahimi 0: \x{1680}
2455*22dc650dSSadaf Ebrahimi
2456*22dc650dSSadaf Ebrahimi/\W/B,utf,ucp
2457*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2458*22dc650dSSadaf Ebrahimi        Bra
2459*22dc650dSSadaf Ebrahimi        notprop Xwd
2460*22dc650dSSadaf Ebrahimi        Ket
2461*22dc650dSSadaf Ebrahimi        End
2462*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2463*22dc650dSSadaf Ebrahimi    A\x{1735}B
2464*22dc650dSSadaf Ebrahimi 0: \x{1735}
2465*22dc650dSSadaf Ebrahimi
2466*22dc650dSSadaf Ebrahimi/\w/B,utf,ucp
2467*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2468*22dc650dSSadaf Ebrahimi        Bra
2469*22dc650dSSadaf Ebrahimi        prop Xwd
2470*22dc650dSSadaf Ebrahimi        Ket
2471*22dc650dSSadaf Ebrahimi        End
2472*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2473*22dc650dSSadaf Ebrahimi    >\x{1723}<
2474*22dc650dSSadaf Ebrahimi 0: \x{1723}
2475*22dc650dSSadaf Ebrahimi
2476*22dc650dSSadaf Ebrahimi/[[:alpha:]]/B,ucp
2477*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2478*22dc650dSSadaf Ebrahimi        Bra
2479*22dc650dSSadaf Ebrahimi        [\p{L}]
2480*22dc650dSSadaf Ebrahimi        Ket
2481*22dc650dSSadaf Ebrahimi        End
2482*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2483*22dc650dSSadaf Ebrahimi
2484*22dc650dSSadaf Ebrahimi/[[:lower:]]/B,ucp
2485*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2486*22dc650dSSadaf Ebrahimi        Bra
2487*22dc650dSSadaf Ebrahimi        [\p{Ll}]
2488*22dc650dSSadaf Ebrahimi        Ket
2489*22dc650dSSadaf Ebrahimi        End
2490*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2491*22dc650dSSadaf Ebrahimi
2492*22dc650dSSadaf Ebrahimi/[[:upper:]]/B,ucp
2493*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2494*22dc650dSSadaf Ebrahimi        Bra
2495*22dc650dSSadaf Ebrahimi        [\p{Lu}]
2496*22dc650dSSadaf Ebrahimi        Ket
2497*22dc650dSSadaf Ebrahimi        End
2498*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2499*22dc650dSSadaf Ebrahimi
2500*22dc650dSSadaf Ebrahimi/[[:alnum:]]/B,ucp
2501*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2502*22dc650dSSadaf Ebrahimi        Bra
2503*22dc650dSSadaf Ebrahimi        [\p{Xan}]
2504*22dc650dSSadaf Ebrahimi        Ket
2505*22dc650dSSadaf Ebrahimi        End
2506*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2507*22dc650dSSadaf Ebrahimi
2508*22dc650dSSadaf Ebrahimi/[[:ascii:]]/B,ucp
2509*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2510*22dc650dSSadaf Ebrahimi        Bra
2511*22dc650dSSadaf Ebrahimi        [\x00-\x7f]
2512*22dc650dSSadaf Ebrahimi        Ket
2513*22dc650dSSadaf Ebrahimi        End
2514*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2515*22dc650dSSadaf Ebrahimi
2516*22dc650dSSadaf Ebrahimi/[[:cntrl:]]/B,ucp
2517*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2518*22dc650dSSadaf Ebrahimi        Bra
2519*22dc650dSSadaf Ebrahimi        [\p{Cc}]
2520*22dc650dSSadaf Ebrahimi        Ket
2521*22dc650dSSadaf Ebrahimi        End
2522*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2523*22dc650dSSadaf Ebrahimi
2524*22dc650dSSadaf Ebrahimi/[[:digit:]]/B,ucp
2525*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2526*22dc650dSSadaf Ebrahimi        Bra
2527*22dc650dSSadaf Ebrahimi        [\p{Nd}]
2528*22dc650dSSadaf Ebrahimi        Ket
2529*22dc650dSSadaf Ebrahimi        End
2530*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2531*22dc650dSSadaf Ebrahimi
2532*22dc650dSSadaf Ebrahimi/[[:digit:]]/B,ucp,ascii_digit
2533*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2534*22dc650dSSadaf Ebrahimi        Bra
2535*22dc650dSSadaf Ebrahimi        [0-9]
2536*22dc650dSSadaf Ebrahimi        Ket
2537*22dc650dSSadaf Ebrahimi        End
2538*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2539*22dc650dSSadaf Ebrahimi
2540*22dc650dSSadaf Ebrahimi/[[:graph:]]/B,ucp
2541*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2542*22dc650dSSadaf Ebrahimi        Bra
2543*22dc650dSSadaf Ebrahimi        [[:graph:]]
2544*22dc650dSSadaf Ebrahimi        Ket
2545*22dc650dSSadaf Ebrahimi        End
2546*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2547*22dc650dSSadaf Ebrahimi
2548*22dc650dSSadaf Ebrahimi/[[:print:]]/B,ucp
2549*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2550*22dc650dSSadaf Ebrahimi        Bra
2551*22dc650dSSadaf Ebrahimi        [[:print:]]
2552*22dc650dSSadaf Ebrahimi        Ket
2553*22dc650dSSadaf Ebrahimi        End
2554*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2555*22dc650dSSadaf Ebrahimi
2556*22dc650dSSadaf Ebrahimi/[[:punct:]]/B,ucp
2557*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2558*22dc650dSSadaf Ebrahimi        Bra
2559*22dc650dSSadaf Ebrahimi        [[:punct:]]
2560*22dc650dSSadaf Ebrahimi        Ket
2561*22dc650dSSadaf Ebrahimi        End
2562*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2563*22dc650dSSadaf Ebrahimi
2564*22dc650dSSadaf Ebrahimi/[[:space:]]/B,ucp
2565*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2566*22dc650dSSadaf Ebrahimi        Bra
2567*22dc650dSSadaf Ebrahimi        [\p{Xps}]
2568*22dc650dSSadaf Ebrahimi        Ket
2569*22dc650dSSadaf Ebrahimi        End
2570*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2571*22dc650dSSadaf Ebrahimi
2572*22dc650dSSadaf Ebrahimi/[[:word:]]/B,ucp
2573*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2574*22dc650dSSadaf Ebrahimi        Bra
2575*22dc650dSSadaf Ebrahimi        [\p{Xwd}]
2576*22dc650dSSadaf Ebrahimi        Ket
2577*22dc650dSSadaf Ebrahimi        End
2578*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2579*22dc650dSSadaf Ebrahimi
2580*22dc650dSSadaf Ebrahimi/[[:xdigit:]]/B,ucp
2581*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2582*22dc650dSSadaf Ebrahimi        Bra
2583*22dc650dSSadaf Ebrahimi        [[:xdigit:]]
2584*22dc650dSSadaf Ebrahimi        Ket
2585*22dc650dSSadaf Ebrahimi        End
2586*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2587*22dc650dSSadaf Ebrahimi
2588*22dc650dSSadaf Ebrahimi/[[:xdigit:]]/B,ucp,ascii_digit
2589*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2590*22dc650dSSadaf Ebrahimi        Bra
2591*22dc650dSSadaf Ebrahimi        [0-9A-Fa-f]
2592*22dc650dSSadaf Ebrahimi        Ket
2593*22dc650dSSadaf Ebrahimi        End
2594*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2595*22dc650dSSadaf Ebrahimi
2596*22dc650dSSadaf Ebrahimi# Unicode properties for \b and \B
2597*22dc650dSSadaf Ebrahimi
2598*22dc650dSSadaf Ebrahimi/\b...\B/utf,ucp
2599*22dc650dSSadaf Ebrahimi    abc_
2600*22dc650dSSadaf Ebrahimi 0: abc
2601*22dc650dSSadaf Ebrahimi    \x{37e}abc\x{376}
2602*22dc650dSSadaf Ebrahimi 0: abc
2603*22dc650dSSadaf Ebrahimi    \x{37e}\x{376}\x{371}\x{393}\x{394}
2604*22dc650dSSadaf Ebrahimi 0: \x{376}\x{371}\x{393}
2605*22dc650dSSadaf Ebrahimi    !\x{c0}++\x{c1}\x{c2}
2606*22dc650dSSadaf Ebrahimi 0: ++\x{c1}
2607*22dc650dSSadaf Ebrahimi    !\x{c0}+++++
2608*22dc650dSSadaf Ebrahimi 0: \x{c0}++
2609*22dc650dSSadaf Ebrahimi
2610*22dc650dSSadaf Ebrahimi# Without PCRE_UCP, non-ASCII always fail, even if < 256
2611*22dc650dSSadaf Ebrahimi
2612*22dc650dSSadaf Ebrahimi/\b...\B/utf
2613*22dc650dSSadaf Ebrahimi    abc_
2614*22dc650dSSadaf Ebrahimi 0: abc
2615*22dc650dSSadaf Ebrahimi\= Expect no match
2616*22dc650dSSadaf Ebrahimi    \x{37e}abc\x{376}
2617*22dc650dSSadaf EbrahimiNo match
2618*22dc650dSSadaf Ebrahimi    \x{37e}\x{376}\x{371}\x{393}\x{394}
2619*22dc650dSSadaf EbrahimiNo match
2620*22dc650dSSadaf Ebrahimi    !\x{c0}++\x{c1}\x{c2}
2621*22dc650dSSadaf EbrahimiNo match
2622*22dc650dSSadaf Ebrahimi    !\x{c0}+++++
2623*22dc650dSSadaf EbrahimiNo match
2624*22dc650dSSadaf Ebrahimi
2625*22dc650dSSadaf Ebrahimi# With PCRE_UCP, non-UTF8 chars that are < 256 still check properties
2626*22dc650dSSadaf Ebrahimi
2627*22dc650dSSadaf Ebrahimi/\b...\B/ucp
2628*22dc650dSSadaf Ebrahimi    abc_
2629*22dc650dSSadaf Ebrahimi 0: abc
2630*22dc650dSSadaf Ebrahimi    !\x{c0}++\x{c1}\x{c2}
2631*22dc650dSSadaf Ebrahimi 0: ++\xc1
2632*22dc650dSSadaf Ebrahimi    !\x{c0}+++++
2633*22dc650dSSadaf Ebrahimi 0: \xc0++
2634*22dc650dSSadaf Ebrahimi
2635*22dc650dSSadaf Ebrahimi# Some of these are silly, but they check various combinations
2636*22dc650dSSadaf Ebrahimi
2637*22dc650dSSadaf Ebrahimi/[[:^alpha:][:^cntrl:]]+/B,utf,ucp
2638*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2639*22dc650dSSadaf Ebrahimi        Bra
2640*22dc650dSSadaf Ebrahimi        [\P{L}\P{Cc}]++
2641*22dc650dSSadaf Ebrahimi        Ket
2642*22dc650dSSadaf Ebrahimi        End
2643*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2644*22dc650dSSadaf Ebrahimi    123
2645*22dc650dSSadaf Ebrahimi 0: 123
2646*22dc650dSSadaf Ebrahimi    abc
2647*22dc650dSSadaf Ebrahimi 0: abc
2648*22dc650dSSadaf Ebrahimi
2649*22dc650dSSadaf Ebrahimi/[[:^cntrl:][:^alpha:]]+/B,utf,ucp
2650*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2651*22dc650dSSadaf Ebrahimi        Bra
2652*22dc650dSSadaf Ebrahimi        [\P{Cc}\P{L}]++
2653*22dc650dSSadaf Ebrahimi        Ket
2654*22dc650dSSadaf Ebrahimi        End
2655*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2656*22dc650dSSadaf Ebrahimi    123
2657*22dc650dSSadaf Ebrahimi 0: 123
2658*22dc650dSSadaf Ebrahimi    abc
2659*22dc650dSSadaf Ebrahimi 0: abc
2660*22dc650dSSadaf Ebrahimi
2661*22dc650dSSadaf Ebrahimi/[[:alpha:]]+/B,utf,ucp
2662*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2663*22dc650dSSadaf Ebrahimi        Bra
2664*22dc650dSSadaf Ebrahimi        [\p{L}]++
2665*22dc650dSSadaf Ebrahimi        Ket
2666*22dc650dSSadaf Ebrahimi        End
2667*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2668*22dc650dSSadaf Ebrahimi    abc
2669*22dc650dSSadaf Ebrahimi 0: abc
2670*22dc650dSSadaf Ebrahimi
2671*22dc650dSSadaf Ebrahimi/[[:^alpha:]\S]+/B,utf,ucp
2672*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2673*22dc650dSSadaf Ebrahimi        Bra
2674*22dc650dSSadaf Ebrahimi        [\P{L}\P{Xsp}]++
2675*22dc650dSSadaf Ebrahimi        Ket
2676*22dc650dSSadaf Ebrahimi        End
2677*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2678*22dc650dSSadaf Ebrahimi    123
2679*22dc650dSSadaf Ebrahimi 0: 123
2680*22dc650dSSadaf Ebrahimi    abc
2681*22dc650dSSadaf Ebrahimi 0: abc
2682*22dc650dSSadaf Ebrahimi
2683*22dc650dSSadaf Ebrahimi/[^\d]+/B,utf,ucp
2684*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2685*22dc650dSSadaf Ebrahimi        Bra
2686*22dc650dSSadaf Ebrahimi        [^\p{Nd}]++
2687*22dc650dSSadaf Ebrahimi        Ket
2688*22dc650dSSadaf Ebrahimi        End
2689*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2690*22dc650dSSadaf Ebrahimi    abc123
2691*22dc650dSSadaf Ebrahimi 0: abc
2692*22dc650dSSadaf Ebrahimi    abc\x{123}
2693*22dc650dSSadaf Ebrahimi 0: abc\x{123}
2694*22dc650dSSadaf Ebrahimi    \x{660}abc
2695*22dc650dSSadaf Ebrahimi 0: abc
2696*22dc650dSSadaf Ebrahimi
2697*22dc650dSSadaf Ebrahimi/\p{Lu}+9\p{Lu}+B\p{Lu}+b/B
2698*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2699*22dc650dSSadaf Ebrahimi        Bra
2700*22dc650dSSadaf Ebrahimi        prop Lu ++
2701*22dc650dSSadaf Ebrahimi        9
2702*22dc650dSSadaf Ebrahimi        prop Lu +
2703*22dc650dSSadaf Ebrahimi        B
2704*22dc650dSSadaf Ebrahimi        prop Lu ++
2705*22dc650dSSadaf Ebrahimi        b
2706*22dc650dSSadaf Ebrahimi        Ket
2707*22dc650dSSadaf Ebrahimi        End
2708*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2709*22dc650dSSadaf Ebrahimi
2710*22dc650dSSadaf Ebrahimi/\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/B
2711*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2712*22dc650dSSadaf Ebrahimi        Bra
2713*22dc650dSSadaf Ebrahimi        notprop Lu +
2714*22dc650dSSadaf Ebrahimi        9
2715*22dc650dSSadaf Ebrahimi        notprop Lu ++
2716*22dc650dSSadaf Ebrahimi        B
2717*22dc650dSSadaf Ebrahimi        notprop Lu +
2718*22dc650dSSadaf Ebrahimi        b
2719*22dc650dSSadaf Ebrahimi        Ket
2720*22dc650dSSadaf Ebrahimi        End
2721*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2722*22dc650dSSadaf Ebrahimi
2723*22dc650dSSadaf Ebrahimi/\P{Lu}+9\P{Lu}+B\P{Lu}+b/B
2724*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2725*22dc650dSSadaf Ebrahimi        Bra
2726*22dc650dSSadaf Ebrahimi        notprop Lu +
2727*22dc650dSSadaf Ebrahimi        9
2728*22dc650dSSadaf Ebrahimi        notprop Lu ++
2729*22dc650dSSadaf Ebrahimi        B
2730*22dc650dSSadaf Ebrahimi        notprop Lu +
2731*22dc650dSSadaf Ebrahimi        b
2732*22dc650dSSadaf Ebrahimi        Ket
2733*22dc650dSSadaf Ebrahimi        End
2734*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2735*22dc650dSSadaf Ebrahimi
2736*22dc650dSSadaf Ebrahimi/\p{Han}+X\p{Greek}+\x{370}/B,utf
2737*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2738*22dc650dSSadaf Ebrahimi        Bra
2739*22dc650dSSadaf Ebrahimi        prop Han ++
2740*22dc650dSSadaf Ebrahimi        X
2741*22dc650dSSadaf Ebrahimi        prop Greek +
2742*22dc650dSSadaf Ebrahimi        \x{370}
2743*22dc650dSSadaf Ebrahimi        Ket
2744*22dc650dSSadaf Ebrahimi        End
2745*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2746*22dc650dSSadaf Ebrahimi
2747*22dc650dSSadaf Ebrahimi/\p{Xan}+!\p{Xan}+A/B
2748*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2749*22dc650dSSadaf Ebrahimi        Bra
2750*22dc650dSSadaf Ebrahimi        prop Xan ++
2751*22dc650dSSadaf Ebrahimi        !
2752*22dc650dSSadaf Ebrahimi        prop Xan +
2753*22dc650dSSadaf Ebrahimi        A
2754*22dc650dSSadaf Ebrahimi        Ket
2755*22dc650dSSadaf Ebrahimi        End
2756*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2757*22dc650dSSadaf Ebrahimi
2758*22dc650dSSadaf Ebrahimi/\p{Xsp}+!\p{Xsp}\t/B
2759*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2760*22dc650dSSadaf Ebrahimi        Bra
2761*22dc650dSSadaf Ebrahimi        prop Xsp ++
2762*22dc650dSSadaf Ebrahimi        !
2763*22dc650dSSadaf Ebrahimi        prop Xsp
2764*22dc650dSSadaf Ebrahimi        \x09
2765*22dc650dSSadaf Ebrahimi        Ket
2766*22dc650dSSadaf Ebrahimi        End
2767*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2768*22dc650dSSadaf Ebrahimi
2769*22dc650dSSadaf Ebrahimi/\p{Xps}+!\p{Xps}\t/B
2770*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2771*22dc650dSSadaf Ebrahimi        Bra
2772*22dc650dSSadaf Ebrahimi        prop Xps ++
2773*22dc650dSSadaf Ebrahimi        !
2774*22dc650dSSadaf Ebrahimi        prop Xps
2775*22dc650dSSadaf Ebrahimi        \x09
2776*22dc650dSSadaf Ebrahimi        Ket
2777*22dc650dSSadaf Ebrahimi        End
2778*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2779*22dc650dSSadaf Ebrahimi
2780*22dc650dSSadaf Ebrahimi/\p{Xwd}+!\p{Xwd}_/B
2781*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2782*22dc650dSSadaf Ebrahimi        Bra
2783*22dc650dSSadaf Ebrahimi        prop Xwd ++
2784*22dc650dSSadaf Ebrahimi        !
2785*22dc650dSSadaf Ebrahimi        prop Xwd
2786*22dc650dSSadaf Ebrahimi        _
2787*22dc650dSSadaf Ebrahimi        Ket
2788*22dc650dSSadaf Ebrahimi        End
2789*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2790*22dc650dSSadaf Ebrahimi
2791*22dc650dSSadaf Ebrahimi/A+\p{N}A+\dB+\p{N}*B+\d*/B,ucp
2792*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2793*22dc650dSSadaf Ebrahimi        Bra
2794*22dc650dSSadaf Ebrahimi        A++
2795*22dc650dSSadaf Ebrahimi        prop N
2796*22dc650dSSadaf Ebrahimi        A++
2797*22dc650dSSadaf Ebrahimi        prop Nd
2798*22dc650dSSadaf Ebrahimi        B+
2799*22dc650dSSadaf Ebrahimi        prop N *+
2800*22dc650dSSadaf Ebrahimi        B++
2801*22dc650dSSadaf Ebrahimi        prop Nd *+
2802*22dc650dSSadaf Ebrahimi        Ket
2803*22dc650dSSadaf Ebrahimi        End
2804*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
2805*22dc650dSSadaf Ebrahimi
2806*22dc650dSSadaf Ebrahimi# These behaved oddly in Perl, so they are kept in this test
2807*22dc650dSSadaf Ebrahimi
2808*22dc650dSSadaf Ebrahimi/(\x{23a}\x{23a}\x{23a})?\1/i,utf
2809*22dc650dSSadaf Ebrahimi\= Expect no match
2810*22dc650dSSadaf Ebrahimi    \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
2811*22dc650dSSadaf EbrahimiNo match
2812*22dc650dSSadaf Ebrahimi
2813*22dc650dSSadaf Ebrahimi/(ȺȺȺ)?\1/i,utf
2814*22dc650dSSadaf Ebrahimi\= Expect no match
2815*22dc650dSSadaf Ebrahimi    ȺȺȺⱥⱥ
2816*22dc650dSSadaf EbrahimiNo match
2817*22dc650dSSadaf Ebrahimi
2818*22dc650dSSadaf Ebrahimi/(\x{23a}\x{23a}\x{23a})?\1/i,utf
2819*22dc650dSSadaf Ebrahimi    \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
2820*22dc650dSSadaf Ebrahimi 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
2821*22dc650dSSadaf Ebrahimi 1: \x{23a}\x{23a}\x{23a}
2822*22dc650dSSadaf Ebrahimi
2823*22dc650dSSadaf Ebrahimi/(ȺȺȺ)?\1/i,utf
2824*22dc650dSSadaf Ebrahimi    ȺȺȺⱥⱥⱥ
2825*22dc650dSSadaf Ebrahimi 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
2826*22dc650dSSadaf Ebrahimi 1: \x{23a}\x{23a}\x{23a}
2827*22dc650dSSadaf Ebrahimi
2828*22dc650dSSadaf Ebrahimi/(\x{23a}\x{23a}\x{23a})\1/i,utf
2829*22dc650dSSadaf Ebrahimi\= Expect no match
2830*22dc650dSSadaf Ebrahimi    \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
2831*22dc650dSSadaf EbrahimiNo match
2832*22dc650dSSadaf Ebrahimi
2833*22dc650dSSadaf Ebrahimi/(ȺȺȺ)\1/i,utf
2834*22dc650dSSadaf Ebrahimi\= Expect no match
2835*22dc650dSSadaf Ebrahimi    ȺȺȺⱥⱥ
2836*22dc650dSSadaf EbrahimiNo match
2837*22dc650dSSadaf Ebrahimi
2838*22dc650dSSadaf Ebrahimi/(\x{23a}\x{23a}\x{23a})\1/i,utf
2839*22dc650dSSadaf Ebrahimi    \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
2840*22dc650dSSadaf Ebrahimi 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
2841*22dc650dSSadaf Ebrahimi 1: \x{23a}\x{23a}\x{23a}
2842*22dc650dSSadaf Ebrahimi
2843*22dc650dSSadaf Ebrahimi/(ȺȺȺ)\1/i,utf
2844*22dc650dSSadaf Ebrahimi    ȺȺȺⱥⱥⱥ
2845*22dc650dSSadaf Ebrahimi 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
2846*22dc650dSSadaf Ebrahimi 1: \x{23a}\x{23a}\x{23a}
2847*22dc650dSSadaf Ebrahimi
2848*22dc650dSSadaf Ebrahimi/(\x{2c65}\x{2c65})\1/i,utf
2849*22dc650dSSadaf Ebrahimi    \x{2c65}\x{2c65}\x{23a}\x{23a}
2850*22dc650dSSadaf Ebrahimi 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
2851*22dc650dSSadaf Ebrahimi 1: \x{2c65}\x{2c65}
2852*22dc650dSSadaf Ebrahimi
2853*22dc650dSSadaf Ebrahimi/(ⱥⱥ)\1/i,utf
2854*22dc650dSSadaf Ebrahimi    ⱥⱥȺȺ
2855*22dc650dSSadaf Ebrahimi 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
2856*22dc650dSSadaf Ebrahimi 1: \x{2c65}\x{2c65}
2857*22dc650dSSadaf Ebrahimi
2858*22dc650dSSadaf Ebrahimi/(\x{23a}\x{23a}\x{23a})\1Y/i,utf
2859*22dc650dSSadaf Ebrahimi    X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
2860*22dc650dSSadaf Ebrahimi 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}Y
2861*22dc650dSSadaf Ebrahimi 1: \x{23a}\x{23a}\x{23a}
2862*22dc650dSSadaf Ebrahimi
2863*22dc650dSSadaf Ebrahimi/(\x{2c65}\x{2c65})\1Y/i,utf
2864*22dc650dSSadaf Ebrahimi    X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
2865*22dc650dSSadaf Ebrahimi 0: \x{2c65}\x{2c65}\x{23a}\x{23a}Y
2866*22dc650dSSadaf Ebrahimi 1: \x{2c65}\x{2c65}
2867*22dc650dSSadaf Ebrahimi
2868*22dc650dSSadaf Ebrahimi# These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE
2869*22dc650dSSadaf Ebrahimi
2870*22dc650dSSadaf Ebrahimi/^[\p{Batak}]/utf
2871*22dc650dSSadaf Ebrahimi    \x{1bc0}
2872*22dc650dSSadaf Ebrahimi 0: \x{1bc0}
2873*22dc650dSSadaf Ebrahimi    \x{1bff}
2874*22dc650dSSadaf Ebrahimi 0: \x{1bff}
2875*22dc650dSSadaf Ebrahimi\= Expect no match
2876*22dc650dSSadaf Ebrahimi    \x{1bf4}
2877*22dc650dSSadaf EbrahimiNo match
2878*22dc650dSSadaf Ebrahimi
2879*22dc650dSSadaf Ebrahimi/^[\p{Brahmi}]/utf
2880*22dc650dSSadaf Ebrahimi    \x{11000}
2881*22dc650dSSadaf Ebrahimi 0: \x{11000}
2882*22dc650dSSadaf Ebrahimi    \x{1106f}
2883*22dc650dSSadaf Ebrahimi 0: \x{1106f}
2884*22dc650dSSadaf Ebrahimi\= Expect no match
2885*22dc650dSSadaf Ebrahimi    \x{1104e}
2886*22dc650dSSadaf EbrahimiNo match
2887*22dc650dSSadaf Ebrahimi
2888*22dc650dSSadaf Ebrahimi/^[\p{Mandaic}]/utf
2889*22dc650dSSadaf Ebrahimi    \x{840}
2890*22dc650dSSadaf Ebrahimi 0: \x{840}
2891*22dc650dSSadaf Ebrahimi    \x{85e}
2892*22dc650dSSadaf Ebrahimi 0: \x{85e}
2893*22dc650dSSadaf Ebrahimi\= Expect no match
2894*22dc650dSSadaf Ebrahimi    \x{85c}
2895*22dc650dSSadaf EbrahimiNo match
2896*22dc650dSSadaf Ebrahimi    \x{85d}
2897*22dc650dSSadaf EbrahimiNo match
2898*22dc650dSSadaf Ebrahimi
2899*22dc650dSSadaf Ebrahimi/(\X*)(.)/s,utf
2900*22dc650dSSadaf Ebrahimi    A\x{300}
2901*22dc650dSSadaf Ebrahimi 0: A
2902*22dc650dSSadaf Ebrahimi 1:
2903*22dc650dSSadaf Ebrahimi 2: A
2904*22dc650dSSadaf Ebrahimi
2905*22dc650dSSadaf Ebrahimi/^S(\X*)e(\X*)$/utf
2906*22dc650dSSadaf Ebrahimi    Stéréo
2907*22dc650dSSadaf Ebrahimi 0: Ste\x{301}re\x{301}o
2908*22dc650dSSadaf Ebrahimi 1: te\x{301}r
2909*22dc650dSSadaf Ebrahimi 2: \x{301}o
2910*22dc650dSSadaf Ebrahimi
2911*22dc650dSSadaf Ebrahimi/^\X/utf
2912*22dc650dSSadaf Ebrahimi    ́réo
2913*22dc650dSSadaf Ebrahimi 0: \x{301}
2914*22dc650dSSadaf Ebrahimi
2915*22dc650dSSadaf Ebrahimi/^a\X41z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
2916*22dc650dSSadaf Ebrahimi    aX41z
2917*22dc650dSSadaf Ebrahimi 0: aX41z
2918*22dc650dSSadaf Ebrahimi\= Expect no match
2919*22dc650dSSadaf Ebrahimi    aAz
2920*22dc650dSSadaf EbrahimiNo match
2921*22dc650dSSadaf Ebrahimi
2922*22dc650dSSadaf Ebrahimi/\X/
2923*22dc650dSSadaf Ebrahimi    a\=ps
2924*22dc650dSSadaf Ebrahimi 0: a
2925*22dc650dSSadaf Ebrahimi    a\=ph
2926*22dc650dSSadaf EbrahimiPartial match: a
2927*22dc650dSSadaf Ebrahimi
2928*22dc650dSSadaf Ebrahimi/\Xa/
2929*22dc650dSSadaf Ebrahimi    aa\=ps
2930*22dc650dSSadaf Ebrahimi 0: aa
2931*22dc650dSSadaf Ebrahimi    aa\=ph
2932*22dc650dSSadaf Ebrahimi 0: aa
2933*22dc650dSSadaf Ebrahimi
2934*22dc650dSSadaf Ebrahimi/\X{2}/
2935*22dc650dSSadaf Ebrahimi    aa\=ps
2936*22dc650dSSadaf Ebrahimi 0: aa
2937*22dc650dSSadaf Ebrahimi    aa\=ph
2938*22dc650dSSadaf EbrahimiPartial match: aa
2939*22dc650dSSadaf Ebrahimi
2940*22dc650dSSadaf Ebrahimi/\X+a/
2941*22dc650dSSadaf Ebrahimi    a\=ps
2942*22dc650dSSadaf EbrahimiPartial match: a
2943*22dc650dSSadaf Ebrahimi    aa\=ps
2944*22dc650dSSadaf Ebrahimi 0: aa
2945*22dc650dSSadaf Ebrahimi    aa\=ph
2946*22dc650dSSadaf EbrahimiPartial match: aa
2947*22dc650dSSadaf Ebrahimi
2948*22dc650dSSadaf Ebrahimi/\X+?a/
2949*22dc650dSSadaf Ebrahimi    a\=ps
2950*22dc650dSSadaf EbrahimiPartial match: a
2951*22dc650dSSadaf Ebrahimi    ab\=ps
2952*22dc650dSSadaf EbrahimiPartial match: ab
2953*22dc650dSSadaf Ebrahimi    aa\=ps
2954*22dc650dSSadaf Ebrahimi 0: aa
2955*22dc650dSSadaf Ebrahimi    aa\=ph
2956*22dc650dSSadaf Ebrahimi 0: aa
2957*22dc650dSSadaf Ebrahimi    aba\=ps
2958*22dc650dSSadaf Ebrahimi 0: aba
2959*22dc650dSSadaf Ebrahimi
2960*22dc650dSSadaf Ebrahimi# These Unicode 6.1.0 scripts are not known to Perl.
2961*22dc650dSSadaf Ebrahimi
2962*22dc650dSSadaf Ebrahimi/\p{Chakma}\d/utf,ucp
2963*22dc650dSSadaf Ebrahimi    \x{11100}\x{1113c}
2964*22dc650dSSadaf Ebrahimi 0: \x{11100}\x{1113c}
2965*22dc650dSSadaf Ebrahimi
2966*22dc650dSSadaf Ebrahimi/\p{Takri}\d/utf,ucp
2967*22dc650dSSadaf Ebrahimi    \x{11680}\x{116c0}
2968*22dc650dSSadaf Ebrahimi 0: \x{11680}\x{116c0}
2969*22dc650dSSadaf Ebrahimi
2970*22dc650dSSadaf Ebrahimi/^\X/utf
2971*22dc650dSSadaf Ebrahimi    A\=ps
2972*22dc650dSSadaf Ebrahimi 0: A
2973*22dc650dSSadaf Ebrahimi    A\=ph
2974*22dc650dSSadaf EbrahimiPartial match: A
2975*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ps
2976*22dc650dSSadaf Ebrahimi 0: A\x{300}\x{301}
2977*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ph
2978*22dc650dSSadaf EbrahimiPartial match: A\x{300}\x{301}
2979*22dc650dSSadaf Ebrahimi    A\x{301}\=ps
2980*22dc650dSSadaf Ebrahimi 0: A\x{301}
2981*22dc650dSSadaf Ebrahimi    A\x{301}\=ph
2982*22dc650dSSadaf EbrahimiPartial match: A\x{301}
2983*22dc650dSSadaf Ebrahimi
2984*22dc650dSSadaf Ebrahimi/^\X{2,3}/utf
2985*22dc650dSSadaf Ebrahimi    A\=ps
2986*22dc650dSSadaf EbrahimiPartial match: A
2987*22dc650dSSadaf Ebrahimi    A\=ph
2988*22dc650dSSadaf EbrahimiPartial match: A
2989*22dc650dSSadaf Ebrahimi    AA\=ps
2990*22dc650dSSadaf Ebrahimi 0: AA
2991*22dc650dSSadaf Ebrahimi    AA\=ph
2992*22dc650dSSadaf EbrahimiPartial match: AA
2993*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ps
2994*22dc650dSSadaf EbrahimiPartial match: A\x{300}\x{301}
2995*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ph
2996*22dc650dSSadaf EbrahimiPartial match: A\x{300}\x{301}
2997*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ps
2998*22dc650dSSadaf Ebrahimi 0: A\x{300}\x{301}A\x{300}\x{301}
2999*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ph
3000*22dc650dSSadaf EbrahimiPartial match: A\x{300}\x{301}A\x{300}\x{301}
3001*22dc650dSSadaf Ebrahimi
3002*22dc650dSSadaf Ebrahimi/^\X{2}/utf
3003*22dc650dSSadaf Ebrahimi    AA\=ps
3004*22dc650dSSadaf Ebrahimi 0: AA
3005*22dc650dSSadaf Ebrahimi    AA\=ph
3006*22dc650dSSadaf EbrahimiPartial match: AA
3007*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ps
3008*22dc650dSSadaf Ebrahimi 0: A\x{300}\x{301}A\x{300}\x{301}
3009*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ph
3010*22dc650dSSadaf EbrahimiPartial match: A\x{300}\x{301}A\x{300}\x{301}
3011*22dc650dSSadaf Ebrahimi
3012*22dc650dSSadaf Ebrahimi/^\X+/utf
3013*22dc650dSSadaf Ebrahimi    AA\=ps
3014*22dc650dSSadaf Ebrahimi 0: AA
3015*22dc650dSSadaf Ebrahimi    AA\=ph
3016*22dc650dSSadaf EbrahimiPartial match: AA
3017*22dc650dSSadaf Ebrahimi
3018*22dc650dSSadaf Ebrahimi/^\X+?Z/utf
3019*22dc650dSSadaf Ebrahimi    AA\=ps
3020*22dc650dSSadaf EbrahimiPartial match: AA
3021*22dc650dSSadaf Ebrahimi    AA\=ph
3022*22dc650dSSadaf EbrahimiPartial match: AA
3023*22dc650dSSadaf Ebrahimi
3024*22dc650dSSadaf Ebrahimi/A\x{3a3}B/IBi,utf
3025*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3026*22dc650dSSadaf Ebrahimi        Bra
3027*22dc650dSSadaf Ebrahimi     /i A
3028*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3
3029*22dc650dSSadaf Ebrahimi     /i B
3030*22dc650dSSadaf Ebrahimi        Ket
3031*22dc650dSSadaf Ebrahimi        End
3032*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3033*22dc650dSSadaf EbrahimiCapture group count = 0
3034*22dc650dSSadaf EbrahimiOptions: caseless utf
3035*22dc650dSSadaf EbrahimiFirst code unit = 'A' (caseless)
3036*22dc650dSSadaf EbrahimiLast code unit = 'B' (caseless)
3037*22dc650dSSadaf EbrahimiSubject length lower bound = 3
3038*22dc650dSSadaf Ebrahimi
3039*22dc650dSSadaf Ebrahimi/[\x{3a3}]/Bi,utf
3040*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3041*22dc650dSSadaf Ebrahimi        Bra
3042*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3
3043*22dc650dSSadaf Ebrahimi        Ket
3044*22dc650dSSadaf Ebrahimi        End
3045*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3046*22dc650dSSadaf Ebrahimi
3047*22dc650dSSadaf Ebrahimi/[^\x{3a3}]/Bi,utf
3048*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3049*22dc650dSSadaf Ebrahimi        Bra
3050*22dc650dSSadaf Ebrahimi        not clist 03a3 03c2 03c3
3051*22dc650dSSadaf Ebrahimi        Ket
3052*22dc650dSSadaf Ebrahimi        End
3053*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3054*22dc650dSSadaf Ebrahimi
3055*22dc650dSSadaf Ebrahimi/[\x{3a3}]+/Bi,utf
3056*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3057*22dc650dSSadaf Ebrahimi        Bra
3058*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3 ++
3059*22dc650dSSadaf Ebrahimi        Ket
3060*22dc650dSSadaf Ebrahimi        End
3061*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3062*22dc650dSSadaf Ebrahimi
3063*22dc650dSSadaf Ebrahimi/[^\x{3a3}]+/Bi,utf
3064*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3065*22dc650dSSadaf Ebrahimi        Bra
3066*22dc650dSSadaf Ebrahimi        not clist 03a3 03c2 03c3 ++
3067*22dc650dSSadaf Ebrahimi        Ket
3068*22dc650dSSadaf Ebrahimi        End
3069*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3070*22dc650dSSadaf Ebrahimi
3071*22dc650dSSadaf Ebrahimi/a*\x{3a3}/Bi,utf
3072*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3073*22dc650dSSadaf Ebrahimi        Bra
3074*22dc650dSSadaf Ebrahimi     /i a*+
3075*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3
3076*22dc650dSSadaf Ebrahimi        Ket
3077*22dc650dSSadaf Ebrahimi        End
3078*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3079*22dc650dSSadaf Ebrahimi
3080*22dc650dSSadaf Ebrahimi/\x{3a3}+a/Bi,utf
3081*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3082*22dc650dSSadaf Ebrahimi        Bra
3083*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3 ++
3084*22dc650dSSadaf Ebrahimi     /i a
3085*22dc650dSSadaf Ebrahimi        Ket
3086*22dc650dSSadaf Ebrahimi        End
3087*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3088*22dc650dSSadaf Ebrahimi
3089*22dc650dSSadaf Ebrahimi/\x{3a3}*\x{3c2}/Bi,utf
3090*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3091*22dc650dSSadaf Ebrahimi        Bra
3092*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3 *
3093*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3
3094*22dc650dSSadaf Ebrahimi        Ket
3095*22dc650dSSadaf Ebrahimi        End
3096*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3097*22dc650dSSadaf Ebrahimi
3098*22dc650dSSadaf Ebrahimi/\x{3a3}{3}/i,utf,aftertext
3099*22dc650dSSadaf Ebrahimi    \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
3100*22dc650dSSadaf Ebrahimi 0: \x{3a3}\x{3c3}\x{3c2}
3101*22dc650dSSadaf Ebrahimi 0+ \x{3a3}\x{3c3}\x{3c2}
3102*22dc650dSSadaf Ebrahimi
3103*22dc650dSSadaf Ebrahimi/\x{3a3}{2,4}/i,utf,aftertext
3104*22dc650dSSadaf Ebrahimi    \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
3105*22dc650dSSadaf Ebrahimi 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}
3106*22dc650dSSadaf Ebrahimi 0+ \x{3c3}\x{3c2}
3107*22dc650dSSadaf Ebrahimi
3108*22dc650dSSadaf Ebrahimi/\x{3a3}{2,4}?/i,utf,aftertext
3109*22dc650dSSadaf Ebrahimi    \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
3110*22dc650dSSadaf Ebrahimi 0: \x{3a3}\x{3c3}
3111*22dc650dSSadaf Ebrahimi 0+ \x{3c2}\x{3a3}\x{3c3}\x{3c2}
3112*22dc650dSSadaf Ebrahimi
3113*22dc650dSSadaf Ebrahimi/\x{3a3}+./i,utf,aftertext
3114*22dc650dSSadaf Ebrahimi    \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
3115*22dc650dSSadaf Ebrahimi 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
3116*22dc650dSSadaf Ebrahimi 0+
3117*22dc650dSSadaf Ebrahimi
3118*22dc650dSSadaf Ebrahimi/\x{3a3}++./i,utf,aftertext
3119*22dc650dSSadaf Ebrahimi\= Expect no match
3120*22dc650dSSadaf Ebrahimi    \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
3121*22dc650dSSadaf EbrahimiNo match
3122*22dc650dSSadaf Ebrahimi
3123*22dc650dSSadaf Ebrahimi/\x{3a3}*\x{3c2}/Bi,utf
3124*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3125*22dc650dSSadaf Ebrahimi        Bra
3126*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3 *
3127*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3
3128*22dc650dSSadaf Ebrahimi        Ket
3129*22dc650dSSadaf Ebrahimi        End
3130*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3131*22dc650dSSadaf Ebrahimi
3132*22dc650dSSadaf Ebrahimi/[^\x{3a3}]*\x{3c2}/Bi,utf
3133*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3134*22dc650dSSadaf Ebrahimi        Bra
3135*22dc650dSSadaf Ebrahimi        not clist 03a3 03c2 03c3 *+
3136*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3
3137*22dc650dSSadaf Ebrahimi        Ket
3138*22dc650dSSadaf Ebrahimi        End
3139*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3140*22dc650dSSadaf Ebrahimi
3141*22dc650dSSadaf Ebrahimi/[^a]*\x{3c2}/Bi,utf
3142*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3143*22dc650dSSadaf Ebrahimi        Bra
3144*22dc650dSSadaf Ebrahimi     /i [^a]*
3145*22dc650dSSadaf Ebrahimi        clist 03a3 03c2 03c3
3146*22dc650dSSadaf Ebrahimi        Ket
3147*22dc650dSSadaf Ebrahimi        End
3148*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3149*22dc650dSSadaf Ebrahimi
3150*22dc650dSSadaf Ebrahimi/ist/Bi,utf
3151*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3152*22dc650dSSadaf Ebrahimi        Bra
3153*22dc650dSSadaf Ebrahimi     /i i
3154*22dc650dSSadaf Ebrahimi        clist 0053 0073 017f
3155*22dc650dSSadaf Ebrahimi     /i t
3156*22dc650dSSadaf Ebrahimi        Ket
3157*22dc650dSSadaf Ebrahimi        End
3158*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3159*22dc650dSSadaf Ebrahimi\= Expect no match
3160*22dc650dSSadaf Ebrahimi    ikt
3161*22dc650dSSadaf EbrahimiNo match
3162*22dc650dSSadaf Ebrahimi
3163*22dc650dSSadaf Ebrahimi/is+t/i,utf
3164*22dc650dSSadaf Ebrahimi    iSs\x{17f}t
3165*22dc650dSSadaf Ebrahimi 0: iSs\x{17f}t
3166*22dc650dSSadaf Ebrahimi\= Expect no match
3167*22dc650dSSadaf Ebrahimi    ikt
3168*22dc650dSSadaf EbrahimiNo match
3169*22dc650dSSadaf Ebrahimi
3170*22dc650dSSadaf Ebrahimi/is+?t/i,utf
3171*22dc650dSSadaf Ebrahimi\= Expect no match
3172*22dc650dSSadaf Ebrahimi    ikt
3173*22dc650dSSadaf EbrahimiNo match
3174*22dc650dSSadaf Ebrahimi
3175*22dc650dSSadaf Ebrahimi/is?t/i,utf
3176*22dc650dSSadaf Ebrahimi\= Expect no match
3177*22dc650dSSadaf Ebrahimi    ikt
3178*22dc650dSSadaf EbrahimiNo match
3179*22dc650dSSadaf Ebrahimi
3180*22dc650dSSadaf Ebrahimi/is{2}t/i,utf
3181*22dc650dSSadaf Ebrahimi\= Expect no match
3182*22dc650dSSadaf Ebrahimi    iskt
3183*22dc650dSSadaf EbrahimiNo match
3184*22dc650dSSadaf Ebrahimi
3185*22dc650dSSadaf Ebrahimi# This property is a PCRE special
3186*22dc650dSSadaf Ebrahimi
3187*22dc650dSSadaf Ebrahimi/^\p{Xuc}/utf
3188*22dc650dSSadaf Ebrahimi    $abc
3189*22dc650dSSadaf Ebrahimi 0: $
3190*22dc650dSSadaf Ebrahimi    @abc
3191*22dc650dSSadaf Ebrahimi 0: @
3192*22dc650dSSadaf Ebrahimi    `abc
3193*22dc650dSSadaf Ebrahimi 0: `
3194*22dc650dSSadaf Ebrahimi    \x{1234}abc
3195*22dc650dSSadaf Ebrahimi 0: \x{1234}
3196*22dc650dSSadaf Ebrahimi\= Expect no match
3197*22dc650dSSadaf Ebrahimi    abc
3198*22dc650dSSadaf EbrahimiNo match
3199*22dc650dSSadaf Ebrahimi
3200*22dc650dSSadaf Ebrahimi/^\p{Xuc}+/utf
3201*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
3202*22dc650dSSadaf Ebrahimi 0: $@`\x{a0}\x{1234}\x{e000}
3203*22dc650dSSadaf Ebrahimi\= Expect no match
3204*22dc650dSSadaf Ebrahimi    \x{9f}
3205*22dc650dSSadaf EbrahimiNo match
3206*22dc650dSSadaf Ebrahimi
3207*22dc650dSSadaf Ebrahimi/^\p{Xuc}+?/utf
3208*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
3209*22dc650dSSadaf Ebrahimi 0: $
3210*22dc650dSSadaf Ebrahimi\= Expect no match
3211*22dc650dSSadaf Ebrahimi    \x{9f}
3212*22dc650dSSadaf EbrahimiNo match
3213*22dc650dSSadaf Ebrahimi
3214*22dc650dSSadaf Ebrahimi/^\p{Xuc}+?\*/utf
3215*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
3216*22dc650dSSadaf Ebrahimi 0: $@`\x{a0}\x{1234}\x{e000}*
3217*22dc650dSSadaf Ebrahimi\= Expect no match
3218*22dc650dSSadaf Ebrahimi    \x{9f}
3219*22dc650dSSadaf EbrahimiNo match
3220*22dc650dSSadaf Ebrahimi
3221*22dc650dSSadaf Ebrahimi/^\p{Xuc}++/utf
3222*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
3223*22dc650dSSadaf Ebrahimi 0: $@`\x{a0}\x{1234}\x{e000}
3224*22dc650dSSadaf Ebrahimi\= Expect no match
3225*22dc650dSSadaf Ebrahimi    \x{9f}
3226*22dc650dSSadaf EbrahimiNo match
3227*22dc650dSSadaf Ebrahimi
3228*22dc650dSSadaf Ebrahimi/^\p{Xuc}{3,5}/utf
3229*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
3230*22dc650dSSadaf Ebrahimi 0: $@`\x{a0}\x{1234}
3231*22dc650dSSadaf Ebrahimi\= Expect no match
3232*22dc650dSSadaf Ebrahimi    \x{9f}
3233*22dc650dSSadaf EbrahimiNo match
3234*22dc650dSSadaf Ebrahimi
3235*22dc650dSSadaf Ebrahimi/^\p{Xuc}{3,5}?/utf
3236*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
3237*22dc650dSSadaf Ebrahimi 0: $@`
3238*22dc650dSSadaf Ebrahimi\= Expect no match
3239*22dc650dSSadaf Ebrahimi    \x{9f}
3240*22dc650dSSadaf EbrahimiNo match
3241*22dc650dSSadaf Ebrahimi
3242*22dc650dSSadaf Ebrahimi/^[\p{Xuc}]/utf
3243*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
3244*22dc650dSSadaf Ebrahimi 0: $
3245*22dc650dSSadaf Ebrahimi\= Expect no match
3246*22dc650dSSadaf Ebrahimi    \x{9f}
3247*22dc650dSSadaf EbrahimiNo match
3248*22dc650dSSadaf Ebrahimi
3249*22dc650dSSadaf Ebrahimi/^[\p{Xuc}]+/utf
3250*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
3251*22dc650dSSadaf Ebrahimi 0: $@`\x{a0}\x{1234}\x{e000}
3252*22dc650dSSadaf Ebrahimi\= Expect no match
3253*22dc650dSSadaf Ebrahimi    \x{9f}
3254*22dc650dSSadaf EbrahimiNo match
3255*22dc650dSSadaf Ebrahimi
3256*22dc650dSSadaf Ebrahimi/^\P{Xuc}/utf
3257*22dc650dSSadaf Ebrahimi    abc
3258*22dc650dSSadaf Ebrahimi 0: a
3259*22dc650dSSadaf Ebrahimi\= Expect no match
3260*22dc650dSSadaf Ebrahimi    $abc
3261*22dc650dSSadaf EbrahimiNo match
3262*22dc650dSSadaf Ebrahimi    @abc
3263*22dc650dSSadaf EbrahimiNo match
3264*22dc650dSSadaf Ebrahimi    `abc
3265*22dc650dSSadaf EbrahimiNo match
3266*22dc650dSSadaf Ebrahimi    \x{1234}abc
3267*22dc650dSSadaf EbrahimiNo match
3268*22dc650dSSadaf Ebrahimi
3269*22dc650dSSadaf Ebrahimi/^[\P{Xuc}]/utf
3270*22dc650dSSadaf Ebrahimi    abc
3271*22dc650dSSadaf Ebrahimi 0: a
3272*22dc650dSSadaf Ebrahimi\= Expect no match
3273*22dc650dSSadaf Ebrahimi    $abc
3274*22dc650dSSadaf EbrahimiNo match
3275*22dc650dSSadaf Ebrahimi    @abc
3276*22dc650dSSadaf EbrahimiNo match
3277*22dc650dSSadaf Ebrahimi    `abc
3278*22dc650dSSadaf EbrahimiNo match
3279*22dc650dSSadaf Ebrahimi    \x{1234}abc
3280*22dc650dSSadaf EbrahimiNo match
3281*22dc650dSSadaf Ebrahimi
3282*22dc650dSSadaf Ebrahimi# Some auto-possessification tests
3283*22dc650dSSadaf Ebrahimi
3284*22dc650dSSadaf Ebrahimi/\pN+\z/B
3285*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3286*22dc650dSSadaf Ebrahimi        Bra
3287*22dc650dSSadaf Ebrahimi        prop N ++
3288*22dc650dSSadaf Ebrahimi        \z
3289*22dc650dSSadaf Ebrahimi        Ket
3290*22dc650dSSadaf Ebrahimi        End
3291*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3292*22dc650dSSadaf Ebrahimi
3293*22dc650dSSadaf Ebrahimi/\PN+\z/B
3294*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3295*22dc650dSSadaf Ebrahimi        Bra
3296*22dc650dSSadaf Ebrahimi        notprop N ++
3297*22dc650dSSadaf Ebrahimi        \z
3298*22dc650dSSadaf Ebrahimi        Ket
3299*22dc650dSSadaf Ebrahimi        End
3300*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3301*22dc650dSSadaf Ebrahimi
3302*22dc650dSSadaf Ebrahimi/\pN+/B
3303*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3304*22dc650dSSadaf Ebrahimi        Bra
3305*22dc650dSSadaf Ebrahimi        prop N ++
3306*22dc650dSSadaf Ebrahimi        Ket
3307*22dc650dSSadaf Ebrahimi        End
3308*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3309*22dc650dSSadaf Ebrahimi
3310*22dc650dSSadaf Ebrahimi/\PN+/B
3311*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3312*22dc650dSSadaf Ebrahimi        Bra
3313*22dc650dSSadaf Ebrahimi        notprop N ++
3314*22dc650dSSadaf Ebrahimi        Ket
3315*22dc650dSSadaf Ebrahimi        End
3316*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3317*22dc650dSSadaf Ebrahimi
3318*22dc650dSSadaf Ebrahimi/\p{Any}+\p{Any} \p{Any}+\P{Any} \p{Any}+\p{L&} \p{Any}+\p{L} \p{Any}+\p{Lu} \p{Any}+\p{Han} \p{Any}+\p{Xan} \p{Any}+\p{Xsp} \p{Any}+\p{Xps} \p{Xwd}+\p{Any} \p{Any}+\p{Xuc}/Bx,ucp
3319*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3320*22dc650dSSadaf Ebrahimi        Bra
3321*22dc650dSSadaf Ebrahimi        AllAny+
3322*22dc650dSSadaf Ebrahimi        AllAny
3323*22dc650dSSadaf Ebrahimi        AllAny+
3324*22dc650dSSadaf Ebrahimi        notprop Any
3325*22dc650dSSadaf Ebrahimi        AllAny+
3326*22dc650dSSadaf Ebrahimi        prop Lc
3327*22dc650dSSadaf Ebrahimi        AllAny+
3328*22dc650dSSadaf Ebrahimi        prop L
3329*22dc650dSSadaf Ebrahimi        AllAny+
3330*22dc650dSSadaf Ebrahimi        prop Lu
3331*22dc650dSSadaf Ebrahimi        AllAny+
3332*22dc650dSSadaf Ebrahimi        prop Han
3333*22dc650dSSadaf Ebrahimi        AllAny+
3334*22dc650dSSadaf Ebrahimi        prop Xan
3335*22dc650dSSadaf Ebrahimi        AllAny+
3336*22dc650dSSadaf Ebrahimi        prop Xsp
3337*22dc650dSSadaf Ebrahimi        AllAny+
3338*22dc650dSSadaf Ebrahimi        prop Xps
3339*22dc650dSSadaf Ebrahimi        prop Xwd +
3340*22dc650dSSadaf Ebrahimi        AllAny
3341*22dc650dSSadaf Ebrahimi        AllAny+
3342*22dc650dSSadaf Ebrahimi        prop Xuc
3343*22dc650dSSadaf Ebrahimi        Ket
3344*22dc650dSSadaf Ebrahimi        End
3345*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3346*22dc650dSSadaf Ebrahimi
3347*22dc650dSSadaf Ebrahimi/\p{L&}+\p{Any} \p{L&}+\p{L&} \P{L&}+\p{L&} \p{L&}+\p{L} \p{L&}+\p{Lu} \p{L&}+\p{Han} \p{L&}+\p{Xan} \p{L&}+\P{Xan} \p{L&}+\p{Xsp} \p{L&}+\p{Xps} \p{Xwd}+\p{L&} \p{L&}+\p{Xuc}/Bx,ucp
3348*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3349*22dc650dSSadaf Ebrahimi        Bra
3350*22dc650dSSadaf Ebrahimi        prop Lc +
3351*22dc650dSSadaf Ebrahimi        AllAny
3352*22dc650dSSadaf Ebrahimi        prop Lc +
3353*22dc650dSSadaf Ebrahimi        prop Lc
3354*22dc650dSSadaf Ebrahimi        notprop Lc ++
3355*22dc650dSSadaf Ebrahimi        prop Lc
3356*22dc650dSSadaf Ebrahimi        prop Lc +
3357*22dc650dSSadaf Ebrahimi        prop L
3358*22dc650dSSadaf Ebrahimi        prop Lc +
3359*22dc650dSSadaf Ebrahimi        prop Lu
3360*22dc650dSSadaf Ebrahimi        prop Lc +
3361*22dc650dSSadaf Ebrahimi        prop Han
3362*22dc650dSSadaf Ebrahimi        prop Lc +
3363*22dc650dSSadaf Ebrahimi        prop Xan
3364*22dc650dSSadaf Ebrahimi        prop Lc ++
3365*22dc650dSSadaf Ebrahimi        notprop Xan
3366*22dc650dSSadaf Ebrahimi        prop Lc ++
3367*22dc650dSSadaf Ebrahimi        prop Xsp
3368*22dc650dSSadaf Ebrahimi        prop Lc ++
3369*22dc650dSSadaf Ebrahimi        prop Xps
3370*22dc650dSSadaf Ebrahimi        prop Xwd +
3371*22dc650dSSadaf Ebrahimi        prop Lc
3372*22dc650dSSadaf Ebrahimi        prop Lc +
3373*22dc650dSSadaf Ebrahimi        prop Xuc
3374*22dc650dSSadaf Ebrahimi        Ket
3375*22dc650dSSadaf Ebrahimi        End
3376*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3377*22dc650dSSadaf Ebrahimi
3378*22dc650dSSadaf Ebrahimi/\p{N}+\p{Any} \p{N}+\p{L&} \p{N}+\p{L} \p{N}+\P{L} \p{N}+\P{N} \p{N}+\p{Lu} \p{N}+\p{Han} \p{N}+\p{Xan} \p{N}+\p{Xsp} \p{N}+\p{Xps} \p{Xwd}+\p{N} \p{N}+\p{Xuc}/Bx,ucp
3379*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3380*22dc650dSSadaf Ebrahimi        Bra
3381*22dc650dSSadaf Ebrahimi        prop N +
3382*22dc650dSSadaf Ebrahimi        AllAny
3383*22dc650dSSadaf Ebrahimi        prop N +
3384*22dc650dSSadaf Ebrahimi        prop Lc
3385*22dc650dSSadaf Ebrahimi        prop N ++
3386*22dc650dSSadaf Ebrahimi        prop L
3387*22dc650dSSadaf Ebrahimi        prop N +
3388*22dc650dSSadaf Ebrahimi        notprop L
3389*22dc650dSSadaf Ebrahimi        prop N ++
3390*22dc650dSSadaf Ebrahimi        notprop N
3391*22dc650dSSadaf Ebrahimi        prop N ++
3392*22dc650dSSadaf Ebrahimi        prop Lu
3393*22dc650dSSadaf Ebrahimi        prop N +
3394*22dc650dSSadaf Ebrahimi        prop Han
3395*22dc650dSSadaf Ebrahimi        prop N +
3396*22dc650dSSadaf Ebrahimi        prop Xan
3397*22dc650dSSadaf Ebrahimi        prop N ++
3398*22dc650dSSadaf Ebrahimi        prop Xsp
3399*22dc650dSSadaf Ebrahimi        prop N ++
3400*22dc650dSSadaf Ebrahimi        prop Xps
3401*22dc650dSSadaf Ebrahimi        prop Xwd +
3402*22dc650dSSadaf Ebrahimi        prop N
3403*22dc650dSSadaf Ebrahimi        prop N +
3404*22dc650dSSadaf Ebrahimi        prop Xuc
3405*22dc650dSSadaf Ebrahimi        Ket
3406*22dc650dSSadaf Ebrahimi        End
3407*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3408*22dc650dSSadaf Ebrahimi
3409*22dc650dSSadaf Ebrahimi/\p{Lu}+\p{Any} \p{Lu}+\p{L&} \p{Lu}+\p{L} \p{Lu}+\p{Lu} \P{Lu}+\p{Lu} \p{Lu}+\p{Nd} \p{Lu}+\P{Nd} \p{Lu}+\p{Han} \p{Lu}+\p{Xan} \p{Lu}+\p{Xsp} \p{Lu}+\p{Xps} \p{Xwd}+\p{Lu} \p{Lu}+\p{Xuc}/Bx,ucp
3410*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3411*22dc650dSSadaf Ebrahimi        Bra
3412*22dc650dSSadaf Ebrahimi        prop Lu +
3413*22dc650dSSadaf Ebrahimi        AllAny
3414*22dc650dSSadaf Ebrahimi        prop Lu +
3415*22dc650dSSadaf Ebrahimi        prop Lc
3416*22dc650dSSadaf Ebrahimi        prop Lu +
3417*22dc650dSSadaf Ebrahimi        prop L
3418*22dc650dSSadaf Ebrahimi        prop Lu +
3419*22dc650dSSadaf Ebrahimi        prop Lu
3420*22dc650dSSadaf Ebrahimi        notprop Lu ++
3421*22dc650dSSadaf Ebrahimi        prop Lu
3422*22dc650dSSadaf Ebrahimi        prop Lu ++
3423*22dc650dSSadaf Ebrahimi        prop Nd
3424*22dc650dSSadaf Ebrahimi        prop Lu +
3425*22dc650dSSadaf Ebrahimi        notprop Nd
3426*22dc650dSSadaf Ebrahimi        prop Lu +
3427*22dc650dSSadaf Ebrahimi        prop Han
3428*22dc650dSSadaf Ebrahimi        prop Lu +
3429*22dc650dSSadaf Ebrahimi        prop Xan
3430*22dc650dSSadaf Ebrahimi        prop Lu ++
3431*22dc650dSSadaf Ebrahimi        prop Xsp
3432*22dc650dSSadaf Ebrahimi        prop Lu ++
3433*22dc650dSSadaf Ebrahimi        prop Xps
3434*22dc650dSSadaf Ebrahimi        prop Xwd +
3435*22dc650dSSadaf Ebrahimi        prop Lu
3436*22dc650dSSadaf Ebrahimi        prop Lu +
3437*22dc650dSSadaf Ebrahimi        prop Xuc
3438*22dc650dSSadaf Ebrahimi        Ket
3439*22dc650dSSadaf Ebrahimi        End
3440*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3441*22dc650dSSadaf Ebrahimi
3442*22dc650dSSadaf Ebrahimi/\p{Han}+\p{Lu} \p{Han}+\p{L&} \p{Han}+\p{L} \p{Han}+\p{Lu} \p{Han}+\p{Arabic} \p{Arabic}+\p{Arabic} \p{Han}+\p{Xan} \p{Han}+\p{Xsp} \p{Han}+\p{Xps} \p{Xwd}+\p{Han} \p{Han}+\p{Xuc}/Bx,ucp
3443*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3444*22dc650dSSadaf Ebrahimi        Bra
3445*22dc650dSSadaf Ebrahimi        prop Han +
3446*22dc650dSSadaf Ebrahimi        prop Lu
3447*22dc650dSSadaf Ebrahimi        prop Han +
3448*22dc650dSSadaf Ebrahimi        prop Lc
3449*22dc650dSSadaf Ebrahimi        prop Han +
3450*22dc650dSSadaf Ebrahimi        prop L
3451*22dc650dSSadaf Ebrahimi        prop Han +
3452*22dc650dSSadaf Ebrahimi        prop Lu
3453*22dc650dSSadaf Ebrahimi        prop Han ++
3454*22dc650dSSadaf Ebrahimi        prop Arabic
3455*22dc650dSSadaf Ebrahimi        prop Arabic +
3456*22dc650dSSadaf Ebrahimi        prop Arabic
3457*22dc650dSSadaf Ebrahimi        prop Han +
3458*22dc650dSSadaf Ebrahimi        prop Xan
3459*22dc650dSSadaf Ebrahimi        prop Han +
3460*22dc650dSSadaf Ebrahimi        prop Xsp
3461*22dc650dSSadaf Ebrahimi        prop Han +
3462*22dc650dSSadaf Ebrahimi        prop Xps
3463*22dc650dSSadaf Ebrahimi        prop Xwd +
3464*22dc650dSSadaf Ebrahimi        prop Han
3465*22dc650dSSadaf Ebrahimi        prop Han +
3466*22dc650dSSadaf Ebrahimi        prop Xuc
3467*22dc650dSSadaf Ebrahimi        Ket
3468*22dc650dSSadaf Ebrahimi        End
3469*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3470*22dc650dSSadaf Ebrahimi
3471*22dc650dSSadaf Ebrahimi/\p{Xan}+\p{Any} \p{Xan}+\p{L&} \P{Xan}+\p{L&} \p{Xan}+\p{L} \p{Xan}+\p{Lu} \p{Xan}+\p{Han} \p{Xan}+\p{Xan} \p{Xan}+\P{Xan} \p{Xan}+\p{Xsp} \p{Xan}+\p{Xps} \p{Xwd}+\p{Xan} \p{Xan}+\p{Xuc}/Bx,ucp
3472*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3473*22dc650dSSadaf Ebrahimi        Bra
3474*22dc650dSSadaf Ebrahimi        prop Xan +
3475*22dc650dSSadaf Ebrahimi        AllAny
3476*22dc650dSSadaf Ebrahimi        prop Xan +
3477*22dc650dSSadaf Ebrahimi        prop Lc
3478*22dc650dSSadaf Ebrahimi        notprop Xan ++
3479*22dc650dSSadaf Ebrahimi        prop Lc
3480*22dc650dSSadaf Ebrahimi        prop Xan +
3481*22dc650dSSadaf Ebrahimi        prop L
3482*22dc650dSSadaf Ebrahimi        prop Xan +
3483*22dc650dSSadaf Ebrahimi        prop Lu
3484*22dc650dSSadaf Ebrahimi        prop Xan +
3485*22dc650dSSadaf Ebrahimi        prop Han
3486*22dc650dSSadaf Ebrahimi        prop Xan +
3487*22dc650dSSadaf Ebrahimi        prop Xan
3488*22dc650dSSadaf Ebrahimi        prop Xan ++
3489*22dc650dSSadaf Ebrahimi        notprop Xan
3490*22dc650dSSadaf Ebrahimi        prop Xan ++
3491*22dc650dSSadaf Ebrahimi        prop Xsp
3492*22dc650dSSadaf Ebrahimi        prop Xan ++
3493*22dc650dSSadaf Ebrahimi        prop Xps
3494*22dc650dSSadaf Ebrahimi        prop Xwd +
3495*22dc650dSSadaf Ebrahimi        prop Xan
3496*22dc650dSSadaf Ebrahimi        prop Xan +
3497*22dc650dSSadaf Ebrahimi        prop Xuc
3498*22dc650dSSadaf Ebrahimi        Ket
3499*22dc650dSSadaf Ebrahimi        End
3500*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3501*22dc650dSSadaf Ebrahimi
3502*22dc650dSSadaf Ebrahimi/\p{Xsp}+\p{Any} \p{Xsp}+\p{L&} \p{Xsp}+\p{L} \p{Xsp}+\p{Lu} \p{Xsp}+\p{Han} \p{Xsp}+\p{Xan} \p{Xsp}+\p{Xsp} \P{Xsp}+\p{Xsp} \p{Xsp}+\p{Xps} \p{Xwd}+\p{Xsp} \p{Xsp}+\p{Xuc}/Bx,ucp
3503*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3504*22dc650dSSadaf Ebrahimi        Bra
3505*22dc650dSSadaf Ebrahimi        prop Xsp +
3506*22dc650dSSadaf Ebrahimi        AllAny
3507*22dc650dSSadaf Ebrahimi        prop Xsp ++
3508*22dc650dSSadaf Ebrahimi        prop Lc
3509*22dc650dSSadaf Ebrahimi        prop Xsp ++
3510*22dc650dSSadaf Ebrahimi        prop L
3511*22dc650dSSadaf Ebrahimi        prop Xsp ++
3512*22dc650dSSadaf Ebrahimi        prop Lu
3513*22dc650dSSadaf Ebrahimi        prop Xsp +
3514*22dc650dSSadaf Ebrahimi        prop Han
3515*22dc650dSSadaf Ebrahimi        prop Xsp ++
3516*22dc650dSSadaf Ebrahimi        prop Xan
3517*22dc650dSSadaf Ebrahimi        prop Xsp +
3518*22dc650dSSadaf Ebrahimi        prop Xsp
3519*22dc650dSSadaf Ebrahimi        notprop Xsp ++
3520*22dc650dSSadaf Ebrahimi        prop Xsp
3521*22dc650dSSadaf Ebrahimi        prop Xsp +
3522*22dc650dSSadaf Ebrahimi        prop Xps
3523*22dc650dSSadaf Ebrahimi        prop Xwd ++
3524*22dc650dSSadaf Ebrahimi        prop Xsp
3525*22dc650dSSadaf Ebrahimi        prop Xsp +
3526*22dc650dSSadaf Ebrahimi        prop Xuc
3527*22dc650dSSadaf Ebrahimi        Ket
3528*22dc650dSSadaf Ebrahimi        End
3529*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3530*22dc650dSSadaf Ebrahimi
3531*22dc650dSSadaf Ebrahimi/\p{Xwd}+\p{Any} \p{Xwd}+\p{L&} \p{Xwd}+\p{L} \p{Xwd}+\p{Lu} \p{Xwd}+\p{Han} \p{Xwd}+\p{Xan} \p{Xwd}+\p{Xsp} \p{Xwd}+\p{Xps} \p{Xwd}+\p{Xwd} \p{Xwd}+\P{Xwd} \p{Xwd}+\p{Xuc}/Bx,ucp
3532*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3533*22dc650dSSadaf Ebrahimi        Bra
3534*22dc650dSSadaf Ebrahimi        prop Xwd +
3535*22dc650dSSadaf Ebrahimi        AllAny
3536*22dc650dSSadaf Ebrahimi        prop Xwd +
3537*22dc650dSSadaf Ebrahimi        prop Lc
3538*22dc650dSSadaf Ebrahimi        prop Xwd +
3539*22dc650dSSadaf Ebrahimi        prop L
3540*22dc650dSSadaf Ebrahimi        prop Xwd +
3541*22dc650dSSadaf Ebrahimi        prop Lu
3542*22dc650dSSadaf Ebrahimi        prop Xwd +
3543*22dc650dSSadaf Ebrahimi        prop Han
3544*22dc650dSSadaf Ebrahimi        prop Xwd +
3545*22dc650dSSadaf Ebrahimi        prop Xan
3546*22dc650dSSadaf Ebrahimi        prop Xwd ++
3547*22dc650dSSadaf Ebrahimi        prop Xsp
3548*22dc650dSSadaf Ebrahimi        prop Xwd ++
3549*22dc650dSSadaf Ebrahimi        prop Xps
3550*22dc650dSSadaf Ebrahimi        prop Xwd +
3551*22dc650dSSadaf Ebrahimi        prop Xwd
3552*22dc650dSSadaf Ebrahimi        prop Xwd ++
3553*22dc650dSSadaf Ebrahimi        notprop Xwd
3554*22dc650dSSadaf Ebrahimi        prop Xwd +
3555*22dc650dSSadaf Ebrahimi        prop Xuc
3556*22dc650dSSadaf Ebrahimi        Ket
3557*22dc650dSSadaf Ebrahimi        End
3558*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3559*22dc650dSSadaf Ebrahimi
3560*22dc650dSSadaf Ebrahimi/\p{Xuc}+\p{Any} \p{Xuc}+\p{L&} \p{Xuc}+\p{L} \p{Xuc}+\p{Lu} \p{Xuc}+\p{Han} \p{Xuc}+\p{Xan} \p{Xuc}+\p{Xsp} \p{Xuc}+\p{Xps} \p{Xwd}+\p{Xuc} \p{Xuc}+\p{Xuc} \p{Xuc}+\P{Xuc}/Bx,ucp
3561*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3562*22dc650dSSadaf Ebrahimi        Bra
3563*22dc650dSSadaf Ebrahimi        prop Xuc +
3564*22dc650dSSadaf Ebrahimi        AllAny
3565*22dc650dSSadaf Ebrahimi        prop Xuc +
3566*22dc650dSSadaf Ebrahimi        prop Lc
3567*22dc650dSSadaf Ebrahimi        prop Xuc +
3568*22dc650dSSadaf Ebrahimi        prop L
3569*22dc650dSSadaf Ebrahimi        prop Xuc +
3570*22dc650dSSadaf Ebrahimi        prop Lu
3571*22dc650dSSadaf Ebrahimi        prop Xuc +
3572*22dc650dSSadaf Ebrahimi        prop Han
3573*22dc650dSSadaf Ebrahimi        prop Xuc +
3574*22dc650dSSadaf Ebrahimi        prop Xan
3575*22dc650dSSadaf Ebrahimi        prop Xuc +
3576*22dc650dSSadaf Ebrahimi        prop Xsp
3577*22dc650dSSadaf Ebrahimi        prop Xuc +
3578*22dc650dSSadaf Ebrahimi        prop Xps
3579*22dc650dSSadaf Ebrahimi        prop Xwd +
3580*22dc650dSSadaf Ebrahimi        prop Xuc
3581*22dc650dSSadaf Ebrahimi        prop Xuc +
3582*22dc650dSSadaf Ebrahimi        prop Xuc
3583*22dc650dSSadaf Ebrahimi        prop Xuc ++
3584*22dc650dSSadaf Ebrahimi        notprop Xuc
3585*22dc650dSSadaf Ebrahimi        Ket
3586*22dc650dSSadaf Ebrahimi        End
3587*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3588*22dc650dSSadaf Ebrahimi
3589*22dc650dSSadaf Ebrahimi/\p{N}+\p{Ll} \p{N}+\p{Nd} \p{N}+\P{Nd}/Bx,ucp
3590*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3591*22dc650dSSadaf Ebrahimi        Bra
3592*22dc650dSSadaf Ebrahimi        prop N ++
3593*22dc650dSSadaf Ebrahimi        prop Ll
3594*22dc650dSSadaf Ebrahimi        prop N +
3595*22dc650dSSadaf Ebrahimi        prop Nd
3596*22dc650dSSadaf Ebrahimi        prop N +
3597*22dc650dSSadaf Ebrahimi        notprop Nd
3598*22dc650dSSadaf Ebrahimi        Ket
3599*22dc650dSSadaf Ebrahimi        End
3600*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3601*22dc650dSSadaf Ebrahimi
3602*22dc650dSSadaf Ebrahimi/\p{Xan}+\p{L} \p{Xan}+\p{N} \p{Xan}+\p{C} \p{Xan}+\P{L} \P{Xan}+\p{N} \p{Xan}+\P{C}/Bx,ucp
3603*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3604*22dc650dSSadaf Ebrahimi        Bra
3605*22dc650dSSadaf Ebrahimi        prop Xan +
3606*22dc650dSSadaf Ebrahimi        prop L
3607*22dc650dSSadaf Ebrahimi        prop Xan +
3608*22dc650dSSadaf Ebrahimi        prop N
3609*22dc650dSSadaf Ebrahimi        prop Xan ++
3610*22dc650dSSadaf Ebrahimi        prop C
3611*22dc650dSSadaf Ebrahimi        prop Xan +
3612*22dc650dSSadaf Ebrahimi        notprop L
3613*22dc650dSSadaf Ebrahimi        notprop Xan ++
3614*22dc650dSSadaf Ebrahimi        prop N
3615*22dc650dSSadaf Ebrahimi        prop Xan +
3616*22dc650dSSadaf Ebrahimi        notprop C
3617*22dc650dSSadaf Ebrahimi        Ket
3618*22dc650dSSadaf Ebrahimi        End
3619*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3620*22dc650dSSadaf Ebrahimi
3621*22dc650dSSadaf Ebrahimi/\p{L}+\p{Xan} \p{N}+\p{Xan} \p{C}+\p{Xan} \P{L}+\p{Xan} \p{N}+\p{Xan} \P{C}+\p{Xan} \p{L}+\P{Xan}/Bx,ucp
3622*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3623*22dc650dSSadaf Ebrahimi        Bra
3624*22dc650dSSadaf Ebrahimi        prop L +
3625*22dc650dSSadaf Ebrahimi        prop Xan
3626*22dc650dSSadaf Ebrahimi        prop N +
3627*22dc650dSSadaf Ebrahimi        prop Xan
3628*22dc650dSSadaf Ebrahimi        prop C ++
3629*22dc650dSSadaf Ebrahimi        prop Xan
3630*22dc650dSSadaf Ebrahimi        notprop L +
3631*22dc650dSSadaf Ebrahimi        prop Xan
3632*22dc650dSSadaf Ebrahimi        prop N +
3633*22dc650dSSadaf Ebrahimi        prop Xan
3634*22dc650dSSadaf Ebrahimi        notprop C +
3635*22dc650dSSadaf Ebrahimi        prop Xan
3636*22dc650dSSadaf Ebrahimi        prop L ++
3637*22dc650dSSadaf Ebrahimi        notprop Xan
3638*22dc650dSSadaf Ebrahimi        Ket
3639*22dc650dSSadaf Ebrahimi        End
3640*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3641*22dc650dSSadaf Ebrahimi
3642*22dc650dSSadaf Ebrahimi/\p{Xan}+\p{Lu} \p{Xan}+\p{Nd} \p{Xan}+\p{Cc} \p{Xan}+\P{Ll} \P{Xan}+\p{No} \p{Xan}+\P{Cf}/Bx,ucp
3643*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3644*22dc650dSSadaf Ebrahimi        Bra
3645*22dc650dSSadaf Ebrahimi        prop Xan +
3646*22dc650dSSadaf Ebrahimi        prop Lu
3647*22dc650dSSadaf Ebrahimi        prop Xan +
3648*22dc650dSSadaf Ebrahimi        prop Nd
3649*22dc650dSSadaf Ebrahimi        prop Xan ++
3650*22dc650dSSadaf Ebrahimi        prop Cc
3651*22dc650dSSadaf Ebrahimi        prop Xan +
3652*22dc650dSSadaf Ebrahimi        notprop Ll
3653*22dc650dSSadaf Ebrahimi        notprop Xan ++
3654*22dc650dSSadaf Ebrahimi        prop No
3655*22dc650dSSadaf Ebrahimi        prop Xan +
3656*22dc650dSSadaf Ebrahimi        notprop Cf
3657*22dc650dSSadaf Ebrahimi        Ket
3658*22dc650dSSadaf Ebrahimi        End
3659*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3660*22dc650dSSadaf Ebrahimi
3661*22dc650dSSadaf Ebrahimi/\p{Lu}+\p{Xan} \p{Nd}+\p{Xan} \p{Cs}+\p{Xan} \P{Lt}+\p{Xan} \p{Nl}+\p{Xan} \P{Cc}+\p{Xan} \p{Lt}+\P{Xan}/Bx,ucp
3662*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3663*22dc650dSSadaf Ebrahimi        Bra
3664*22dc650dSSadaf Ebrahimi        prop Lu +
3665*22dc650dSSadaf Ebrahimi        prop Xan
3666*22dc650dSSadaf Ebrahimi        prop Nd +
3667*22dc650dSSadaf Ebrahimi        prop Xan
3668*22dc650dSSadaf Ebrahimi        prop Cs ++
3669*22dc650dSSadaf Ebrahimi        prop Xan
3670*22dc650dSSadaf Ebrahimi        notprop Lt +
3671*22dc650dSSadaf Ebrahimi        prop Xan
3672*22dc650dSSadaf Ebrahimi        prop Nl +
3673*22dc650dSSadaf Ebrahimi        prop Xan
3674*22dc650dSSadaf Ebrahimi        notprop Cc +
3675*22dc650dSSadaf Ebrahimi        prop Xan
3676*22dc650dSSadaf Ebrahimi        prop Lt ++
3677*22dc650dSSadaf Ebrahimi        notprop Xan
3678*22dc650dSSadaf Ebrahimi        Ket
3679*22dc650dSSadaf Ebrahimi        End
3680*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3681*22dc650dSSadaf Ebrahimi
3682*22dc650dSSadaf Ebrahimi/\w+\p{P} \w+\p{Po} \w+\s \p{Xan}+\s \s+\p{Xan} \s+\w/Bx,ucp
3683*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3684*22dc650dSSadaf Ebrahimi        Bra
3685*22dc650dSSadaf Ebrahimi        prop Xwd +
3686*22dc650dSSadaf Ebrahimi        prop P
3687*22dc650dSSadaf Ebrahimi        prop Xwd +
3688*22dc650dSSadaf Ebrahimi        prop Po
3689*22dc650dSSadaf Ebrahimi        prop Xwd ++
3690*22dc650dSSadaf Ebrahimi        prop Xsp
3691*22dc650dSSadaf Ebrahimi        prop Xan ++
3692*22dc650dSSadaf Ebrahimi        prop Xsp
3693*22dc650dSSadaf Ebrahimi        prop Xsp ++
3694*22dc650dSSadaf Ebrahimi        prop Xan
3695*22dc650dSSadaf Ebrahimi        prop Xsp ++
3696*22dc650dSSadaf Ebrahimi        prop Xwd
3697*22dc650dSSadaf Ebrahimi        Ket
3698*22dc650dSSadaf Ebrahimi        End
3699*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3700*22dc650dSSadaf Ebrahimi
3701*22dc650dSSadaf Ebrahimi/\w+\P{P} \W+\p{Po} \w+\S \P{Xan}+\s \s+\P{Xan} \s+\W/Bx,ucp
3702*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3703*22dc650dSSadaf Ebrahimi        Bra
3704*22dc650dSSadaf Ebrahimi        prop Xwd +
3705*22dc650dSSadaf Ebrahimi        notprop P
3706*22dc650dSSadaf Ebrahimi        notprop Xwd +
3707*22dc650dSSadaf Ebrahimi        prop Po
3708*22dc650dSSadaf Ebrahimi        prop Xwd +
3709*22dc650dSSadaf Ebrahimi        notprop Xsp
3710*22dc650dSSadaf Ebrahimi        notprop Xan +
3711*22dc650dSSadaf Ebrahimi        prop Xsp
3712*22dc650dSSadaf Ebrahimi        prop Xsp +
3713*22dc650dSSadaf Ebrahimi        notprop Xan
3714*22dc650dSSadaf Ebrahimi        prop Xsp +
3715*22dc650dSSadaf Ebrahimi        notprop Xwd
3716*22dc650dSSadaf Ebrahimi        Ket
3717*22dc650dSSadaf Ebrahimi        End
3718*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3719*22dc650dSSadaf Ebrahimi
3720*22dc650dSSadaf Ebrahimi/\w+\p{Po} \w+\p{Pc} \W+\p{Po} \W+\p{Pc} \w+\P{Po} \w+\P{Pc}/Bx,ucp
3721*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3722*22dc650dSSadaf Ebrahimi        Bra
3723*22dc650dSSadaf Ebrahimi        prop Xwd +
3724*22dc650dSSadaf Ebrahimi        prop Po
3725*22dc650dSSadaf Ebrahimi        prop Xwd ++
3726*22dc650dSSadaf Ebrahimi        prop Pc
3727*22dc650dSSadaf Ebrahimi        notprop Xwd +
3728*22dc650dSSadaf Ebrahimi        prop Po
3729*22dc650dSSadaf Ebrahimi        notprop Xwd +
3730*22dc650dSSadaf Ebrahimi        prop Pc
3731*22dc650dSSadaf Ebrahimi        prop Xwd +
3732*22dc650dSSadaf Ebrahimi        notprop Po
3733*22dc650dSSadaf Ebrahimi        prop Xwd +
3734*22dc650dSSadaf Ebrahimi        notprop Pc
3735*22dc650dSSadaf Ebrahimi        Ket
3736*22dc650dSSadaf Ebrahimi        End
3737*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3738*22dc650dSSadaf Ebrahimi
3739*22dc650dSSadaf Ebrahimi/\p{Nl}+\p{Xan} \P{Nl}+\p{Xan} \p{Nl}+\P{Xan} \P{Nl}+\P{Xan}/Bx,ucp
3740*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3741*22dc650dSSadaf Ebrahimi        Bra
3742*22dc650dSSadaf Ebrahimi        prop Nl +
3743*22dc650dSSadaf Ebrahimi        prop Xan
3744*22dc650dSSadaf Ebrahimi        notprop Nl +
3745*22dc650dSSadaf Ebrahimi        prop Xan
3746*22dc650dSSadaf Ebrahimi        prop Nl ++
3747*22dc650dSSadaf Ebrahimi        notprop Xan
3748*22dc650dSSadaf Ebrahimi        notprop Nl +
3749*22dc650dSSadaf Ebrahimi        notprop Xan
3750*22dc650dSSadaf Ebrahimi        Ket
3751*22dc650dSSadaf Ebrahimi        End
3752*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3753*22dc650dSSadaf Ebrahimi
3754*22dc650dSSadaf Ebrahimi/\p{Xan}+\p{Nl} \P{Xan}+\p{Nl} \p{Xan}+\P{Nl} \P{Xan}+\P{Nl}/Bx,ucp
3755*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3756*22dc650dSSadaf Ebrahimi        Bra
3757*22dc650dSSadaf Ebrahimi        prop Xan +
3758*22dc650dSSadaf Ebrahimi        prop Nl
3759*22dc650dSSadaf Ebrahimi        notprop Xan ++
3760*22dc650dSSadaf Ebrahimi        prop Nl
3761*22dc650dSSadaf Ebrahimi        prop Xan +
3762*22dc650dSSadaf Ebrahimi        notprop Nl
3763*22dc650dSSadaf Ebrahimi        notprop Xan +
3764*22dc650dSSadaf Ebrahimi        notprop Nl
3765*22dc650dSSadaf Ebrahimi        Ket
3766*22dc650dSSadaf Ebrahimi        End
3767*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3768*22dc650dSSadaf Ebrahimi
3769*22dc650dSSadaf Ebrahimi/\p{Xan}+\p{Nd} \P{Xan}+\p{Nd} \p{Xan}+\P{Nd} \P{Xan}+\P{Nd}/Bx,ucp
3770*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3771*22dc650dSSadaf Ebrahimi        Bra
3772*22dc650dSSadaf Ebrahimi        prop Xan +
3773*22dc650dSSadaf Ebrahimi        prop Nd
3774*22dc650dSSadaf Ebrahimi        notprop Xan ++
3775*22dc650dSSadaf Ebrahimi        prop Nd
3776*22dc650dSSadaf Ebrahimi        prop Xan +
3777*22dc650dSSadaf Ebrahimi        notprop Nd
3778*22dc650dSSadaf Ebrahimi        notprop Xan +
3779*22dc650dSSadaf Ebrahimi        notprop Nd
3780*22dc650dSSadaf Ebrahimi        Ket
3781*22dc650dSSadaf Ebrahimi        End
3782*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3783*22dc650dSSadaf Ebrahimi
3784*22dc650dSSadaf Ebrahimi# End auto-possessification tests
3785*22dc650dSSadaf Ebrahimi
3786*22dc650dSSadaf Ebrahimi/\w+/B,utf,ucp,auto_callout
3787*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3788*22dc650dSSadaf Ebrahimi        Bra
3789*22dc650dSSadaf Ebrahimi        Callout 255 0 3
3790*22dc650dSSadaf Ebrahimi        prop Xwd ++
3791*22dc650dSSadaf Ebrahimi        Callout 255 3 0
3792*22dc650dSSadaf Ebrahimi        Ket
3793*22dc650dSSadaf Ebrahimi        End
3794*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3795*22dc650dSSadaf Ebrahimi    abcd
3796*22dc650dSSadaf Ebrahimi--->abcd
3797*22dc650dSSadaf Ebrahimi +0 ^        \w+
3798*22dc650dSSadaf Ebrahimi +3 ^   ^    End of pattern
3799*22dc650dSSadaf Ebrahimi 0: abcd
3800*22dc650dSSadaf Ebrahimi
3801*22dc650dSSadaf Ebrahimi/[\p{N}]?+/B,no_auto_possess
3802*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3803*22dc650dSSadaf Ebrahimi        Bra
3804*22dc650dSSadaf Ebrahimi        [\p{N}]?+
3805*22dc650dSSadaf Ebrahimi        Ket
3806*22dc650dSSadaf Ebrahimi        End
3807*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3808*22dc650dSSadaf Ebrahimi
3809*22dc650dSSadaf Ebrahimi/[\p{L}ab]{2,3}+/B,no_auto_possess
3810*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3811*22dc650dSSadaf Ebrahimi        Bra
3812*22dc650dSSadaf Ebrahimi        [ab\p{L}]{2,3}+
3813*22dc650dSSadaf Ebrahimi        Ket
3814*22dc650dSSadaf Ebrahimi        End
3815*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3816*22dc650dSSadaf Ebrahimi
3817*22dc650dSSadaf Ebrahimi/\D+\X \d+\X \S+\X \s+\X \W+\X \w+\X \R+\X \H+\X \h+\X \V+\X \v+\X a+\X \n+\X .+\X/Bx
3818*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3819*22dc650dSSadaf Ebrahimi        Bra
3820*22dc650dSSadaf Ebrahimi        \D+
3821*22dc650dSSadaf Ebrahimi        extuni
3822*22dc650dSSadaf Ebrahimi        \d+
3823*22dc650dSSadaf Ebrahimi        extuni
3824*22dc650dSSadaf Ebrahimi        \S+
3825*22dc650dSSadaf Ebrahimi        extuni
3826*22dc650dSSadaf Ebrahimi        \s+
3827*22dc650dSSadaf Ebrahimi        extuni
3828*22dc650dSSadaf Ebrahimi        \W+
3829*22dc650dSSadaf Ebrahimi        extuni
3830*22dc650dSSadaf Ebrahimi        \w+
3831*22dc650dSSadaf Ebrahimi        extuni
3832*22dc650dSSadaf Ebrahimi        \R+
3833*22dc650dSSadaf Ebrahimi        extuni
3834*22dc650dSSadaf Ebrahimi        \H+
3835*22dc650dSSadaf Ebrahimi        extuni
3836*22dc650dSSadaf Ebrahimi        \h+
3837*22dc650dSSadaf Ebrahimi        extuni
3838*22dc650dSSadaf Ebrahimi        \V+
3839*22dc650dSSadaf Ebrahimi        extuni
3840*22dc650dSSadaf Ebrahimi        \v+
3841*22dc650dSSadaf Ebrahimi        extuni
3842*22dc650dSSadaf Ebrahimi        a+
3843*22dc650dSSadaf Ebrahimi        extuni
3844*22dc650dSSadaf Ebrahimi        \x0a+
3845*22dc650dSSadaf Ebrahimi        extuni
3846*22dc650dSSadaf Ebrahimi        Any+
3847*22dc650dSSadaf Ebrahimi        extuni
3848*22dc650dSSadaf Ebrahimi        Ket
3849*22dc650dSSadaf Ebrahimi        End
3850*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3851*22dc650dSSadaf Ebrahimi
3852*22dc650dSSadaf Ebrahimi/.+\X/Bsx
3853*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3854*22dc650dSSadaf Ebrahimi        Bra
3855*22dc650dSSadaf Ebrahimi        AllAny+
3856*22dc650dSSadaf Ebrahimi        extuni
3857*22dc650dSSadaf Ebrahimi        Ket
3858*22dc650dSSadaf Ebrahimi        End
3859*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3860*22dc650dSSadaf Ebrahimi
3861*22dc650dSSadaf Ebrahimi/\X+$/Bmx
3862*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3863*22dc650dSSadaf Ebrahimi        Bra
3864*22dc650dSSadaf Ebrahimi        extuni+
3865*22dc650dSSadaf Ebrahimi     /m $
3866*22dc650dSSadaf Ebrahimi        Ket
3867*22dc650dSSadaf Ebrahimi        End
3868*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3869*22dc650dSSadaf Ebrahimi
3870*22dc650dSSadaf Ebrahimi/\X+\D \X+\d \X+\S \X+\s \X+\W \X+\w \X+. \X+\R \X+\H \X+\h \X+\V \X+\v \X+\X \X+\Z \X+\z \X+$/Bx
3871*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3872*22dc650dSSadaf Ebrahimi        Bra
3873*22dc650dSSadaf Ebrahimi        extuni+
3874*22dc650dSSadaf Ebrahimi        \D
3875*22dc650dSSadaf Ebrahimi        extuni+
3876*22dc650dSSadaf Ebrahimi        \d
3877*22dc650dSSadaf Ebrahimi        extuni+
3878*22dc650dSSadaf Ebrahimi        \S
3879*22dc650dSSadaf Ebrahimi        extuni+
3880*22dc650dSSadaf Ebrahimi        \s
3881*22dc650dSSadaf Ebrahimi        extuni+
3882*22dc650dSSadaf Ebrahimi        \W
3883*22dc650dSSadaf Ebrahimi        extuni+
3884*22dc650dSSadaf Ebrahimi        \w
3885*22dc650dSSadaf Ebrahimi        extuni+
3886*22dc650dSSadaf Ebrahimi        Any
3887*22dc650dSSadaf Ebrahimi        extuni+
3888*22dc650dSSadaf Ebrahimi        \R
3889*22dc650dSSadaf Ebrahimi        extuni+
3890*22dc650dSSadaf Ebrahimi        \H
3891*22dc650dSSadaf Ebrahimi        extuni+
3892*22dc650dSSadaf Ebrahimi        \h
3893*22dc650dSSadaf Ebrahimi        extuni+
3894*22dc650dSSadaf Ebrahimi        \V
3895*22dc650dSSadaf Ebrahimi        extuni+
3896*22dc650dSSadaf Ebrahimi        \v
3897*22dc650dSSadaf Ebrahimi        extuni+
3898*22dc650dSSadaf Ebrahimi        extuni
3899*22dc650dSSadaf Ebrahimi        extuni+
3900*22dc650dSSadaf Ebrahimi        \Z
3901*22dc650dSSadaf Ebrahimi        extuni++
3902*22dc650dSSadaf Ebrahimi        \z
3903*22dc650dSSadaf Ebrahimi        extuni+
3904*22dc650dSSadaf Ebrahimi        $
3905*22dc650dSSadaf Ebrahimi        Ket
3906*22dc650dSSadaf Ebrahimi        End
3907*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3908*22dc650dSSadaf Ebrahimi
3909*22dc650dSSadaf Ebrahimi/\d+\s{0,5}=\s*\S?=\w{0,4}\W*/B,utf,ucp
3910*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3911*22dc650dSSadaf Ebrahimi        Bra
3912*22dc650dSSadaf Ebrahimi        prop Nd ++
3913*22dc650dSSadaf Ebrahimi        prop Xsp {0,5}+
3914*22dc650dSSadaf Ebrahimi        =
3915*22dc650dSSadaf Ebrahimi        prop Xsp *+
3916*22dc650dSSadaf Ebrahimi        notprop Xsp ?
3917*22dc650dSSadaf Ebrahimi        =
3918*22dc650dSSadaf Ebrahimi        prop Xwd {0,4}+
3919*22dc650dSSadaf Ebrahimi        notprop Xwd *+
3920*22dc650dSSadaf Ebrahimi        Ket
3921*22dc650dSSadaf Ebrahimi        End
3922*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3923*22dc650dSSadaf Ebrahimi
3924*22dc650dSSadaf Ebrahimi/[RST]+/Bi,utf,ucp
3925*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3926*22dc650dSSadaf Ebrahimi        Bra
3927*22dc650dSSadaf Ebrahimi        [R-Tr-t\x{17f}]++
3928*22dc650dSSadaf Ebrahimi        Ket
3929*22dc650dSSadaf Ebrahimi        End
3930*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3931*22dc650dSSadaf Ebrahimi
3932*22dc650dSSadaf Ebrahimi/[R-T]+/Bi,utf,ucp
3933*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3934*22dc650dSSadaf Ebrahimi        Bra
3935*22dc650dSSadaf Ebrahimi        [R-Tr-t\x{17f}]++
3936*22dc650dSSadaf Ebrahimi        Ket
3937*22dc650dSSadaf Ebrahimi        End
3938*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3939*22dc650dSSadaf Ebrahimi
3940*22dc650dSSadaf Ebrahimi/[Q-U]+/Bi,utf,ucp
3941*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3942*22dc650dSSadaf Ebrahimi        Bra
3943*22dc650dSSadaf Ebrahimi        [Q-Uq-u\x{17f}]++
3944*22dc650dSSadaf Ebrahimi        Ket
3945*22dc650dSSadaf Ebrahimi        End
3946*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3947*22dc650dSSadaf Ebrahimi
3948*22dc650dSSadaf Ebrahimi/^s?c/Iim,utf
3949*22dc650dSSadaf EbrahimiCapture group count = 0
3950*22dc650dSSadaf EbrahimiOptions: caseless multiline utf
3951*22dc650dSSadaf EbrahimiFirst code unit at start or follows newline
3952*22dc650dSSadaf EbrahimiLast code unit = 'c' (caseless)
3953*22dc650dSSadaf EbrahimiSubject length lower bound = 1
3954*22dc650dSSadaf Ebrahimi    scat
3955*22dc650dSSadaf Ebrahimi 0: sc
3956*22dc650dSSadaf Ebrahimi
3957*22dc650dSSadaf Ebrahimi/\X?abc/utf,no_start_optimize
3958*22dc650dSSadaf Ebrahimi    \xff\x7f\x00\x00\x03\x00\x41\xcc\x80\x41\x{300}\x61\x62\x63\x00\=no_utf_check,offset=06
3959*22dc650dSSadaf Ebrahimi 0: A\x{300}abc
3960*22dc650dSSadaf Ebrahimi
3961*22dc650dSSadaf Ebrahimi/\x{100}\x{200}\K\x{300}/utf,startchar
3962*22dc650dSSadaf Ebrahimi    \x{100}\x{200}\x{300}
3963*22dc650dSSadaf Ebrahimi 0: \x{100}\x{200}\x{300}
3964*22dc650dSSadaf Ebrahimi    ^^^^^^^^^^^^^^
3965*22dc650dSSadaf Ebrahimi
3966*22dc650dSSadaf Ebrahimi# Test UTF characters in a substitution
3967*22dc650dSSadaf Ebrahimi
3968*22dc650dSSadaf Ebrahimibc/utf,replace=XሴZ
3969*22dc650dSSadaf Ebrahimi    123ábc123
3970*22dc650dSSadaf Ebrahimi 1: 123X\x{1234}Z123
3971*22dc650dSSadaf Ebrahimi
3972*22dc650dSSadaf Ebrahimi/(?<=abc)(|def)/g,utf,replace=<$0>
3973*22dc650dSSadaf Ebrahimi    123abcáyzabcdef789abcሴqr
3974*22dc650dSSadaf Ebrahimi 4: 123abc<>\x{e1}yzabc<><def>789abc<>\x{1234}qr
3975*22dc650dSSadaf Ebrahimi
3976*22dc650dSSadaf Ebrahimi/[A-`]/iB,utf
3977*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3978*22dc650dSSadaf Ebrahimi        Bra
3979*22dc650dSSadaf Ebrahimi        [A-z\x{212a}\x{17f}]
3980*22dc650dSSadaf Ebrahimi        Ket
3981*22dc650dSSadaf Ebrahimi        End
3982*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
3983*22dc650dSSadaf Ebrahimi    abcdefghijklmno
3984*22dc650dSSadaf Ebrahimi 0: a
3985*22dc650dSSadaf Ebrahimi
3986*22dc650dSSadaf Ebrahimi/(?<=\K\x{17f})/g,utf,aftertext,allow_lookaround_bsk
3987*22dc650dSSadaf Ebrahimi    \x{17f}\x{17f}\x{17f}\x{17f}\x{17f}
3988*22dc650dSSadaf Ebrahimi 0: \x{17f}
3989*22dc650dSSadaf Ebrahimi 0+ \x{17f}\x{17f}\x{17f}\x{17f}
3990*22dc650dSSadaf Ebrahimi 0: \x{17f}
3991*22dc650dSSadaf Ebrahimi 0+ \x{17f}\x{17f}\x{17f}
3992*22dc650dSSadaf Ebrahimi 0: \x{17f}
3993*22dc650dSSadaf Ebrahimi 0+ \x{17f}\x{17f}
3994*22dc650dSSadaf Ebrahimi 0: \x{17f}
3995*22dc650dSSadaf Ebrahimi 0+ \x{17f}
3996*22dc650dSSadaf Ebrahimi 0: \x{17f}
3997*22dc650dSSadaf Ebrahimi 0+
3998*22dc650dSSadaf Ebrahimi
3999*22dc650dSSadaf Ebrahimi/(?<=\K\x{17f})/altglobal,utf,aftertext,allow_lookaround_bsk
4000*22dc650dSSadaf Ebrahimi    \x{17f}\x{17f}\x{17f}\x{17f}\x{17f}
4001*22dc650dSSadaf Ebrahimi 0: \x{17f}
4002*22dc650dSSadaf Ebrahimi 0+ \x{17f}\x{17f}\x{17f}\x{17f}
4003*22dc650dSSadaf Ebrahimi 0: \x{17f}
4004*22dc650dSSadaf Ebrahimi 0+ \x{17f}\x{17f}\x{17f}
4005*22dc650dSSadaf Ebrahimi 0: \x{17f}
4006*22dc650dSSadaf Ebrahimi 0+ \x{17f}\x{17f}
4007*22dc650dSSadaf Ebrahimi 0: \x{17f}
4008*22dc650dSSadaf Ebrahimi 0+ \x{17f}
4009*22dc650dSSadaf Ebrahimi 0: \x{17f}
4010*22dc650dSSadaf Ebrahimi 0+
4011*22dc650dSSadaf Ebrahimi
4012*22dc650dSSadaf Ebrahimi"\xa\xf<(.\pZ*\P{Xwd}+^\xa8\3'3yq.::?(?J:()\xd1+!~:3'(8?:)':(?'d'(?'d'^u]!.+.+\\A\Ah(n+?9){7}+\K;(?'X'u'(?'c'(?'z'(?<y>\xb::\xf0'|\xd3(\xae?'w(z\x8?P>l)\x8?P>a)'\H\R\xd1+!!~:3'(?:h$N{26875}\W+?\\=D{2}\x89(?i:Uy0\N({2\xa(\v\x85*){y*\A(()\p{L}+?\P{^Xan}'+?\xff\+pS\?|).{;y*\A(()\p{L}+?\8}\d?1(|)(/1){7}.+[Lp{Me}].\s\xdcC*?(?(<y>))(?<!^)$C((;*?(R))+(\xbf(R))\x8a\X*?\x8a\xb\xd1^9\3*+(\xc1,\k'R'\xb4)\xcc(z\z(?J)(?'X'\x1b(\xb\xd1^9\?'3*+P{^Xan}+?\xff\+(\xc1.]k+\xb'Pm'\xb4)\xcc4f\xa7'\xd1V(?i:U,{2,2})'(?'X'))?-%--\x95$9*\4'|\xd1(\x9c''%\x94$9)#(?'R')3\x7?('P\xed7'\xa8\xb1^u\xeaw\1\0\0\(|(?1){7}.+[\p{Me}].\s\xdcC*^\x14?(?(<y>))(?<!^)$C((;*?(R*?))+(?(R)\x8a\X*?\x8a\xb\xd1^9\3*+|(\xc1,\k'R'\xb4)\xcc! z)\z(?JJ)(?'X';(\xb\xd1^9\?'3*+(\xc1.]k+\xb'Pm'\xb4))':(?'d')(?'RD'(d')|)|$)'|(?<x>\g{d});\g{x}\x11\g{d}\x81\|$((?'X'\'X'(?'W''\x92()'9'\x83*))\xba*\!?^ <){)':;\xcc4'\xd1'(?'X'28))?-%--\x95$9*\4'|\xd1((''e\x94*$9:)*#(?'R')3)\x7?('P\xed')\\x16:;()\x1e\x10*:(?<y>)\xd1+0!~:(?)'d'E:yD!\s(?'R'\x1e;\x10:U))|'\x9g!\xb0*){)\\x16:;()\x1e\x10\x87*:(?<y>)\xd1+!~:(?)'}'\d'E:yD!\s(?'R'\x1e;\x10:U))|'))|)g!\xb0*R+9{29+)#(?'P'})*?pS\{3,}\x85,{0,}l{*UTF)(\xe{7}){3722,{9,}d{2,?|))|{)\(A?&d}}{\xa,}2}){3,}7,l{)22}(,}l:7{2,4}}29\x19+)#?'P'})*v?))\x5"
4013*22dc650dSSadaf EbrahimiFailed: error 122 at offset 1227: unmatched closing parenthesis
4014*22dc650dSSadaf Ebrahimi
4015*22dc650dSSadaf Ebrahimi/$(&.+[\p{Me}].\s\xdcC*?(?(<y>))(?<!^)$C((;*?(R))+(?(R)){0,6}?|){12\x8a\X*?\x8a\x0b\xd1^9\3*+(\xc1,\k'P'\xb4)\xcc(z\z(?JJ)(?'X'8};(\x0b\xd1^9\?'3*+(\xc1.]k+\x0b'Pm'\xb4\xcc4'\xd1'(?'X'))?-%--\x95$9*\4'|\xd1(''%\x95*$9)#(?'R')3\x07?('P\xed')\\x16:;()\x1e\x10*:(?<y>)\xd1+!~:(?)''(d'E:yD!\s(?'R'\x1e;\x10:U))|')g!\xb0*){29+))#(?'P'})*?/
4016*22dc650dSSadaf Ebrahimi
4017*22dc650dSSadaf Ebrahimi"(*UTF)(*UCP)(.UTF).+X(\V+;\^(\D|)!999}(?(?C{7(?C')\H*\S*/^\x5\xa\\xd3\x85n?(;\D*(?m).[^mH+((*UCP)(*U:F)})(?!^)(?'"
4018*22dc650dSSadaf EbrahimiFailed: error 162 at offset 113: subpattern name expected
4019*22dc650dSSadaf Ebrahimi
4020*22dc650dSSadaf Ebrahimi/[\pS#moq]/
4021*22dc650dSSadaf Ebrahimi    =
4022*22dc650dSSadaf Ebrahimi 0: =
4023*22dc650dSSadaf Ebrahimi
4024*22dc650dSSadaf Ebrahimi/(*:a\x{12345}b\t(d\)c)xxx/utf,alt_verbnames,mark
4025*22dc650dSSadaf Ebrahimi    cxxxz
4026*22dc650dSSadaf Ebrahimi 0: xxx
4027*22dc650dSSadaf EbrahimiMK: a\x{12345}b\x{09}(d)c
4028*22dc650dSSadaf Ebrahimi
4029*22dc650dSSadaf Ebrahimi/abcd/utf,replace=x\x{824}y\o{3333}z(\Q12\$34$$\x34\E5$$),substitute_extended
4030*22dc650dSSadaf Ebrahimi    abcd
4031*22dc650dSSadaf Ebrahimi 1: x\x{824}y\x{6db}z(12\$34$$\x345$)
4032*22dc650dSSadaf Ebrahimi
4033*22dc650dSSadaf Ebrahimi/a(\x{e0}\x{101})(\x{c0}\x{102})/utf,replace=a\u$1\U$1\E$1\l$2\L$2\Eab\U\x{e0}\x{101}\L\x{d0}\x{160}\EDone,substitute_extended
4034*22dc650dSSadaf Ebrahimi    a\x{e0}\x{101}\x{c0}\x{102}
4035*22dc650dSSadaf Ebrahimi 1: a\x{c0}\x{101}\x{c0}\x{100}\x{e0}\x{101}\x{e0}\x{102}\x{e0}\x{103}ab\x{c0}\x{100}\x{f0}\x{161}Done
4036*22dc650dSSadaf Ebrahimi
4037*22dc650dSSadaf Ebrahimi/((?<digit>\d)|(?<letter>\p{L}))/g,substitute_extended,replace=<${digit:+digit; :not digit; }${letter:+letter:not a letter}>
4038*22dc650dSSadaf Ebrahimi    ab12cde
4039*22dc650dSSadaf Ebrahimi 7: <not digit; letter><not digit; letter><digit; not a letter><digit; not a letter><not digit; letter><not digit; letter><not digit; letter>
4040*22dc650dSSadaf Ebrahimi
4041*22dc650dSSadaf Ebrahimi/(*UCP)(*UTF)[[:>:]]X/B
4042*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4043*22dc650dSSadaf Ebrahimi        Bra
4044*22dc650dSSadaf Ebrahimi        \b (ucp)
4045*22dc650dSSadaf Ebrahimi        Assert back
4046*22dc650dSSadaf Ebrahimi        Reverse
4047*22dc650dSSadaf Ebrahimi        prop Xwd
4048*22dc650dSSadaf Ebrahimi        Ket
4049*22dc650dSSadaf Ebrahimi        X
4050*22dc650dSSadaf Ebrahimi        Ket
4051*22dc650dSSadaf Ebrahimi        End
4052*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4053*22dc650dSSadaf Ebrahimi
4054*22dc650dSSadaf Ebrahimi/abc/utf,replace=xyz
4055*22dc650dSSadaf Ebrahimi    abc\=zero_terminate
4056*22dc650dSSadaf Ebrahimi 1: xyz
4057*22dc650dSSadaf Ebrahimi
4058*22dc650dSSadaf Ebrahimi/a[[:punct:]b]/ucp,bincode
4059*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4060*22dc650dSSadaf Ebrahimi        Bra
4061*22dc650dSSadaf Ebrahimi        a
4062*22dc650dSSadaf Ebrahimi        [b[:punct:]]
4063*22dc650dSSadaf Ebrahimi        Ket
4064*22dc650dSSadaf Ebrahimi        End
4065*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4066*22dc650dSSadaf Ebrahimi
4067*22dc650dSSadaf Ebrahimi/a[[:punct:]b]/utf,ucp,bincode
4068*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4069*22dc650dSSadaf Ebrahimi        Bra
4070*22dc650dSSadaf Ebrahimi        a
4071*22dc650dSSadaf Ebrahimi        [b[:punct:]]
4072*22dc650dSSadaf Ebrahimi        Ket
4073*22dc650dSSadaf Ebrahimi        End
4074*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4075*22dc650dSSadaf Ebrahimi
4076*22dc650dSSadaf Ebrahimi/a[b[:punct:]]/utf,ucp,bincode
4077*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4078*22dc650dSSadaf Ebrahimi        Bra
4079*22dc650dSSadaf Ebrahimi        a
4080*22dc650dSSadaf Ebrahimi        [b[:punct:]]
4081*22dc650dSSadaf Ebrahimi        Ket
4082*22dc650dSSadaf Ebrahimi        End
4083*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4084*22dc650dSSadaf Ebrahimi
4085*22dc650dSSadaf Ebrahimi/[[:^ascii:]]/utf,ucp,bincode
4086*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4087*22dc650dSSadaf Ebrahimi        Bra
4088*22dc650dSSadaf Ebrahimi        [\x80-\xff] (neg)
4089*22dc650dSSadaf Ebrahimi        Ket
4090*22dc650dSSadaf Ebrahimi        End
4091*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4092*22dc650dSSadaf Ebrahimi
4093*22dc650dSSadaf Ebrahimi/[[:^ascii:]\w]/utf,ucp,bincode
4094*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4095*22dc650dSSadaf Ebrahimi        Bra
4096*22dc650dSSadaf Ebrahimi        [\x80-\xff\p{Xwd}\x{100}-\x{10ffff}]
4097*22dc650dSSadaf Ebrahimi        Ket
4098*22dc650dSSadaf Ebrahimi        End
4099*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4100*22dc650dSSadaf Ebrahimi
4101*22dc650dSSadaf Ebrahimi/[\w[:^ascii:]]/utf,ucp,bincode
4102*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4103*22dc650dSSadaf Ebrahimi        Bra
4104*22dc650dSSadaf Ebrahimi        [\x80-\xff\p{Xwd}\x{100}-\x{10ffff}]
4105*22dc650dSSadaf Ebrahimi        Ket
4106*22dc650dSSadaf Ebrahimi        End
4107*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4108*22dc650dSSadaf Ebrahimi
4109*22dc650dSSadaf Ebrahimi/[^[:ascii:]\W]/utf,ucp,bincode
4110*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4111*22dc650dSSadaf Ebrahimi        Bra
4112*22dc650dSSadaf Ebrahimi        [^\x00-\x7f\P{Xwd}]
4113*22dc650dSSadaf Ebrahimi        Ket
4114*22dc650dSSadaf Ebrahimi        End
4115*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4116*22dc650dSSadaf Ebrahimi    \x{de}
4117*22dc650dSSadaf Ebrahimi 0: \x{de}
4118*22dc650dSSadaf Ebrahimi    \x{200}
4119*22dc650dSSadaf Ebrahimi 0: \x{200}
4120*22dc650dSSadaf Ebrahimi\= Expect no match
4121*22dc650dSSadaf Ebrahimi    \x{589}
4122*22dc650dSSadaf EbrahimiNo match
4123*22dc650dSSadaf Ebrahimi    \x{37e}
4124*22dc650dSSadaf EbrahimiNo match
4125*22dc650dSSadaf Ebrahimi
4126*22dc650dSSadaf Ebrahimi/[[:^ascii:]a]/utf,ucp,bincode
4127*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4128*22dc650dSSadaf Ebrahimi        Bra
4129*22dc650dSSadaf Ebrahimi        [a\x80-\xff] (neg)
4130*22dc650dSSadaf Ebrahimi        Ket
4131*22dc650dSSadaf Ebrahimi        End
4132*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4133*22dc650dSSadaf Ebrahimi
4134*22dc650dSSadaf Ebrahimi/L(?#(|++<!(2)?/B,utf,no_auto_possess,auto_callout
4135*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4136*22dc650dSSadaf Ebrahimi        Bra
4137*22dc650dSSadaf Ebrahimi        Callout 255 0 14
4138*22dc650dSSadaf Ebrahimi        L?
4139*22dc650dSSadaf Ebrahimi        Callout 255 14 0
4140*22dc650dSSadaf Ebrahimi        Ket
4141*22dc650dSSadaf Ebrahimi        End
4142*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4143*22dc650dSSadaf Ebrahimi
4144*22dc650dSSadaf Ebrahimi/L(?#(|++<!(2)?/B,utf,ucp,auto_callout
4145*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4146*22dc650dSSadaf Ebrahimi        Bra
4147*22dc650dSSadaf Ebrahimi        Callout 255 0 14
4148*22dc650dSSadaf Ebrahimi        L?+
4149*22dc650dSSadaf Ebrahimi        Callout 255 14 0
4150*22dc650dSSadaf Ebrahimi        Ket
4151*22dc650dSSadaf Ebrahimi        End
4152*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4153*22dc650dSSadaf Ebrahimi
4154*22dc650dSSadaf Ebrahimi/(*UTF)C\x09((?<!'(?x)!*H? #\xcc\x9a[^$]/
4155*22dc650dSSadaf EbrahimiFailed: error 114 at offset 39: missing closing parenthesis
4156*22dc650dSSadaf Ebrahimi
4157*22dc650dSSadaf Ebrahimi/[\D]/utf
4158*22dc650dSSadaf Ebrahimi    \x{1d7cf}
4159*22dc650dSSadaf Ebrahimi 0: \x{1d7cf}
4160*22dc650dSSadaf Ebrahimi
4161*22dc650dSSadaf Ebrahimi/[\D\P{Nd}]/utf
4162*22dc650dSSadaf Ebrahimi    \x{1d7cf}
4163*22dc650dSSadaf Ebrahimi 0: \x{1d7cf}
4164*22dc650dSSadaf Ebrahimi
4165*22dc650dSSadaf Ebrahimi/[^\D]/utf
4166*22dc650dSSadaf Ebrahimi    a9b
4167*22dc650dSSadaf Ebrahimi 0: 9
4168*22dc650dSSadaf Ebrahimi\= Expect no match
4169*22dc650dSSadaf Ebrahimi    \x{1d7cf}
4170*22dc650dSSadaf EbrahimiNo match
4171*22dc650dSSadaf Ebrahimi
4172*22dc650dSSadaf Ebrahimi/[^\D\P{Nd}]/utf
4173*22dc650dSSadaf Ebrahimi    a9b
4174*22dc650dSSadaf Ebrahimi 0: 9
4175*22dc650dSSadaf Ebrahimi    \x{1d7cf}
4176*22dc650dSSadaf Ebrahimi 0: \x{1d7cf}
4177*22dc650dSSadaf Ebrahimi\= Expect no match
4178*22dc650dSSadaf Ebrahimi    \x{10000}
4179*22dc650dSSadaf EbrahimiNo match
4180*22dc650dSSadaf Ebrahimi
4181*22dc650dSSadaf Ebrahimi# Hex uses pattern length, not zero-terminated. This tests for overrunning
4182*22dc650dSSadaf Ebrahimi# the given length of a pattern.
4183*22dc650dSSadaf Ebrahimi
4184*22dc650dSSadaf Ebrahimi/'(*UTF)'/hex
4185*22dc650dSSadaf Ebrahimi
4186*22dc650dSSadaf Ebrahimi/'#('/hex,extended,utf
4187*22dc650dSSadaf Ebrahimi
4188*22dc650dSSadaf Ebrahimi/a(?<=A\XB)/utf
4189*22dc650dSSadaf EbrahimiFailed: error 125 at offset 1: length of lookbehind assertion is not limited
4190*22dc650dSSadaf Ebrahimi
4191*22dc650dSSadaf Ebrahimi/../utf,auto_callout
4192*22dc650dSSadaf Ebrahimi    \n\x{123}\x{123}\x{123}\x{123}
4193*22dc650dSSadaf Ebrahimi--->\x{0a}\x{123}\x{123}\x{123}\x{123}
4194*22dc650dSSadaf Ebrahimi +0 ^                                      .
4195*22dc650dSSadaf Ebrahimi +0       ^                                .
4196*22dc650dSSadaf Ebrahimi +1       ^      ^                         .
4197*22dc650dSSadaf Ebrahimi +2       ^             ^                  End of pattern
4198*22dc650dSSadaf Ebrahimi 0: \x{123}\x{123}
4199*22dc650dSSadaf Ebrahimi
4200*22dc650dSSadaf Ebrahimi# This tests processing wide characters in extended mode.
4201*22dc650dSSadaf Ebrahimi
4202*22dc650dSSadaf Ebrahimi/XȀ/x,utf
4203*22dc650dSSadaf Ebrahimi
4204*22dc650dSSadaf Ebrahimi# These three test a bug fix that was not clearing up after a locale setting
4205*22dc650dSSadaf Ebrahimi# when the test or a subsequent one matched a wide character.
4206*22dc650dSSadaf Ebrahimi
4207*22dc650dSSadaf Ebrahimi//locale=C
4208*22dc650dSSadaf Ebrahimi
4209*22dc650dSSadaf Ebrahimi/[\P{Yi}]/utf
4210*22dc650dSSadaf Ebrahimi\x{2f000}
4211*22dc650dSSadaf Ebrahimi 0: \x{2f000}
4212*22dc650dSSadaf Ebrahimi
4213*22dc650dSSadaf Ebrahimi/[\P{Yi}]/utf,locale=C
4214*22dc650dSSadaf Ebrahimi\x{2f000}
4215*22dc650dSSadaf Ebrahimi 0: \x{2f000}
4216*22dc650dSSadaf Ebrahimi
4217*22dc650dSSadaf Ebrahimi/^(?<!(?=��))/B,utf
4218*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4219*22dc650dSSadaf Ebrahimi        Bra
4220*22dc650dSSadaf Ebrahimi        ^
4221*22dc650dSSadaf Ebrahimi        Assert back not
4222*22dc650dSSadaf Ebrahimi        Assert
4223*22dc650dSSadaf Ebrahimi        \x{10385c}
4224*22dc650dSSadaf Ebrahimi        Ket
4225*22dc650dSSadaf Ebrahimi        Ket
4226*22dc650dSSadaf Ebrahimi        Ket
4227*22dc650dSSadaf Ebrahimi        End
4228*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4229*22dc650dSSadaf Ebrahimi
4230*22dc650dSSadaf Ebrahimi# Horizontal and vertical space lists ignore caseless
4231*22dc650dSSadaf Ebrahimi
4232*22dc650dSSadaf Ebrahimi/[\HH]/Bi,utf
4233*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4234*22dc650dSSadaf Ebrahimi        Bra
4235*22dc650dSSadaf Ebrahimi        [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}]
4236*22dc650dSSadaf Ebrahimi        Ket
4237*22dc650dSSadaf Ebrahimi        End
4238*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4239*22dc650dSSadaf Ebrahimi
4240*22dc650dSSadaf Ebrahimi/[^\HH]/Bi,utf
4241*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4242*22dc650dSSadaf Ebrahimi        Bra
4243*22dc650dSSadaf Ebrahimi        [^\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}]
4244*22dc650dSSadaf Ebrahimi        Ket
4245*22dc650dSSadaf Ebrahimi        End
4246*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4247*22dc650dSSadaf Ebrahimi
4248*22dc650dSSadaf Ebrahimi//g,utf
4249*22dc650dSSadaf Ebrahimi    \=zero_terminate
4250*22dc650dSSadaf Ebrahimi 0:
4251*22dc650dSSadaf Ebrahimi
4252*22dc650dSSadaf Ebrahimi/^(?1)\p{Nd}{3}(a)/
4253*22dc650dSSadaf Ebrahimi    a123a
4254*22dc650dSSadaf Ebrahimi 0: a123a
4255*22dc650dSSadaf Ebrahimi 1: a
4256*22dc650dSSadaf Ebrahimi
4257*22dc650dSSadaf Ebrahimi/\p{Nd}{0,3}[\pL](*:abc)(?C1)xxx/callout_info
4258*22dc650dSSadaf EbrahimiCallout 1  x
4259*22dc650dSSadaf Ebrahimi
4260*22dc650dSSadaf Ebrahimi# ---------------------------------------------------------------------------
4261*22dc650dSSadaf Ebrahimi
4262*22dc650dSSadaf Ebrahimi# A bunch of tests that hit lines of code that others do not (at least when
4263*22dc650dSSadaf Ebrahimi# these were created).
4264*22dc650dSSadaf Ebrahimi
4265*22dc650dSSadaf Ebrahimi/^[^a]{3,}?x/i,utf,no_start_optimize,no_auto_possess
4266*22dc650dSSadaf Ebrahimi\= Expect no match
4267*22dc650dSSadaf Ebrahimi    bbb
4268*22dc650dSSadaf EbrahimiNo match
4269*22dc650dSSadaf Ebrahimi    cc
4270*22dc650dSSadaf EbrahimiNo match
4271*22dc650dSSadaf Ebrahimi
4272*22dc650dSSadaf Ebrahimi/^[ac]{3,}?x/i,utf,no_start_optimize,no_auto_possess
4273*22dc650dSSadaf Ebrahimi\= Expect no match
4274*22dc650dSSadaf Ebrahimi    aaa\x{100}
4275*22dc650dSSadaf EbrahimiNo match
4276*22dc650dSSadaf Ebrahimi
4277*22dc650dSSadaf Ebrahimi/^X\X/no_start_optimize,no_auto_possess
4278*22dc650dSSadaf Ebrahimi\= Expect no match
4279*22dc650dSSadaf Ebrahimi    X
4280*22dc650dSSadaf EbrahimiNo match
4281*22dc650dSSadaf Ebrahimi
4282*22dc650dSSadaf Ebrahimi/^X\p{L&}+?/no_start_optimize,no_auto_possess
4283*22dc650dSSadaf Ebrahimi\= Expect no match
4284*22dc650dSSadaf Ebrahimi    X
4285*22dc650dSSadaf EbrahimiNo match
4286*22dc650dSSadaf Ebrahimi
4287*22dc650dSSadaf Ebrahimi/^X\p{L}+?/no_start_optimize,no_auto_possess
4288*22dc650dSSadaf Ebrahimi\= Expect no match
4289*22dc650dSSadaf Ebrahimi    X
4290*22dc650dSSadaf EbrahimiNo match
4291*22dc650dSSadaf Ebrahimi
4292*22dc650dSSadaf Ebrahimi/^X\p{Lu}+?/no_start_optimize,no_auto_possess
4293*22dc650dSSadaf Ebrahimi\= Expect no match
4294*22dc650dSSadaf Ebrahimi    X
4295*22dc650dSSadaf EbrahimiNo match
4296*22dc650dSSadaf Ebrahimi
4297*22dc650dSSadaf Ebrahimi/^X\p{Arabic}+?/no_start_optimize,no_auto_possess
4298*22dc650dSSadaf Ebrahimi\= Expect no match
4299*22dc650dSSadaf Ebrahimi    X
4300*22dc650dSSadaf EbrahimiNo match
4301*22dc650dSSadaf Ebrahimi
4302*22dc650dSSadaf Ebrahimi/^X\p{Xan}+?/ucp,no_start_optimize,no_auto_possess
4303*22dc650dSSadaf Ebrahimi\= Expect no match
4304*22dc650dSSadaf Ebrahimi    X
4305*22dc650dSSadaf EbrahimiNo match
4306*22dc650dSSadaf Ebrahimi
4307*22dc650dSSadaf Ebrahimi/^X\s+?/ucp,no_start_optimize,no_auto_possess
4308*22dc650dSSadaf Ebrahimi\= Expect no match
4309*22dc650dSSadaf Ebrahimi    X
4310*22dc650dSSadaf EbrahimiNo match
4311*22dc650dSSadaf Ebrahimi    XX
4312*22dc650dSSadaf EbrahimiNo match
4313*22dc650dSSadaf Ebrahimi
4314*22dc650dSSadaf Ebrahimi/^X\S+?/ucp,no_start_optimize,no_auto_possess
4315*22dc650dSSadaf Ebrahimi    XX
4316*22dc650dSSadaf Ebrahimi 0: XX
4317*22dc650dSSadaf Ebrahimi\= Expect no match
4318*22dc650dSSadaf Ebrahimi    X
4319*22dc650dSSadaf EbrahimiNo match
4320*22dc650dSSadaf Ebrahimi
4321*22dc650dSSadaf Ebrahimi/^X\w+?/ucp,no_start_optimize,no_auto_possess
4322*22dc650dSSadaf Ebrahimi\= Expect no match
4323*22dc650dSSadaf Ebrahimi    X
4324*22dc650dSSadaf EbrahimiNo match
4325*22dc650dSSadaf Ebrahimi
4326*22dc650dSSadaf Ebrahimi/^X[^\x{b5}]+?/i,utf,no_start_optimize,no_auto_possess
4327*22dc650dSSadaf Ebrahimi\= Expect no match
4328*22dc650dSSadaf Ebrahimi    X
4329*22dc650dSSadaf EbrahimiNo match
4330*22dc650dSSadaf Ebrahimi
4331*22dc650dSSadaf Ebrahimi/^X[\x{b5}]+?/i,utf,no_start_optimize,no_auto_possess
4332*22dc650dSSadaf Ebrahimi\= Expect no match
4333*22dc650dSSadaf Ebrahimi    X
4334*22dc650dSSadaf EbrahimiNo match
4335*22dc650dSSadaf Ebrahimi
4336*22dc650dSSadaf Ebrahimi/^X\p{Xuc}+?/utf,no_start_optimize,no_auto_possess
4337*22dc650dSSadaf Ebrahimi\= Expect no match
4338*22dc650dSSadaf Ebrahimi    X
4339*22dc650dSSadaf EbrahimiNo match
4340*22dc650dSSadaf Ebrahimi
4341*22dc650dSSadaf Ebrahimi/^X.+?Z/s,utf,no_start_optimize,no_auto_possess
4342*22dc650dSSadaf Ebrahimi\= Expect no match
4343*22dc650dSSadaf Ebrahimi    X
4344*22dc650dSSadaf EbrahimiNo match
4345*22dc650dSSadaf Ebrahimi
4346*22dc650dSSadaf Ebrahimi/^X\R+?/utf,no_start_optimize,no_auto_possess
4347*22dc650dSSadaf Ebrahimi\= Expect no match
4348*22dc650dSSadaf Ebrahimi    X
4349*22dc650dSSadaf EbrahimiNo match
4350*22dc650dSSadaf Ebrahimi
4351*22dc650dSSadaf Ebrahimi/^X\H+?/utf,no_start_optimize,no_auto_possess
4352*22dc650dSSadaf Ebrahimi\= Expect no match
4353*22dc650dSSadaf Ebrahimi    X
4354*22dc650dSSadaf EbrahimiNo match
4355*22dc650dSSadaf Ebrahimi
4356*22dc650dSSadaf Ebrahimi/^X\V+?/utf,no_start_optimize,no_auto_possess
4357*22dc650dSSadaf Ebrahimi\= Expect no match
4358*22dc650dSSadaf Ebrahimi    X
4359*22dc650dSSadaf EbrahimiNo match
4360*22dc650dSSadaf Ebrahimi
4361*22dc650dSSadaf Ebrahimi/^X\s+?/utf,no_start_optimize,no_auto_possess
4362*22dc650dSSadaf Ebrahimi\= Expect no match
4363*22dc650dSSadaf Ebrahimi    X
4364*22dc650dSSadaf EbrahimiNo match
4365*22dc650dSSadaf Ebrahimi    XX
4366*22dc650dSSadaf EbrahimiNo match
4367*22dc650dSSadaf Ebrahimi
4368*22dc650dSSadaf Ebrahimi/^X\S+?/utf,no_start_optimize,no_auto_possess
4369*22dc650dSSadaf Ebrahimi\= Expect no match
4370*22dc650dSSadaf Ebrahimi    X
4371*22dc650dSSadaf EbrahimiNo match
4372*22dc650dSSadaf Ebrahimi
4373*22dc650dSSadaf Ebrahimi/^X\p{Any}{1,3}?Z/s,no_start_optimize,no_auto_possess
4374*22dc650dSSadaf Ebrahimi    XYYYZ
4375*22dc650dSSadaf Ebrahimi 0: XYYYZ
4376*22dc650dSSadaf Ebrahimi\= Expect no match
4377*22dc650dSSadaf Ebrahimi    XY
4378*22dc650dSSadaf EbrahimiNo match
4379*22dc650dSSadaf Ebrahimi    XYY
4380*22dc650dSSadaf EbrahimiNo match
4381*22dc650dSSadaf Ebrahimi    XYYY
4382*22dc650dSSadaf EbrahimiNo match
4383*22dc650dSSadaf Ebrahimi    XYYYYZ
4384*22dc650dSSadaf EbrahimiNo match
4385*22dc650dSSadaf Ebrahimi
4386*22dc650dSSadaf Ebrahimi/^X\p{L&}{1,3}?Z/s,no_start_optimize,no_auto_possess
4387*22dc650dSSadaf Ebrahimi\= Expect no match
4388*22dc650dSSadaf Ebrahimi    XY
4389*22dc650dSSadaf EbrahimiNo match
4390*22dc650dSSadaf Ebrahimi    XY!
4391*22dc650dSSadaf EbrahimiNo match
4392*22dc650dSSadaf Ebrahimi
4393*22dc650dSSadaf Ebrahimi/^X\p{L}{1,3}?Z/s,no_start_optimize,no_auto_possess
4394*22dc650dSSadaf Ebrahimi\= Expect no match
4395*22dc650dSSadaf Ebrahimi    XY
4396*22dc650dSSadaf EbrahimiNo match
4397*22dc650dSSadaf Ebrahimi    XY!
4398*22dc650dSSadaf EbrahimiNo match
4399*22dc650dSSadaf Ebrahimi
4400*22dc650dSSadaf Ebrahimi/^X\p{Lu}{1,3}?Z/s,no_start_optimize,no_auto_possess
4401*22dc650dSSadaf Ebrahimi\= Expect no match
4402*22dc650dSSadaf Ebrahimi    XY
4403*22dc650dSSadaf EbrahimiNo match
4404*22dc650dSSadaf Ebrahimi    XY!
4405*22dc650dSSadaf EbrahimiNo match
4406*22dc650dSSadaf Ebrahimi
4407*22dc650dSSadaf Ebrahimi/^X\P{Han}{1,3}?Z/s,utf,no_start_optimize,no_auto_possess
4408*22dc650dSSadaf Ebrahimi\= Expect no match
4409*22dc650dSSadaf Ebrahimi    XY
4410*22dc650dSSadaf EbrahimiNo match
4411*22dc650dSSadaf Ebrahimi    XY!
4412*22dc650dSSadaf EbrahimiNo match
4413*22dc650dSSadaf Ebrahimi    XY\x{2f00}!
4414*22dc650dSSadaf EbrahimiNo match
4415*22dc650dSSadaf Ebrahimi
4416*22dc650dSSadaf Ebrahimi/^X\p{Xan}{1,3}?Z/s,no_start_optimize,no_auto_possess
4417*22dc650dSSadaf Ebrahimi\= Expect no match
4418*22dc650dSSadaf Ebrahimi    XY
4419*22dc650dSSadaf EbrahimiNo match
4420*22dc650dSSadaf Ebrahimi    XY!
4421*22dc650dSSadaf EbrahimiNo match
4422*22dc650dSSadaf Ebrahimi
4423*22dc650dSSadaf Ebrahimi/^X\p{Xsp}{1,3}?Z/s,no_start_optimize,no_auto_possess
4424*22dc650dSSadaf Ebrahimi\= Expect no match
4425*22dc650dSSadaf Ebrahimi    X\n
4426*22dc650dSSadaf EbrahimiNo match
4427*22dc650dSSadaf Ebrahimi    X\n!
4428*22dc650dSSadaf EbrahimiNo match
4429*22dc650dSSadaf Ebrahimi    X\n\n!
4430*22dc650dSSadaf EbrahimiNo match
4431*22dc650dSSadaf Ebrahimi
4432*22dc650dSSadaf Ebrahimi/^X\P{Xsp}{1,3}?Z/s,no_start_optimize,no_auto_possess
4433*22dc650dSSadaf Ebrahimi\= Expect no match
4434*22dc650dSSadaf Ebrahimi    XYY\n
4435*22dc650dSSadaf EbrahimiNo match
4436*22dc650dSSadaf Ebrahimi
4437*22dc650dSSadaf Ebrahimi/^X\p{Xwd}{1,3}?Z/s,no_start_optimize,no_auto_possess
4438*22dc650dSSadaf Ebrahimi\= Expect no match
4439*22dc650dSSadaf Ebrahimi    XY
4440*22dc650dSSadaf EbrahimiNo match
4441*22dc650dSSadaf Ebrahimi    XY!
4442*22dc650dSSadaf EbrahimiNo match
4443*22dc650dSSadaf Ebrahimi    XYY!
4444*22dc650dSSadaf EbrahimiNo match
4445*22dc650dSSadaf Ebrahimi
4446*22dc650dSSadaf Ebrahimi/^X\x{b5}+?Z/i,utf,no_start_optimize,no_auto_possess
4447*22dc650dSSadaf Ebrahimi\= Expect no match
4448*22dc650dSSadaf Ebrahimi    X
4449*22dc650dSSadaf EbrahimiNo match
4450*22dc650dSSadaf Ebrahimi    X\x{b5}
4451*22dc650dSSadaf EbrahimiNo match
4452*22dc650dSSadaf Ebrahimi    X\x{b5}\x{b5}Y
4453*22dc650dSSadaf EbrahimiNo match
4454*22dc650dSSadaf Ebrahimi
4455*22dc650dSSadaf Ebrahimi/^X\p{Xuc}+?Z/utf,no_start_optimize,no_auto_possess
4456*22dc650dSSadaf Ebrahimi\= Expect no match
4457*22dc650dSSadaf Ebrahimi    X
4458*22dc650dSSadaf EbrahimiNo match
4459*22dc650dSSadaf Ebrahimi    X$
4460*22dc650dSSadaf EbrahimiNo match
4461*22dc650dSSadaf Ebrahimi    X@@Y
4462*22dc650dSSadaf EbrahimiNo match
4463*22dc650dSSadaf Ebrahimi
4464*22dc650dSSadaf Ebrahimi/(*CRLF)^X.+?Z/utf,no_start_optimize,no_auto_possess
4465*22dc650dSSadaf Ebrahimi\= Expect partial match
4466*22dc650dSSadaf Ebrahimi    XYY\r\=ph
4467*22dc650dSSadaf EbrahimiPartial match: XYY\x{0d}
4468*22dc650dSSadaf Ebrahimi\= Expect no match
4469*22dc650dSSadaf Ebrahimi    X
4470*22dc650dSSadaf EbrahimiNo match
4471*22dc650dSSadaf Ebrahimi
4472*22dc650dSSadaf Ebrahimi/^X.+?Z/s,utf,no_start_optimize,no_auto_possess
4473*22dc650dSSadaf Ebrahimi\= Expect no match
4474*22dc650dSSadaf Ebrahimi    X
4475*22dc650dSSadaf EbrahimiNo match
4476*22dc650dSSadaf Ebrahimi    XYY
4477*22dc650dSSadaf EbrahimiNo match
4478*22dc650dSSadaf Ebrahimi
4479*22dc650dSSadaf Ebrahimi/^X\R+?Z/utf,no_start_optimize,no_auto_possess
4480*22dc650dSSadaf Ebrahimi\= Expect no match
4481*22dc650dSSadaf Ebrahimi    X\nX
4482*22dc650dSSadaf EbrahimiNo match
4483*22dc650dSSadaf Ebrahimi    X\n\rX
4484*22dc650dSSadaf EbrahimiNo match
4485*22dc650dSSadaf Ebrahimi    X\n\r\nX
4486*22dc650dSSadaf EbrahimiNo match
4487*22dc650dSSadaf Ebrahimi    X\n\n
4488*22dc650dSSadaf EbrahimiNo match
4489*22dc650dSSadaf Ebrahimi    X\n\x{0c}
4490*22dc650dSSadaf EbrahimiNo match
4491*22dc650dSSadaf Ebrahimi
4492*22dc650dSSadaf Ebrahimi/(*BSR_ANYCRLF)^X\R+?Z/utf,no_start_optimize,no_auto_possess
4493*22dc650dSSadaf Ebrahimi\= Expect no match
4494*22dc650dSSadaf Ebrahimi    X\nX
4495*22dc650dSSadaf EbrahimiNo match
4496*22dc650dSSadaf Ebrahimi    X\n\rX
4497*22dc650dSSadaf EbrahimiNo match
4498*22dc650dSSadaf Ebrahimi    X\n\r\nX
4499*22dc650dSSadaf EbrahimiNo match
4500*22dc650dSSadaf Ebrahimi    X\n\n
4501*22dc650dSSadaf EbrahimiNo match
4502*22dc650dSSadaf Ebrahimi    X\n\x{0c}
4503*22dc650dSSadaf EbrahimiNo match
4504*22dc650dSSadaf Ebrahimi
4505*22dc650dSSadaf Ebrahimi/^X\H+?Z/utf,no_start_optimize,no_auto_possess
4506*22dc650dSSadaf Ebrahimi\= Expect no match
4507*22dc650dSSadaf Ebrahimi    XY\t
4508*22dc650dSSadaf EbrahimiNo match
4509*22dc650dSSadaf Ebrahimi    XYY
4510*22dc650dSSadaf EbrahimiNo match
4511*22dc650dSSadaf Ebrahimi
4512*22dc650dSSadaf Ebrahimi/^X\h+?Z/utf,no_start_optimize,no_auto_possess
4513*22dc650dSSadaf Ebrahimi\= Expect no match
4514*22dc650dSSadaf Ebrahimi    X\t\t
4515*22dc650dSSadaf EbrahimiNo match
4516*22dc650dSSadaf Ebrahimi    X\tY
4517*22dc650dSSadaf EbrahimiNo match
4518*22dc650dSSadaf Ebrahimi
4519*22dc650dSSadaf Ebrahimi/^X\V+?Z/utf,no_start_optimize,no_auto_possess
4520*22dc650dSSadaf Ebrahimi\= Expect no match
4521*22dc650dSSadaf Ebrahimi    XY\n
4522*22dc650dSSadaf EbrahimiNo match
4523*22dc650dSSadaf Ebrahimi    XYY
4524*22dc650dSSadaf EbrahimiNo match
4525*22dc650dSSadaf Ebrahimi
4526*22dc650dSSadaf Ebrahimi/^X\v+?Z/utf,no_start_optimize,no_auto_possess
4527*22dc650dSSadaf Ebrahimi\= Expect no match
4528*22dc650dSSadaf Ebrahimi    X\n\n
4529*22dc650dSSadaf EbrahimiNo match
4530*22dc650dSSadaf Ebrahimi    X\nY
4531*22dc650dSSadaf EbrahimiNo match
4532*22dc650dSSadaf Ebrahimi
4533*22dc650dSSadaf Ebrahimi/^X\D+?Z/utf,no_start_optimize,no_auto_possess
4534*22dc650dSSadaf Ebrahimi\= Expect no match
4535*22dc650dSSadaf Ebrahimi    XY9
4536*22dc650dSSadaf EbrahimiNo match
4537*22dc650dSSadaf Ebrahimi    XYY
4538*22dc650dSSadaf EbrahimiNo match
4539*22dc650dSSadaf Ebrahimi
4540*22dc650dSSadaf Ebrahimi/^X\d+?Z/utf,no_start_optimize,no_auto_possess
4541*22dc650dSSadaf Ebrahimi\= Expect no match
4542*22dc650dSSadaf Ebrahimi    X99
4543*22dc650dSSadaf EbrahimiNo match
4544*22dc650dSSadaf Ebrahimi    X9Y
4545*22dc650dSSadaf EbrahimiNo match
4546*22dc650dSSadaf Ebrahimi
4547*22dc650dSSadaf Ebrahimi/^X\S+?Z/utf,no_start_optimize,no_auto_possess
4548*22dc650dSSadaf Ebrahimi\= Expect no match
4549*22dc650dSSadaf Ebrahimi    XY\n
4550*22dc650dSSadaf EbrahimiNo match
4551*22dc650dSSadaf Ebrahimi    XYY
4552*22dc650dSSadaf EbrahimiNo match
4553*22dc650dSSadaf Ebrahimi
4554*22dc650dSSadaf Ebrahimi/^X\s+?Z/utf,no_start_optimize,no_auto_possess
4555*22dc650dSSadaf Ebrahimi\= Expect no match
4556*22dc650dSSadaf Ebrahimi    X\n\n
4557*22dc650dSSadaf EbrahimiNo match
4558*22dc650dSSadaf Ebrahimi    X\nY
4559*22dc650dSSadaf EbrahimiNo match
4560*22dc650dSSadaf Ebrahimi
4561*22dc650dSSadaf Ebrahimi/^X\W+?Z/utf,no_start_optimize,no_auto_possess
4562*22dc650dSSadaf Ebrahimi\= Expect no match
4563*22dc650dSSadaf Ebrahimi    X.A
4564*22dc650dSSadaf EbrahimiNo match
4565*22dc650dSSadaf Ebrahimi    X++
4566*22dc650dSSadaf EbrahimiNo match
4567*22dc650dSSadaf Ebrahimi
4568*22dc650dSSadaf Ebrahimi/^X\p{L&}{1,3}Z/no_start_optimize,no_auto_possess
4569*22dc650dSSadaf Ebrahimi\= Expect no match
4570*22dc650dSSadaf Ebrahimi    XY
4571*22dc650dSSadaf EbrahimiNo match
4572*22dc650dSSadaf Ebrahimi    XY!
4573*22dc650dSSadaf EbrahimiNo match
4574*22dc650dSSadaf Ebrahimi
4575*22dc650dSSadaf Ebrahimi/^X\p{L}{1,3}Z/no_start_optimize,no_auto_possess
4576*22dc650dSSadaf Ebrahimi\= Expect no match
4577*22dc650dSSadaf Ebrahimi    XY
4578*22dc650dSSadaf EbrahimiNo match
4579*22dc650dSSadaf Ebrahimi
4580*22dc650dSSadaf Ebrahimi/^X\p{Xan}{1,3}Z/no_start_optimize,no_auto_possess
4581*22dc650dSSadaf Ebrahimi\= Expect no match
4582*22dc650dSSadaf Ebrahimi    XY
4583*22dc650dSSadaf EbrahimiNo match
4584*22dc650dSSadaf Ebrahimi
4585*22dc650dSSadaf Ebrahimi/^X\P{Xsp}{1,3}Z/no_start_optimize,no_auto_possess
4586*22dc650dSSadaf Ebrahimi\= Expect no match
4587*22dc650dSSadaf Ebrahimi    XYY
4588*22dc650dSSadaf EbrahimiNo match
4589*22dc650dSSadaf Ebrahimi
4590*22dc650dSSadaf Ebrahimi/^X\p{Xuc}+Z/utf,no_start_optimize,no_auto_possess
4591*22dc650dSSadaf Ebrahimi\= Expect no match
4592*22dc650dSSadaf Ebrahimi    X$
4593*22dc650dSSadaf EbrahimiNo match
4594*22dc650dSSadaf Ebrahimi
4595*22dc650dSSadaf Ebrahimi# ----------------------------------------------------------------------
4596*22dc650dSSadaf Ebrahimi# These test the dangerous PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL option.
4597*22dc650dSSadaf Ebrahimi
4598*22dc650dSSadaf Ebrahimi/\x{d800}/B,utf,bad_escape_is_literal
4599*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4600*22dc650dSSadaf Ebrahimi        Bra
4601*22dc650dSSadaf Ebrahimi        x{d800}
4602*22dc650dSSadaf Ebrahimi        Ket
4603*22dc650dSSadaf Ebrahimi        End
4604*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4605*22dc650dSSadaf Ebrahimi
4606*22dc650dSSadaf Ebrahimi/\ud800/B,utf,alt_bsux,bad_escape_is_literal
4607*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4608*22dc650dSSadaf Ebrahimi        Bra
4609*22dc650dSSadaf Ebrahimi        ud800
4610*22dc650dSSadaf Ebrahimi        Ket
4611*22dc650dSSadaf Ebrahimi        End
4612*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4613*22dc650dSSadaf Ebrahimi
4614*22dc650dSSadaf Ebrahimi# ----------------------------------------------------------------------
4615*22dc650dSSadaf Ebrahimi
4616*22dc650dSSadaf Ebrahimi/Aሴ+B/literal,utf,no_utf_check
4617*22dc650dSSadaf Ebrahimi    Aሴ+B
4618*22dc650dSSadaf Ebrahimi 0: A\x{1234}+B
4619*22dc650dSSadaf Ebrahimi
4620*22dc650dSSadaf Ebrahimi# These are here because I upgraded to Unicode 10.0.0 before Perl did, so it
4621*22dc650dSSadaf Ebrahimi# doesn't recognize all these scripts. In time these three tests can be moved
4622*22dc650dSSadaf Ebrahimi# to test 4.
4623*22dc650dSSadaf Ebrahimi
4624*22dc650dSSadaf Ebrahimi/^(\p{Adlam}+)(\p{Bhaiksuki}+)(\p{Marchen}+)(\p{Newa}+)(\p{Osage}+)
4625*22dc650dSSadaf Ebrahimi  (\p{Tangut}+)(\p{Masaram_Gondi}+)(\p{Nushu}+)(\p{Soyombo}+)
4626*22dc650dSSadaf Ebrahimi  (\p{Zanabazar_Square}+)/x,utf
4627*22dc650dSSadaf Ebrahimi    \x{1E900}\x{1E924}\x{1E953}\x{11C00}\x{11C2D}\x{11C3E}\x{11C70}\x{11C77}\x{11CAB}\x{11400}\x{1142F}\x{11455}\x{104B0}\x{104D8}\x{104FB}\x{16FE0}\x{18800}\x{18AF2}\x{11D00}\x{11D3A}\x{11D59}\x{16FE1}\x{1B170}\x{1B2FB}\x{11A50}\x{11A58}\x{11AA2}\x{11A00}\x{11A07}\x{11A47}
4628*22dc650dSSadaf Ebrahimi 0: \x{1e900}\x{1e924}\x{1e953}\x{11c00}\x{11c2d}\x{11c3e}\x{11c70}\x{11c77}\x{11cab}\x{11400}\x{1142f}\x{11455}\x{104b0}\x{104d8}\x{104fb}\x{16fe0}\x{18800}\x{18af2}\x{11d00}\x{11d3a}\x{11d59}\x{16fe1}\x{1b170}\x{1b2fb}\x{11a50}\x{11a58}\x{11aa2}\x{11a00}\x{11a07}\x{11a47}
4629*22dc650dSSadaf Ebrahimi 1: \x{1e900}\x{1e924}\x{1e953}
4630*22dc650dSSadaf Ebrahimi 2: \x{11c00}\x{11c2d}\x{11c3e}
4631*22dc650dSSadaf Ebrahimi 3: \x{11c70}\x{11c77}\x{11cab}
4632*22dc650dSSadaf Ebrahimi 4: \x{11400}\x{1142f}\x{11455}
4633*22dc650dSSadaf Ebrahimi 5: \x{104b0}\x{104d8}\x{104fb}
4634*22dc650dSSadaf Ebrahimi 6: \x{16fe0}\x{18800}\x{18af2}
4635*22dc650dSSadaf Ebrahimi 7: \x{11d00}\x{11d3a}\x{11d59}
4636*22dc650dSSadaf Ebrahimi 8: \x{16fe1}\x{1b170}\x{1b2fb}
4637*22dc650dSSadaf Ebrahimi 9: \x{11a50}\x{11a58}\x{11aa2}
4638*22dc650dSSadaf Ebrahimi10: \x{11a00}\x{11a07}\x{11a47}
4639*22dc650dSSadaf Ebrahimi
4640*22dc650dSSadaf Ebrahimi/^\x{1E900}\x{104B0}/i,utf
4641*22dc650dSSadaf Ebrahimi    \x{1E900}\x{104B0}
4642*22dc650dSSadaf Ebrahimi 0: \x{1e900}\x{104b0}
4643*22dc650dSSadaf Ebrahimi    \x{1E922}\x{104D8}
4644*22dc650dSSadaf Ebrahimi 0: \x{1e922}\x{104d8}
4645*22dc650dSSadaf Ebrahimi
4646*22dc650dSSadaf Ebrahimi/^(?:(\X)(?C))+$/utf
4647*22dc650dSSadaf Ebrahimi    \x{1E900}\x{1E924}\x{1E953}\x{11C00}\x{11C2D}\x{11C3E}\x{11C70}\x{11C77}\x{11CAB}\x{11400}\x{1142F}\x{11455}\x{104B0}\x{104D8}\x{104FB}\x{16FE0}\x{18800}\x{18AF2}\x{11D00}\x{11D3A}\x{11D59}\x{16FE1}\x{1B170}\x{1B2FB}\x{11A50}\x{11A58}\x{11AA2}\x{11A00}\x{11A07}\x{11A47}\=callout_capture,callout_no_where
4648*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4649*22dc650dSSadaf Ebrahimi 1: \x{1e900}
4650*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4651*22dc650dSSadaf Ebrahimi 1: \x{1e924}
4652*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4653*22dc650dSSadaf Ebrahimi 1: \x{1e953}
4654*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4655*22dc650dSSadaf Ebrahimi 1: \x{11c00}
4656*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4657*22dc650dSSadaf Ebrahimi 1: \x{11c2d}\x{11c3e}
4658*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4659*22dc650dSSadaf Ebrahimi 1: \x{11c70}
4660*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4661*22dc650dSSadaf Ebrahimi 1: \x{11c77}\x{11cab}
4662*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4663*22dc650dSSadaf Ebrahimi 1: \x{11400}
4664*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4665*22dc650dSSadaf Ebrahimi 1: \x{1142f}
4666*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4667*22dc650dSSadaf Ebrahimi 1: \x{11455}
4668*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4669*22dc650dSSadaf Ebrahimi 1: \x{104b0}
4670*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4671*22dc650dSSadaf Ebrahimi 1: \x{104d8}
4672*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4673*22dc650dSSadaf Ebrahimi 1: \x{104fb}
4674*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4675*22dc650dSSadaf Ebrahimi 1: \x{16fe0}
4676*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4677*22dc650dSSadaf Ebrahimi 1: \x{18800}
4678*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4679*22dc650dSSadaf Ebrahimi 1: \x{18af2}
4680*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4681*22dc650dSSadaf Ebrahimi 1: \x{11d00}\x{11d3a}
4682*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4683*22dc650dSSadaf Ebrahimi 1: \x{11d59}
4684*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4685*22dc650dSSadaf Ebrahimi 1: \x{16fe1}
4686*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4687*22dc650dSSadaf Ebrahimi 1: \x{1b170}
4688*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4689*22dc650dSSadaf Ebrahimi 1: \x{1b2fb}
4690*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4691*22dc650dSSadaf Ebrahimi 1: \x{11a50}\x{11a58}
4692*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4693*22dc650dSSadaf Ebrahimi 1: \x{11aa2}
4694*22dc650dSSadaf EbrahimiCallout 0: last capture = 1
4695*22dc650dSSadaf Ebrahimi 1: \x{11a00}\x{11a07}\x{11a47}
4696*22dc650dSSadaf Ebrahimi 0: \x{1e900}\x{1e924}\x{1e953}\x{11c00}\x{11c2d}\x{11c3e}\x{11c70}\x{11c77}\x{11cab}\x{11400}\x{1142f}\x{11455}\x{104b0}\x{104d8}\x{104fb}\x{16fe0}\x{18800}\x{18af2}\x{11d00}\x{11d3a}\x{11d59}\x{16fe1}\x{1b170}\x{1b2fb}\x{11a50}\x{11a58}\x{11aa2}\x{11a00}\x{11a07}\x{11a47}
4697*22dc650dSSadaf Ebrahimi 1: \x{11a00}\x{11a07}\x{11a47}
4698*22dc650dSSadaf Ebrahimi
4699*22dc650dSSadaf Ebrahimi# Similarly for Unicode 11.0.0
4700*22dc650dSSadaf Ebrahimi
4701*22dc650dSSadaf Ebrahimi/^(\p{Dogra}+)(\p{Gunjala_Gondi}+)(\p{Hanifi_Rohingya}+)(\p{Makasar}+)
4702*22dc650dSSadaf Ebrahimi  (\p{Medefaidrin}+)(\p{Old_Sogdian}+)(\p{Sogdian}+)/x,utf
4703*22dc650dSSadaf Ebrahimi    \x{11800}\x{11da9}\x{10d27}\x{11ee0}\x{16e48}\x{10f27}\x{10f30}
4704*22dc650dSSadaf Ebrahimi 0: \x{11800}\x{11da9}\x{10d27}\x{11ee0}\x{16e48}\x{10f27}\x{10f30}
4705*22dc650dSSadaf Ebrahimi 1: \x{11800}
4706*22dc650dSSadaf Ebrahimi 2: \x{11da9}
4707*22dc650dSSadaf Ebrahimi 3: \x{10d27}
4708*22dc650dSSadaf Ebrahimi 4: \x{11ee0}
4709*22dc650dSSadaf Ebrahimi 5: \x{16e48}
4710*22dc650dSSadaf Ebrahimi 6: \x{10f27}
4711*22dc650dSSadaf Ebrahimi 7: \x{10f30}
4712*22dc650dSSadaf Ebrahimi
4713*22dc650dSSadaf Ebrahimi# Regional indicators
4714*22dc650dSSadaf Ebrahimi
4715*22dc650dSSadaf Ebrahimi/^(\X)(\X)/utf,aftertext
4716*22dc650dSSadaf Ebrahimi    \x{1F1E6}\x{1F1E7}\x{1F1E7}B
4717*22dc650dSSadaf Ebrahimi 0: \x{1f1e6}\x{1f1e7}\x{1f1e7}
4718*22dc650dSSadaf Ebrahimi 0+ B
4719*22dc650dSSadaf Ebrahimi 1: \x{1f1e6}\x{1f1e7}
4720*22dc650dSSadaf Ebrahimi 2: \x{1f1e7}
4721*22dc650dSSadaf Ebrahimi    \x{1F1E6}\x{1F1E7}\x{1F1E7}\x{1F1E6}B
4722*22dc650dSSadaf Ebrahimi 0: \x{1f1e6}\x{1f1e7}\x{1f1e7}\x{1f1e6}
4723*22dc650dSSadaf Ebrahimi 0+ B
4724*22dc650dSSadaf Ebrahimi 1: \x{1f1e6}\x{1f1e7}
4725*22dc650dSSadaf Ebrahimi 2: \x{1f1e7}\x{1f1e6}
4726*22dc650dSSadaf Ebrahimi
4727*22dc650dSSadaf Ebrahimi# More differences from Perl
4728*22dc650dSSadaf Ebrahimi
4729*22dc650dSSadaf Ebrahimi/^\p{Common}/utf
4730*22dc650dSSadaf Ebrahimi    \x{60c}
4731*22dc650dSSadaf Ebrahimi 0: \x{60c}
4732*22dc650dSSadaf Ebrahimi    \x{61f}
4733*22dc650dSSadaf Ebrahimi 0: \x{61f}
4734*22dc650dSSadaf Ebrahimi    \x{964}
4735*22dc650dSSadaf Ebrahimi 0: \x{964}
4736*22dc650dSSadaf Ebrahimi    \x{965}
4737*22dc650dSSadaf Ebrahimi 0: \x{965}
4738*22dc650dSSadaf Ebrahimi
4739*22dc650dSSadaf Ebrahimi/^\p{Inherited}/utf
4740*22dc650dSSadaf Ebrahimi    \x{64b}
4741*22dc650dSSadaf Ebrahimi 0: \x{64b}
4742*22dc650dSSadaf Ebrahimi    \x{654}
4743*22dc650dSSadaf Ebrahimi 0: \x{654}
4744*22dc650dSSadaf Ebrahimi    \x{655}
4745*22dc650dSSadaf Ebrahimi 0: \x{655}
4746*22dc650dSSadaf Ebrahimi    \x{1D1AA}
4747*22dc650dSSadaf Ebrahimi 0: \x{1d1aa}
4748*22dc650dSSadaf Ebrahimi
4749*22dc650dSSadaf Ebrahimi/\N{U+}/
4750*22dc650dSSadaf EbrahimiFailed: error 193 at offset 2: \N{U+dddd} is supported only in Unicode (UTF) mode
4751*22dc650dSSadaf Ebrahimi
4752*22dc650dSSadaf Ebrahimi/\N{U+}/utf
4753*22dc650dSSadaf EbrahimiFailed: error 178 at offset 5: digits missing in \x{} or \o{} or \N{U+}
4754*22dc650dSSadaf Ebrahimi
4755*22dc650dSSadaf Ebrahimi/\N{U}/
4756*22dc650dSSadaf EbrahimiFailed: error 137 at offset 2: PCRE2 does not support \F, \L, \l, \N{name}, \U, or \u
4757*22dc650dSSadaf Ebrahimi
4758*22dc650dSSadaf Ebrahimi# This tests the non-UTF Unicode NEL pattern whitespace character, only
4759*22dc650dSSadaf Ebrahimi# recognized by PCRE2 with /x when there is Unicode support.
4760*22dc650dSSadaf Ebrahimi
4761*22dc650dSSadaf Ebrahimi/A
4762*22dc650dSSadaf Ebrahimi
4763*22dc650dSSadaf Ebrahimi�B/x
4764*22dc650dSSadaf Ebrahimi    AB
4765*22dc650dSSadaf Ebrahimi 0: AB
4766*22dc650dSSadaf Ebrahimi
4767*22dc650dSSadaf Ebrahimi# This tests Unicode Pattern White Space characters in verb names when they
4768*22dc650dSSadaf Ebrahimi# are being processed with PCRE2_EXTENDED. Note: there are UTF-8 characters
4769*22dc650dSSadaf Ebrahimi# with code points greater than 255 between A, B, and C in the pattern.
4770*22dc650dSSadaf Ebrahimi
4771*22dc650dSSadaf Ebrahimi/(*: A‎B
C)abc/x,utf,mark,alt_verbnames
4772*22dc650dSSadaf Ebrahimi    abc
4773*22dc650dSSadaf Ebrahimi 0: abc
4774*22dc650dSSadaf EbrahimiMK: ABC
4775*22dc650dSSadaf Ebrahimi
4776*22dc650dSSadaf Ebrahimi# Script run tests: auto-possessification
4777*22dc650dSSadaf Ebrahimi
4778*22dc650dSSadaf Ebrahimi/^(*sr:.*)/B,utf
4779*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4780*22dc650dSSadaf Ebrahimi        Bra
4781*22dc650dSSadaf Ebrahimi        ^
4782*22dc650dSSadaf Ebrahimi        Script run
4783*22dc650dSSadaf Ebrahimi        Any*
4784*22dc650dSSadaf Ebrahimi        Ket
4785*22dc650dSSadaf Ebrahimi        Ket
4786*22dc650dSSadaf Ebrahimi        End
4787*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4788*22dc650dSSadaf Ebrahimi    paypаl.com   A classic example of why script run checks are a good thing
4789*22dc650dSSadaf Ebrahimi 0: payp
4790*22dc650dSSadaf Ebrahimi
4791*22dc650dSSadaf Ebrahimi/^(*sr:.*(*ACCEPT))/utf
4792*22dc650dSSadaf Ebrahimi    paypаl.com   But *ACCEPT breaks things
4793*22dc650dSSadaf Ebrahimi 0: payp\x{430}l.com   But *ACCEPT breaks things
4794*22dc650dSSadaf Ebrahimi
4795*22dc650dSSadaf Ebrahimi/^(*sr:\x{2e80}*)/B,utf
4796*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4797*22dc650dSSadaf Ebrahimi        Bra
4798*22dc650dSSadaf Ebrahimi        ^
4799*22dc650dSSadaf Ebrahimi        Script run
4800*22dc650dSSadaf Ebrahimi        \x{2e80}*+
4801*22dc650dSSadaf Ebrahimi        Ket
4802*22dc650dSSadaf Ebrahimi        Ket
4803*22dc650dSSadaf Ebrahimi        End
4804*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4805*22dc650dSSadaf Ebrahimi
4806*22dc650dSSadaf Ebrahimi/^(*sr:\x{2e80}*)\x{2e80}/B,utf
4807*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4808*22dc650dSSadaf Ebrahimi        Bra
4809*22dc650dSSadaf Ebrahimi        ^
4810*22dc650dSSadaf Ebrahimi        Script run
4811*22dc650dSSadaf Ebrahimi        \x{2e80}*
4812*22dc650dSSadaf Ebrahimi        Ket
4813*22dc650dSSadaf Ebrahimi        \x{2e80}
4814*22dc650dSSadaf Ebrahimi        Ket
4815*22dc650dSSadaf Ebrahimi        End
4816*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4817*22dc650dSSadaf Ebrahimi
4818*22dc650dSSadaf Ebrahimi/(?<!)(*sr:)/B
4819*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4820*22dc650dSSadaf Ebrahimi        Bra
4821*22dc650dSSadaf Ebrahimi        Assert back not
4822*22dc650dSSadaf Ebrahimi        Ket
4823*22dc650dSSadaf Ebrahimi        Script run
4824*22dc650dSSadaf Ebrahimi        Ket
4825*22dc650dSSadaf Ebrahimi        Ket
4826*22dc650dSSadaf Ebrahimi        End
4827*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4828*22dc650dSSadaf Ebrahimi
4829*22dc650dSSadaf Ebrahimi/(?<=abc(?=X(*sr:BXY)CCC)XBXYCCC)./B
4830*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4831*22dc650dSSadaf Ebrahimi        Bra
4832*22dc650dSSadaf Ebrahimi        Assert back
4833*22dc650dSSadaf Ebrahimi        Reverse
4834*22dc650dSSadaf Ebrahimi        abc
4835*22dc650dSSadaf Ebrahimi        Assert
4836*22dc650dSSadaf Ebrahimi        X
4837*22dc650dSSadaf Ebrahimi        Script run
4838*22dc650dSSadaf Ebrahimi        BXY
4839*22dc650dSSadaf Ebrahimi        Ket
4840*22dc650dSSadaf Ebrahimi        CCC
4841*22dc650dSSadaf Ebrahimi        Ket
4842*22dc650dSSadaf Ebrahimi        XBXYCCC
4843*22dc650dSSadaf Ebrahimi        Ket
4844*22dc650dSSadaf Ebrahimi        Any
4845*22dc650dSSadaf Ebrahimi        Ket
4846*22dc650dSSadaf Ebrahimi        End
4847*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4848*22dc650dSSadaf Ebrahimi   abcXBXYCCC!
4849*22dc650dSSadaf Ebrahimi 0: !
4850*22dc650dSSadaf Ebrahimi
4851*22dc650dSSadaf Ebrahimi# Some script run patterns are broken in Perl 5.28.0. These can be moved into
4852*22dc650dSSadaf Ebrahimi# test 4 when a mended version of Perl is released.
4853*22dc650dSSadaf Ebrahimi
4854*22dc650dSSadaf Ebrahimi/^(*sr:.{4})/utf
4855*22dc650dSSadaf Ebrahimi    \x{0980}12\x{0993}     Bengali Common-digits Bengali
4856*22dc650dSSadaf Ebrahimi 0: \x{980}12\x{993}
4857*22dc650dSSadaf Ebrahimi    \x{0780}12\x{07b1}     Thaana Common-digits Thaana
4858*22dc650dSSadaf Ebrahimi 0: \x{780}12\x{7b1}
4859*22dc650dSSadaf Ebrahimi    \x{0e01}12\x{0e5b}     Thai Common-digits Thai
4860*22dc650dSSadaf Ebrahimi 0: \x{e01}12\x{e5b}
4861*22dc650dSSadaf Ebrahimi    \x{1780}12\x{19ff}     Khmer Common-digits Khmer
4862*22dc650dSSadaf Ebrahimi 0: \x{1780}12\x{19ff}
4863*22dc650dSSadaf Ebrahimi    \x{0904}12\x{0939}     Devanagari Common-digits Devanagari
4864*22dc650dSSadaf Ebrahimi 0: \x{904}12\x{939}
4865*22dc650dSSadaf Ebrahimi    A\x{ff10}\x{ff19}B     Latin Common-notascii-digits Latin
4866*22dc650dSSadaf Ebrahimi 0: A\x{ff10}\x{ff19}B
4867*22dc650dSSadaf Ebrahimi    A\x{1d7ce}\x{1d7cf}B   Latin fancy-common-digits Latin
4868*22dc650dSSadaf Ebrahimi 0: A\x{1d7ce}\x{1d7cf}B
4869*22dc650dSSadaf Ebrahimi
4870*22dc650dSSadaf Ebrahimi# These ones involve non-ASCII but nevertheless Common digits. As of October
4871*22dc650dSSadaf Ebrahimi# 2018 even blead Perl wasn't handling all of these - but is going to.
4872*22dc650dSSadaf Ebrahimi
4873*22dc650dSSadaf Ebrahimi/^(*sr:.{4})/utf
4874*22dc650dSSadaf Ebrahimi    A\x{ff10}\x{ff19}B     Latin Common-notascii-digits Latin
4875*22dc650dSSadaf Ebrahimi 0: A\x{ff10}\x{ff19}B
4876*22dc650dSSadaf Ebrahimi    \x{ff10}\x{ff19}..     Common-notascii-digits Common Common
4877*22dc650dSSadaf Ebrahimi 0: \x{ff10}\x{ff19}..
4878*22dc650dSSadaf Ebrahimi    A\x{ff10}BC            Latin Common-notascii-digit Latin Latin
4879*22dc650dSSadaf Ebrahimi 0: A\x{ff10}BC
4880*22dc650dSSadaf Ebrahimi    A\x{1d7ce}\x{1d7cf}B   Latin fancy-common-digits Latin
4881*22dc650dSSadaf Ebrahimi 0: A\x{1d7ce}\x{1d7cf}B
4882*22dc650dSSadaf Ebrahimi    \x{1d7ce}\x{1d7cf},,   fancy-common-digits Common Common
4883*22dc650dSSadaf Ebrahimi 0: \x{1d7ce}\x{1d7cf},,
4884*22dc650dSSadaf Ebrahimi    A\x{1d7ce}BC           Latin fancy-common-digit Latin Latin
4885*22dc650dSSadaf Ebrahimi 0: A\x{1d7ce}BC
4886*22dc650dSSadaf Ebrahimi
4887*22dc650dSSadaf Ebrahimi# Some Unicode 12.1.0 new script characters
4888*22dc650dSSadaf Ebrahimi
4889*22dc650dSSadaf Ebrahimi/\p{Elymaic}\p{Nandinagari}\p{Nyiakeng_Puachue_Hmong}\p{Wancho}/utf
4890*22dc650dSSadaf Ebrahimi    \x{10fe5}\x{119AC}\x{1E10E}\x{1E2D1}
4891*22dc650dSSadaf Ebrahimi 0: \x{10fe5}\x{119ac}\x{1e10e}\x{1e2d1}
4892*22dc650dSSadaf Ebrahimi
4893*22dc650dSSadaf Ebrahimi# Some Unicode 13.0.0 new script characters
4894*22dc650dSSadaf Ebrahimi
4895*22dc650dSSadaf Ebrahimi/\p{Chorasmian}\p{Dives_Akuru}\p{Khitan_Small_Script}\p{Yezidi}/utf
4896*22dc650dSSadaf Ebrahimi    \x{10FB0}\x{11900}\x{18B00}\x{10E80}
4897*22dc650dSSadaf Ebrahimi 0: \x{10fb0}\x{11900}\x{18b00}\x{10e80}
4898*22dc650dSSadaf Ebrahimi
4899*22dc650dSSadaf Ebrahimi# -------
4900*22dc650dSSadaf Ebrahimi
4901*22dc650dSSadaf Ebrahimi# Test reference and errors in non-ASCII characters in group names
4902*22dc650dSSadaf Ebrahimi
4903*22dc650dSSadaf Ebrahimi/(?'��ABC'...)/I,utf
4904*22dc650dSSadaf EbrahimiCapture group count = 1
4905*22dc650dSSadaf EbrahimiNamed capture groups:
4906*22dc650dSSadaf Ebrahimi  ��ABC   1
4907*22dc650dSSadaf EbrahimiOptions: utf
4908*22dc650dSSadaf EbrahimiSubject length lower bound = 3
4909*22dc650dSSadaf Ebrahimi   abcde\=copy=��ABC
4910*22dc650dSSadaf Ebrahimi 0: abc
4911*22dc650dSSadaf Ebrahimi 1: abc
4912*22dc650dSSadaf Ebrahimi  C abc (3) ��ABC (group 1)
4913*22dc650dSSadaf Ebrahimi
4914*22dc650dSSadaf Ebrahimi# Bad ones
4915*22dc650dSSadaf Ebrahimi
4916*22dc650dSSadaf Ebrahimi/(?'AB၌C'...)\g{AB၌C}/utf
4917*22dc650dSSadaf EbrahimiFailed: error 142 at offset 5: syntax error in subpattern name (missing terminator?)
4918*22dc650dSSadaf Ebrahimi
4919*22dc650dSSadaf Ebrahimi/(?'٠ABC'...)/utf
4920*22dc650dSSadaf EbrahimiFailed: error 144 at offset 3: subpattern name must start with a non-digit
4921*22dc650dSSadaf Ebrahimi
4922*22dc650dSSadaf Ebrahimi/(?'²ABC'...)/utf
4923*22dc650dSSadaf EbrahimiFailed: error 162 at offset 3: subpattern name expected
4924*22dc650dSSadaf Ebrahimi
4925*22dc650dSSadaf Ebrahimi/(?'X²ABC'...)/utf
4926*22dc650dSSadaf EbrahimiFailed: error 142 at offset 4: syntax error in subpattern name (missing terminator?)
4927*22dc650dSSadaf Ebrahimi
4928*22dc650dSSadaf Ebrahimi# -------
4929*22dc650dSSadaf Ebrahimi
4930*22dc650dSSadaf Ebrahimi/\p{Any}*xyz/I
4931*22dc650dSSadaf EbrahimiCapture group count = 0
4932*22dc650dSSadaf EbrahimiCompile options: <none>
4933*22dc650dSSadaf EbrahimiOverall options: anchored
4934*22dc650dSSadaf EbrahimiLast code unit = 'z'
4935*22dc650dSSadaf EbrahimiSubject length lower bound = 3
4936*22dc650dSSadaf Ebrahimi
4937*22dc650dSSadaf Ebrahimi/(|�)7/caseless,ucp
4938*22dc650dSSadaf Ebrahimi
4939*22dc650dSSadaf Ebrahimi/(\xc1)\1/i,ucp
4940*22dc650dSSadaf Ebrahimi    \xc1\xe1\=no_jit
4941*22dc650dSSadaf Ebrahimi 0: \xc1\xe1
4942*22dc650dSSadaf Ebrahimi 1: \xc1
4943*22dc650dSSadaf Ebrahimi
4944*22dc650dSSadaf Ebrahimi/\p{L&}+\p{bidi_control}/B
4945*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4946*22dc650dSSadaf Ebrahimi        Bra
4947*22dc650dSSadaf Ebrahimi        prop Lc +
4948*22dc650dSSadaf Ebrahimi        prop Bidicontrol
4949*22dc650dSSadaf Ebrahimi        Ket
4950*22dc650dSSadaf Ebrahimi        End
4951*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4952*22dc650dSSadaf Ebrahimi
4953*22dc650dSSadaf Ebrahimi/\p{bidi_control}+\p{L&}/B
4954*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4955*22dc650dSSadaf Ebrahimi        Bra
4956*22dc650dSSadaf Ebrahimi        prop Bidicontrol +
4957*22dc650dSSadaf Ebrahimi        prop Lc
4958*22dc650dSSadaf Ebrahimi        Ket
4959*22dc650dSSadaf Ebrahimi        End
4960*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4961*22dc650dSSadaf Ebrahimi
4962*22dc650dSSadaf Ebrahimi/\p{han}/B
4963*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4964*22dc650dSSadaf Ebrahimi        Bra
4965*22dc650dSSadaf Ebrahimi        prop Han
4966*22dc650dSSadaf Ebrahimi        Ket
4967*22dc650dSSadaf Ebrahimi        End
4968*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4969*22dc650dSSadaf Ebrahimi
4970*22dc650dSSadaf Ebrahimi/\p{script:han}/B
4971*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4972*22dc650dSSadaf Ebrahimi        Bra
4973*22dc650dSSadaf Ebrahimi        prop script:Han
4974*22dc650dSSadaf Ebrahimi        Ket
4975*22dc650dSSadaf Ebrahimi        End
4976*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4977*22dc650dSSadaf Ebrahimi
4978*22dc650dSSadaf Ebrahimi/\p{sc:han}/B
4979*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4980*22dc650dSSadaf Ebrahimi        Bra
4981*22dc650dSSadaf Ebrahimi        prop script:Han
4982*22dc650dSSadaf Ebrahimi        Ket
4983*22dc650dSSadaf Ebrahimi        End
4984*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4985*22dc650dSSadaf Ebrahimi
4986*22dc650dSSadaf Ebrahimi/\p{script extensions:han}/B
4987*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4988*22dc650dSSadaf Ebrahimi        Bra
4989*22dc650dSSadaf Ebrahimi        prop Han
4990*22dc650dSSadaf Ebrahimi        Ket
4991*22dc650dSSadaf Ebrahimi        End
4992*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4993*22dc650dSSadaf Ebrahimi
4994*22dc650dSSadaf Ebrahimi/\p{scx:han}/B
4995*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
4996*22dc650dSSadaf Ebrahimi        Bra
4997*22dc650dSSadaf Ebrahimi        prop Han
4998*22dc650dSSadaf Ebrahimi        Ket
4999*22dc650dSSadaf Ebrahimi        End
5000*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5001*22dc650dSSadaf Ebrahimi
5002*22dc650dSSadaf Ebrahimi# Test error - invalid script name
5003*22dc650dSSadaf Ebrahimi
5004*22dc650dSSadaf Ebrahimi/\p{sc:L}/
5005*22dc650dSSadaf EbrahimiFailed: error 147 at offset 8: unknown property after \P or \p
5006*22dc650dSSadaf Ebrahimi
5007*22dc650dSSadaf Ebrahimi# Some Boolean property tests that differ from Perl
5008*22dc650dSSadaf Ebrahimi
5009*22dc650dSSadaf Ebrahimi/\p{emojimodifierbase}\p{ebase}/g,utf
5010*22dc650dSSadaf Ebrahimi    >AN<>\x{261d}\x{1faf6}<>yz<
5011*22dc650dSSadaf Ebrahimi 0: \x{261d}\x{1faf6}
5012*22dc650dSSadaf Ebrahimi
5013*22dc650dSSadaf Ebrahimi/\p{graphemelink}\p{grlink}/g,utf
5014*22dc650dSSadaf Ebrahimi    >AN<>\x{11d97}\x{94d}<>yz<
5015*22dc650dSSadaf Ebrahimi 0: \x{11d97}\x{94d}
5016*22dc650dSSadaf Ebrahimi
5017*22dc650dSSadaf Ebrahimi/\p{soft dotted}\p{sd}/g,utf
5018*22dc650dSSadaf Ebrahimi    >AF23<>\x{1df1a}\x{69}<>yz<
5019*22dc650dSSadaf Ebrahimi 0: \x{1df1a}i
5020*22dc650dSSadaf Ebrahimi
5021*22dc650dSSadaf Ebrahimi# ------------------------------------------------
5022*22dc650dSSadaf Ebrahimi
5023*22dc650dSSadaf Ebrahimi/\p{\2b[:x�igi:t:_/
5024*22dc650dSSadaf EbrahimiFailed: error 146 at offset 17: malformed \P or \p sequence
5025*22dc650dSSadaf Ebrahimi
5026*22dc650dSSadaf Ebrahimi# Tests for PCRE2_EXTRA_CASELESS_RESTRICT. Compare each test with and without
5027*22dc650dSSadaf Ebrahimi# the restriction.
5028*22dc650dSSadaf Ebrahimi
5029*22dc650dSSadaf Ebrahimi/AskZ/i,utf,caseless_restrict
5030*22dc650dSSadaf Ebrahimi    AskZ
5031*22dc650dSSadaf Ebrahimi 0: AskZ
5032*22dc650dSSadaf Ebrahimi    aSKz
5033*22dc650dSSadaf Ebrahimi 0: aSKz
5034*22dc650dSSadaf Ebrahimi\= Expect no match
5035*22dc650dSSadaf Ebrahimi    A\x{17f}kZ
5036*22dc650dSSadaf EbrahimiNo match
5037*22dc650dSSadaf Ebrahimi    As\x{212a}Z
5038*22dc650dSSadaf EbrahimiNo match
5039*22dc650dSSadaf Ebrahimi
5040*22dc650dSSadaf Ebrahimi/AskZ/i,utf
5041*22dc650dSSadaf Ebrahimi    AskZ
5042*22dc650dSSadaf Ebrahimi 0: AskZ
5043*22dc650dSSadaf Ebrahimi    aSKz
5044*22dc650dSSadaf Ebrahimi 0: aSKz
5045*22dc650dSSadaf Ebrahimi    A\x{17f}kZ
5046*22dc650dSSadaf Ebrahimi 0: A\x{17f}kZ
5047*22dc650dSSadaf Ebrahimi    As\x{212a}Z
5048*22dc650dSSadaf Ebrahimi 0: As\x{212a}Z
5049*22dc650dSSadaf Ebrahimi
5050*22dc650dSSadaf Ebrahimi/A\x{17f}\x{212a}Z/ir,utf
5051*22dc650dSSadaf Ebrahimi    \= Expect no match
5052*22dc650dSSadaf Ebrahimi    AskZ
5053*22dc650dSSadaf EbrahimiNo match
5054*22dc650dSSadaf Ebrahimi
5055*22dc650dSSadaf Ebrahimi/A\x{17f}\x{212a}Z/i,utf
5056*22dc650dSSadaf Ebrahimi    AskZ
5057*22dc650dSSadaf Ebrahimi 0: AskZ
5058*22dc650dSSadaf Ebrahimi
5059*22dc650dSSadaf Ebrahimi/[AskZ]+/i,utf,caseless_restrict
5060*22dc650dSSadaf Ebrahimi    AskZ
5061*22dc650dSSadaf Ebrahimi 0: AskZ
5062*22dc650dSSadaf Ebrahimi    aSKz
5063*22dc650dSSadaf Ebrahimi 0: aSKz
5064*22dc650dSSadaf Ebrahimi    A\x{17f}kZ
5065*22dc650dSSadaf Ebrahimi 0: A
5066*22dc650dSSadaf Ebrahimi    As\x{212a}Z
5067*22dc650dSSadaf Ebrahimi 0: As
5068*22dc650dSSadaf Ebrahimi
5069*22dc650dSSadaf Ebrahimi/[AskZ]+/i,utf
5070*22dc650dSSadaf Ebrahimi    AskZ
5071*22dc650dSSadaf Ebrahimi 0: AskZ
5072*22dc650dSSadaf Ebrahimi    aSKz
5073*22dc650dSSadaf Ebrahimi 0: aSKz
5074*22dc650dSSadaf Ebrahimi    A\x{17f}kZ
5075*22dc650dSSadaf Ebrahimi 0: A\x{17f}kZ
5076*22dc650dSSadaf Ebrahimi    As\x{212a}Z
5077*22dc650dSSadaf Ebrahimi 0: As\x{212a}Z
5078*22dc650dSSadaf Ebrahimi
5079*22dc650dSSadaf Ebrahimi/[\x{17f}\x{212a}]+/ir,utf
5080*22dc650dSSadaf Ebrahimi\= Expect no match
5081*22dc650dSSadaf Ebrahimi    AskZ
5082*22dc650dSSadaf EbrahimiNo match
5083*22dc650dSSadaf Ebrahimi
5084*22dc650dSSadaf Ebrahimi/[\x{17f}\x{212a}]+/i,utf
5085*22dc650dSSadaf Ebrahimi    AskZ
5086*22dc650dSSadaf Ebrahimi 0: sk
5087*22dc650dSSadaf Ebrahimi
5088*22dc650dSSadaf Ebrahimi/[^s]+/ir,utf
5089*22dc650dSSadaf Ebrahimi    A\x{17f}Z
5090*22dc650dSSadaf Ebrahimi 0: A\x{17f}Z
5091*22dc650dSSadaf Ebrahimi
5092*22dc650dSSadaf Ebrahimi/[^s]+/i,utf
5093*22dc650dSSadaf Ebrahimi    A\x{17f}Z
5094*22dc650dSSadaf Ebrahimi 0: A
5095*22dc650dSSadaf Ebrahimi
5096*22dc650dSSadaf Ebrahimi/[^k]+/ir,utf
5097*22dc650dSSadaf Ebrahimi    A\x{212a}Z
5098*22dc650dSSadaf Ebrahimi 0: A\x{212a}Z
5099*22dc650dSSadaf Ebrahimi
5100*22dc650dSSadaf Ebrahimi/[^k]+/i,utf
5101*22dc650dSSadaf Ebrahimi    A\x{212a}Z
5102*22dc650dSSadaf Ebrahimi 0: A
5103*22dc650dSSadaf Ebrahimi
5104*22dc650dSSadaf Ebrahimi/[^sk]+/ir,utf
5105*22dc650dSSadaf Ebrahimi    A\x{17f}\x{212a}Z
5106*22dc650dSSadaf Ebrahimi 0: A\x{17f}\x{212a}Z
5107*22dc650dSSadaf Ebrahimi
5108*22dc650dSSadaf Ebrahimi/[^sk]+/i,utf
5109*22dc650dSSadaf Ebrahimi    A\x{17f}\x{212a}Z
5110*22dc650dSSadaf Ebrahimi 0: A
5111*22dc650dSSadaf Ebrahimi
5112*22dc650dSSadaf Ebrahimi/[^\x{17f}]+/ir,utf
5113*22dc650dSSadaf Ebrahimi    AsSZ
5114*22dc650dSSadaf Ebrahimi 0: AsSZ
5115*22dc650dSSadaf Ebrahimi
5116*22dc650dSSadaf Ebrahimi/[^\x{17f}]+/i,utf
5117*22dc650dSSadaf Ebrahimi    AsSZ
5118*22dc650dSSadaf Ebrahimi 0: A
5119*22dc650dSSadaf Ebrahimi
5120*22dc650dSSadaf Ebrahimi/[Ss]+/irB,utf
5121*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5122*22dc650dSSadaf Ebrahimi        Bra
5123*22dc650dSSadaf Ebrahimi     /i S++
5124*22dc650dSSadaf Ebrahimi        Ket
5125*22dc650dSSadaf Ebrahimi        End
5126*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5127*22dc650dSSadaf Ebrahimi    Sss\x{17f}ss
5128*22dc650dSSadaf Ebrahimi 0: Sss
5129*22dc650dSSadaf Ebrahimi
5130*22dc650dSSadaf Ebrahimi/[Ss]+/iB,utf
5131*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5132*22dc650dSSadaf Ebrahimi        Bra
5133*22dc650dSSadaf Ebrahimi        [Ss\x{17f}\x{17f}]++
5134*22dc650dSSadaf Ebrahimi        Ket
5135*22dc650dSSadaf Ebrahimi        End
5136*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5137*22dc650dSSadaf Ebrahimi    Sss\x{17f}ss
5138*22dc650dSSadaf Ebrahimi 0: Sss\x{17f}ss
5139*22dc650dSSadaf Ebrahimi
5140*22dc650dSSadaf Ebrahimi/[S\x{17f}]/irB,utf
5141*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5142*22dc650dSSadaf Ebrahimi        Bra
5143*22dc650dSSadaf Ebrahimi        [Ss\x{17f}]
5144*22dc650dSSadaf Ebrahimi        Ket
5145*22dc650dSSadaf Ebrahimi        End
5146*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5147*22dc650dSSadaf Ebrahimi
5148*22dc650dSSadaf Ebrahimi/[S\x{17f}]/iB,utf
5149*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5150*22dc650dSSadaf Ebrahimi        Bra
5151*22dc650dSSadaf Ebrahimi        [Ss\x{17f}\x{17f}]
5152*22dc650dSSadaf Ebrahimi        Ket
5153*22dc650dSSadaf Ebrahimi        End
5154*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5155*22dc650dSSadaf Ebrahimi
5156*22dc650dSSadaf Ebrahimi/[\x{17f}s]/irB,utf
5157*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5158*22dc650dSSadaf Ebrahimi        Bra
5159*22dc650dSSadaf Ebrahimi        [Ss\x{17f}]
5160*22dc650dSSadaf Ebrahimi        Ket
5161*22dc650dSSadaf Ebrahimi        End
5162*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5163*22dc650dSSadaf Ebrahimi
5164*22dc650dSSadaf Ebrahimi/[\x{17f}s]/iB,utf
5165*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5166*22dc650dSSadaf Ebrahimi        Bra
5167*22dc650dSSadaf Ebrahimi        [Ss\x{17f}\x{17f}]
5168*22dc650dSSadaf Ebrahimi        Ket
5169*22dc650dSSadaf Ebrahimi        End
5170*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5171*22dc650dSSadaf Ebrahimi
5172*22dc650dSSadaf Ebrahimi/[\x{4b}\x{6b}]/irB,utf
5173*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5174*22dc650dSSadaf Ebrahimi        Bra
5175*22dc650dSSadaf Ebrahimi     /i K
5176*22dc650dSSadaf Ebrahimi        Ket
5177*22dc650dSSadaf Ebrahimi        End
5178*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5179*22dc650dSSadaf Ebrahimi
5180*22dc650dSSadaf Ebrahimi/[\x{4b}\x{6b}]/iB,utf
5181*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5182*22dc650dSSadaf Ebrahimi        Bra
5183*22dc650dSSadaf Ebrahimi        [Kk\x{212a}\x{212a}]
5184*22dc650dSSadaf Ebrahimi        Ket
5185*22dc650dSSadaf Ebrahimi        End
5186*22dc650dSSadaf Ebrahimi------------------------------------------------------------------
5187*22dc650dSSadaf Ebrahimi
5188*22dc650dSSadaf Ebrahimi/s(?r)s(?-r)s(?r:s)s/i,utf
5189*22dc650dSSadaf Ebrahimi    \x{17f}S\x{17f}S\x{17f}
5190*22dc650dSSadaf Ebrahimi 0: \x{17f}S\x{17f}S\x{17f}
5191*22dc650dSSadaf Ebrahimi\= Expect no match
5192*22dc650dSSadaf Ebrahimi    \x{17f}\x{17f}\x{17f}S\x{17f}
5193*22dc650dSSadaf EbrahimiNo match
5194*22dc650dSSadaf Ebrahimi    \x{17f}S\x{17f}\x{17f}\x{17f}
5195*22dc650dSSadaf EbrahimiNo match
5196*22dc650dSSadaf Ebrahimi
5197*22dc650dSSadaf Ebrahimi/k(?^i)k/ir,utf
5198*22dc650dSSadaf Ebrahimi    K\x{212a}
5199*22dc650dSSadaf Ebrahimi 0: K\x{212a}
5200*22dc650dSSadaf Ebrahimi\= Expect no match
5201*22dc650dSSadaf Ebrahimi    \x{212a}\x{212a}
5202*22dc650dSSadaf EbrahimiNo match
5203*22dc650dSSadaf Ebrahimi
5204*22dc650dSSadaf Ebrahimi# End caseless restrict tests
5205*22dc650dSSadaf Ebrahimi
5206*22dc650dSSadaf Ebrahimi# TESTS for PCRE2_EXTRA_ASCII_xxx - again, tests with and without.
5207*22dc650dSSadaf Ebrahimi
5208*22dc650dSSadaf Ebrahimi# DIGITS
5209*22dc650dSSadaf Ebrahimi
5210*22dc650dSSadaf Ebrahimi/\d+/i,utf
5211*22dc650dSSadaf Ebrahimi    123\x{660}456
5212*22dc650dSSadaf Ebrahimi 0: 123
5213*22dc650dSSadaf Ebrahimi
5214*22dc650dSSadaf Ebrahimi/\d+/i,utf,ucp
5215*22dc650dSSadaf Ebrahimi    123\x{660}456
5216*22dc650dSSadaf Ebrahimi 0: 123\x{660}456
5217*22dc650dSSadaf Ebrahimi
5218*22dc650dSSadaf Ebrahimi/\d+/i,utf,ucp,ascii_bsd
5219*22dc650dSSadaf Ebrahimi    123\x{660}456
5220*22dc650dSSadaf Ebrahimi 0: 123
5221*22dc650dSSadaf Ebrahimi
5222*22dc650dSSadaf Ebrahimi/[\d]+/i,utf
5223*22dc650dSSadaf Ebrahimi    123\x{660}456
5224*22dc650dSSadaf Ebrahimi 0: 123
5225*22dc650dSSadaf Ebrahimi
5226*22dc650dSSadaf Ebrahimi/[\d]+/i,utf,ucp
5227*22dc650dSSadaf Ebrahimi    123\x{660}456
5228*22dc650dSSadaf Ebrahimi 0: 123\x{660}456
5229*22dc650dSSadaf Ebrahimi
5230*22dc650dSSadaf Ebrahimi/[\d]+/i,utf,ucp,ascii_bsd
5231*22dc650dSSadaf Ebrahimi    123\x{660}456
5232*22dc650dSSadaf Ebrahimi 0: 123
5233*22dc650dSSadaf Ebrahimi
5234*22dc650dSSadaf Ebrahimi/\d(?aD)\d(?-aD)\d/utf,ucp
5235*22dc650dSSadaf Ebrahimi    \x{660}9\x{660}
5236*22dc650dSSadaf Ebrahimi 0: \x{660}9\x{660}
5237*22dc650dSSadaf Ebrahimi\= Expect no match
5238*22dc650dSSadaf Ebrahimi    \x{660}\x{660}\x{660}
5239*22dc650dSSadaf EbrahimiNo match
5240*22dc650dSSadaf Ebrahimi
5241*22dc650dSSadaf Ebrahimi/\d(?-aD)\d(?aD)\d/utf,ucp,ascii_bsd
5242*22dc650dSSadaf Ebrahimi    999
5243*22dc650dSSadaf Ebrahimi 0: 999
5244*22dc650dSSadaf Ebrahimi    9\x{660}9
5245*22dc650dSSadaf Ebrahimi 0: 9\x{660}9
5246*22dc650dSSadaf Ebrahimi
5247*22dc650dSSadaf Ebrahimi/\d(?a)\d(?-a)\d/utf,ucp
5248*22dc650dSSadaf Ebrahimi    \x{660}9\x{660}
5249*22dc650dSSadaf Ebrahimi 0: \x{660}9\x{660}
5250*22dc650dSSadaf Ebrahimi\= Expect no match
5251*22dc650dSSadaf Ebrahimi    \x{660}\x{660}\x{660}
5252*22dc650dSSadaf EbrahimiNo match
5253*22dc650dSSadaf Ebrahimi
5254*22dc650dSSadaf Ebrahimi/\d(?-aD)\d(?aD)\d/utf,ucp,ascii_bsd
5255*22dc650dSSadaf Ebrahimi    999
5256*22dc650dSSadaf Ebrahimi 0: 999
5257*22dc650dSSadaf Ebrahimi    9\x{660}9
5258*22dc650dSSadaf Ebrahimi 0: 9\x{660}9
5259*22dc650dSSadaf Ebrahimi
5260*22dc650dSSadaf Ebrahimi# SPACES
5261*22dc650dSSadaf Ebrahimi
5262*22dc650dSSadaf Ebrahimi/>\s+</i,utf
5263*22dc650dSSadaf Ebrahimi    >  <
5264*22dc650dSSadaf Ebrahimi 0: >  <
5265*22dc650dSSadaf Ebrahimi\= Expect no match
5266*22dc650dSSadaf Ebrahimi    >\x{a0} <
5267*22dc650dSSadaf EbrahimiNo match
5268*22dc650dSSadaf Ebrahimi
5269*22dc650dSSadaf Ebrahimi/>\s+</i,utf,ucp
5270*22dc650dSSadaf Ebrahimi    >  <
5271*22dc650dSSadaf Ebrahimi 0: >  <
5272*22dc650dSSadaf Ebrahimi    >\x{a0} <
5273*22dc650dSSadaf Ebrahimi 0: >\x{a0} <
5274*22dc650dSSadaf Ebrahimi
5275*22dc650dSSadaf Ebrahimi/>\s+</i,utf,ucp,ascii_bss
5276*22dc650dSSadaf Ebrahimi    >  <
5277*22dc650dSSadaf Ebrahimi 0: >  <
5278*22dc650dSSadaf Ebrahimi\= Expect no match
5279*22dc650dSSadaf Ebrahimi    >\x{a0} <
5280*22dc650dSSadaf EbrahimiNo match
5281*22dc650dSSadaf Ebrahimi
5282*22dc650dSSadaf Ebrahimi/>[\s]+</i,utf
5283*22dc650dSSadaf Ebrahimi    >  <
5284*22dc650dSSadaf Ebrahimi 0: >  <
5285*22dc650dSSadaf Ebrahimi\= Expect no match
5286*22dc650dSSadaf Ebrahimi    >\x{a0} <
5287*22dc650dSSadaf EbrahimiNo match
5288*22dc650dSSadaf Ebrahimi
5289*22dc650dSSadaf Ebrahimi/>[\s]+</i,utf,ucp
5290*22dc650dSSadaf Ebrahimi    >  <
5291*22dc650dSSadaf Ebrahimi 0: >  <
5292*22dc650dSSadaf Ebrahimi    >\x{a0} <
5293*22dc650dSSadaf Ebrahimi 0: >\x{a0} <
5294*22dc650dSSadaf Ebrahimi
5295*22dc650dSSadaf Ebrahimi/>[\s]+</i,utf,ucp,ascii_bss
5296*22dc650dSSadaf Ebrahimi    >  <
5297*22dc650dSSadaf Ebrahimi 0: >  <
5298*22dc650dSSadaf Ebrahimi\= Expect no match
5299*22dc650dSSadaf Ebrahimi    >\x{a0} <
5300*22dc650dSSadaf EbrahimiNo match
5301*22dc650dSSadaf Ebrahimi
5302*22dc650dSSadaf Ebrahimi/>\s(?aS)\s(?-aS)\s</utf,ucp
5303*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
5304*22dc650dSSadaf Ebrahimi 0: >\x{a0} \x{a0}<
5305*22dc650dSSadaf Ebrahimi\= Expect no match
5306*22dc650dSSadaf Ebrahimi    >\x{a0}\x{a0}\x{a0}<
5307*22dc650dSSadaf EbrahimiNo match
5308*22dc650dSSadaf Ebrahimi
5309*22dc650dSSadaf Ebrahimi/>\s(?a)\s(?-a)\s</utf,ucp
5310*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
5311*22dc650dSSadaf Ebrahimi 0: >\x{a0} \x{a0}<
5312*22dc650dSSadaf Ebrahimi\= Expect no match
5313*22dc650dSSadaf Ebrahimi    >\x{a0}\x{a0}\x{a0}<
5314*22dc650dSSadaf EbrahimiNo match
5315*22dc650dSSadaf Ebrahimi
5316*22dc650dSSadaf Ebrahimi# WORDS
5317*22dc650dSSadaf Ebrahimi
5318*22dc650dSSadaf Ebrahimi/\w+/i,utf
5319*22dc650dSSadaf Ebrahimi    123\x{660}abc
5320*22dc650dSSadaf Ebrahimi 0: 123
5321*22dc650dSSadaf Ebrahimi
5322*22dc650dSSadaf Ebrahimi/\w+/i,utf,ucp
5323*22dc650dSSadaf Ebrahimi    123\x{660}abc
5324*22dc650dSSadaf Ebrahimi 0: 123\x{660}abc
5325*22dc650dSSadaf Ebrahimi
5326*22dc650dSSadaf Ebrahimi/\w+/i,utf,ucp,ascii_bsw
5327*22dc650dSSadaf Ebrahimi    123\x{660}abc
5328*22dc650dSSadaf Ebrahimi 0: 123
5329*22dc650dSSadaf Ebrahimi
5330*22dc650dSSadaf Ebrahimi/[\w]+/i,utf
5331*22dc650dSSadaf Ebrahimi    123\x{660}abc
5332*22dc650dSSadaf Ebrahimi 0: 123
5333*22dc650dSSadaf Ebrahimi
5334*22dc650dSSadaf Ebrahimi/[\w]+/i,utf,ucp
5335*22dc650dSSadaf Ebrahimi    123\x{660}abc
5336*22dc650dSSadaf Ebrahimi 0: 123\x{660}abc
5337*22dc650dSSadaf Ebrahimi
5338*22dc650dSSadaf Ebrahimi/[\w]+/i,utf,ucp,ascii_bsw
5339*22dc650dSSadaf Ebrahimi    123\x{660}abc
5340*22dc650dSSadaf Ebrahimi 0: 123
5341*22dc650dSSadaf Ebrahimi
5342*22dc650dSSadaf Ebrahimi/\w(?aW)\w(?-aW)\w/utf,ucp
5343*22dc650dSSadaf Ebrahimi    \x{660}A\x{c0}
5344*22dc650dSSadaf Ebrahimi 0: \x{660}A\x{c0}
5345*22dc650dSSadaf Ebrahimi\= Expect no match
5346*22dc650dSSadaf Ebrahimi    \x{660}\x{c0}\x{c0}
5347*22dc650dSSadaf EbrahimiNo match
5348*22dc650dSSadaf Ebrahimi
5349*22dc650dSSadaf Ebrahimi/\w(?a)\w(?-a)\w/utf,ucp
5350*22dc650dSSadaf Ebrahimi    \x{660}A\x{c0}
5351*22dc650dSSadaf Ebrahimi 0: \x{660}A\x{c0}
5352*22dc650dSSadaf Ebrahimi\= Expect no match
5353*22dc650dSSadaf Ebrahimi    \x{660}\x{c0}\x{c0}
5354*22dc650dSSadaf EbrahimiNo match
5355*22dc650dSSadaf Ebrahimi
5356*22dc650dSSadaf Ebrahimi# WORD BOUNDARY
5357*22dc650dSSadaf Ebrahimi
5358*22dc650dSSadaf Ebrahimi/\bABC\b/utf
5359*22dc650dSSadaf Ebrahimi    \x{c0}ABC\x{d0}
5360*22dc650dSSadaf Ebrahimi 0: ABC
5361*22dc650dSSadaf Ebrahimi
5362*22dc650dSSadaf Ebrahimi/\bABC\b/utf,ucp
5363*22dc650dSSadaf Ebrahimi\= Expect no match
5364*22dc650dSSadaf Ebrahimi    \x{c0}ABC\x{d0}
5365*22dc650dSSadaf EbrahimiNo match
5366*22dc650dSSadaf Ebrahimi
5367*22dc650dSSadaf Ebrahimi/\bABC\b/utf,ucp,ascii_bsw
5368*22dc650dSSadaf Ebrahimi    \x{c0}ABC\x{d0}
5369*22dc650dSSadaf Ebrahimi 0: ABC
5370*22dc650dSSadaf Ebrahimi
5371*22dc650dSSadaf Ebrahimi/\bABC\b/utf,ucp,ascii_all
5372*22dc650dSSadaf Ebrahimi    \x{c0}ABC\x{d0}
5373*22dc650dSSadaf Ebrahimi 0: ABC
5374*22dc650dSSadaf Ebrahimi
5375*22dc650dSSadaf Ebrahimi# POSIX
5376*22dc650dSSadaf Ebrahimi
5377*22dc650dSSadaf Ebrahimi/^[[:digit:]]+$/utf,ucp
5378*22dc650dSSadaf Ebrahimi    123456
5379*22dc650dSSadaf Ebrahimi 0: 123456
5380*22dc650dSSadaf Ebrahimi    123\x{660}456
5381*22dc650dSSadaf Ebrahimi 0: 123\x{660}456
5382*22dc650dSSadaf Ebrahimi
5383*22dc650dSSadaf Ebrahimi/^[[:digit:]]+$/utf,ucp,ascii_digit
5384*22dc650dSSadaf Ebrahimi    123456
5385*22dc650dSSadaf Ebrahimi 0: 123456
5386*22dc650dSSadaf Ebrahimi\= Expect no match
5387*22dc650dSSadaf Ebrahimi    123\x{660}456
5388*22dc650dSSadaf EbrahimiNo match
5389*22dc650dSSadaf Ebrahimi
5390*22dc650dSSadaf Ebrahimi/[[:digit:]]+/g,utf,ucp,ascii_digit
5391*22dc650dSSadaf Ebrahimi    123\x{660}456
5392*22dc650dSSadaf Ebrahimi 0: 123
5393*22dc650dSSadaf Ebrahimi 0: 456
5394*22dc650dSSadaf Ebrahimi
5395*22dc650dSSadaf Ebrahimi/(?-aT)[[:digit:]](?aT)[[:digit:]]/utf,ucp,ascii_digit
5396*22dc650dSSadaf Ebrahimi    11
5397*22dc650dSSadaf Ebrahimi 0: 11
5398*22dc650dSSadaf Ebrahimi    \x{ff11}1
5399*22dc650dSSadaf Ebrahimi 0: \x{ff11}1
5400*22dc650dSSadaf Ebrahimi\= Expect no match
5401*22dc650dSSadaf Ebrahimi    1\x{ff11}
5402*22dc650dSSadaf EbrahimiNo match
5403*22dc650dSSadaf Ebrahimi
5404*22dc650dSSadaf Ebrahimi/(?-aT:[[:digit:]])[[:digit:]]/utf,ucp,ascii_digit
5405*22dc650dSSadaf Ebrahimi    11
5406*22dc650dSSadaf Ebrahimi 0: 11
5407*22dc650dSSadaf Ebrahimi    \x{ff11}1
5408*22dc650dSSadaf Ebrahimi 0: \x{ff11}1
5409*22dc650dSSadaf Ebrahimi\= Expect no match
5410*22dc650dSSadaf Ebrahimi    1\x{ff11}
5411*22dc650dSSadaf EbrahimiNo match
5412*22dc650dSSadaf Ebrahimi
5413*22dc650dSSadaf Ebrahimi/(?-aT:[[:digit:]])[[:digit:]]/utf,never_ucp,ascii_digit
5414*22dc650dSSadaf Ebrahimi    11
5415*22dc650dSSadaf Ebrahimi 0: 11
5416*22dc650dSSadaf Ebrahimi\= Expect no match
5417*22dc650dSSadaf Ebrahimi    \x{ff11}1
5418*22dc650dSSadaf EbrahimiNo match
5419*22dc650dSSadaf Ebrahimi    1\x{ff11}
5420*22dc650dSSadaf EbrahimiNo match
5421*22dc650dSSadaf Ebrahimi
5422*22dc650dSSadaf Ebrahimi/[[:digit:]]+/utf,ucp,ascii_posix
5423*22dc650dSSadaf Ebrahimi    123\x{660}456
5424*22dc650dSSadaf Ebrahimi 0: 123
5425*22dc650dSSadaf Ebrahimi
5426*22dc650dSSadaf Ebrahimi/(?-aP)[[:digit:]](?aP)[[:digit:]]/utf,ucp,ascii_posix
5427*22dc650dSSadaf Ebrahimi    11
5428*22dc650dSSadaf Ebrahimi 0: 11
5429*22dc650dSSadaf Ebrahimi    \x{ff11}1
5430*22dc650dSSadaf Ebrahimi 0: \x{ff11}1
5431*22dc650dSSadaf Ebrahimi\= Expect no match
5432*22dc650dSSadaf Ebrahimi    1\x{ff11}
5433*22dc650dSSadaf EbrahimiNo match
5434*22dc650dSSadaf Ebrahimi
5435*22dc650dSSadaf Ebrahimi/(?-aP:[[:digit:]])[[:digit:]]/utf,ucp,ascii_posix
5436*22dc650dSSadaf Ebrahimi    11
5437*22dc650dSSadaf Ebrahimi 0: 11
5438*22dc650dSSadaf Ebrahimi    \x{ff11}1
5439*22dc650dSSadaf Ebrahimi 0: \x{ff11}1
5440*22dc650dSSadaf Ebrahimi\= Expect no match
5441*22dc650dSSadaf Ebrahimi    1\x{ff11}
5442*22dc650dSSadaf EbrahimiNo match
5443*22dc650dSSadaf Ebrahimi
5444*22dc650dSSadaf Ebrahimi/(?-a:[[:digit:]])[[:digit:]]/a,utf,ucp
5445*22dc650dSSadaf Ebrahimi    11
5446*22dc650dSSadaf Ebrahimi 0: 11
5447*22dc650dSSadaf Ebrahimi    \x{ff11}1
5448*22dc650dSSadaf Ebrahimi 0: \x{ff11}1
5449*22dc650dSSadaf Ebrahimi\= Expect no match
5450*22dc650dSSadaf Ebrahimi    1\x{ff11}
5451*22dc650dSSadaf EbrahimiNo match
5452*22dc650dSSadaf Ebrahimi
5453*22dc650dSSadaf Ebrahimi/^[[:xdigit:]]+$/utf,ucp
5454*22dc650dSSadaf Ebrahimi    f0
5455*22dc650dSSadaf Ebrahimi 0: f0
5456*22dc650dSSadaf Ebrahimi    1A
5457*22dc650dSSadaf Ebrahimi 0: 1A
5458*22dc650dSSadaf Ebrahimi    d\x{ff10}
5459*22dc650dSSadaf Ebrahimi 0: d\x{ff10}
5460*22dc650dSSadaf Ebrahimi    \x{ff26}8
5461*22dc650dSSadaf Ebrahimi 0: \x{ff26}8
5462*22dc650dSSadaf Ebrahimi\= Expect no match
5463*22dc650dSSadaf Ebrahimi    8g\=no_jit
5464*22dc650dSSadaf EbrahimiNo match
5465*22dc650dSSadaf Ebrahimi
5466*22dc650dSSadaf Ebrahimi/^[[:xdigit:]]+$/utf,ucp,ascii_digit
5467*22dc650dSSadaf Ebrahimi    f0
5468*22dc650dSSadaf Ebrahimi 0: f0
5469*22dc650dSSadaf Ebrahimi    1A
5470*22dc650dSSadaf Ebrahimi 0: 1A
5471*22dc650dSSadaf Ebrahimi\= Expect no match
5472*22dc650dSSadaf Ebrahimi    d\x{ff10}
5473*22dc650dSSadaf EbrahimiNo match
5474*22dc650dSSadaf Ebrahimi    \x{ff26}8
5475*22dc650dSSadaf EbrahimiNo match
5476*22dc650dSSadaf Ebrahimi    8g
5477*22dc650dSSadaf EbrahimiNo match
5478*22dc650dSSadaf Ebrahimi
5479*22dc650dSSadaf Ebrahimi/>[[:space:]]+</utf,ucp
5480*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
5481*22dc650dSSadaf Ebrahimi 0: >\x{a0} \x{a0}<
5482*22dc650dSSadaf Ebrahimi    >\x{a0}\x{a0}\x{a0}<
5483*22dc650dSSadaf Ebrahimi 0: >\x{a0}\x{a0}\x{a0}<
5484*22dc650dSSadaf Ebrahimi
5485*22dc650dSSadaf Ebrahimi/>[[:space:]]+</utf,ucp,ascii_posix
5486*22dc650dSSadaf Ebrahimi\= Expect no match
5487*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
5488*22dc650dSSadaf EbrahimiNo match
5489*22dc650dSSadaf Ebrahimi
5490*22dc650dSSadaf Ebrahimi/(?aP)[[:alnum:]]+/i,ucp,utf
5491*22dc650dSSadaf Ebrahimi    abcáxyz
5492*22dc650dSSadaf Ebrahimi 0: abc
5493*22dc650dSSadaf Ebrahimi    abc\x{660}xyz
5494*22dc650dSSadaf Ebrahimi 0: abc
5495*22dc650dSSadaf Ebrahimi
5496*22dc650dSSadaf Ebrahimi/(?aP)[[:alnum:]\d]+/i,ucp,utf
5497*22dc650dSSadaf Ebrahimi    abc\x{660}xyz
5498*22dc650dSSadaf Ebrahimi 0: abc\x{660}xyz
5499*22dc650dSSadaf Ebrahimi
5500*22dc650dSSadaf Ebrahimi/(*UCP)(*UTF)[[:alnum:]](?aP:[[:alnum:]])[[:alnum:]]/
5501*22dc650dSSadaf Ebrahimi    \x{660}A\x{660}
5502*22dc650dSSadaf Ebrahimi 0: \x{660}A\x{660}
5503*22dc650dSSadaf Ebrahimi\= Expect no match
5504*22dc650dSSadaf Ebrahimi    \x{660}\x{660}\x{660}
5505*22dc650dSSadaf EbrahimiNo match
5506*22dc650dSSadaf Ebrahimi
5507*22dc650dSSadaf Ebrahimi# VARIOUS
5508*22dc650dSSadaf Ebrahimi
5509*22dc650dSSadaf Ebrahimi/[\d\s\w]+/a,ucp,utf
5510*22dc650dSSadaf Ebrahimi    9 A\x{660}À
5511*22dc650dSSadaf Ebrahimi 0: 9 A
5512*22dc650dSSadaf Ebrahimi    9 AÀ\x{660}
5513*22dc650dSSadaf Ebrahimi 0: 9 A
5514*22dc650dSSadaf Ebrahimi
5515*22dc650dSSadaf Ebrahimi# End PCRE2_EXTRA_ASCII_xxx tests
5516*22dc650dSSadaf Ebrahimi
5517*22dc650dSSadaf Ebrahimi/(?<!(|l ))/utf
5518*22dc650dSSadaf Ebrahimi    (?<!(|l ))
5519No match
5520
5521# End of testinput5
5522