xref: /aosp_15_r20/external/pcre/testdata/testinput5 (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
21*22dc650dSSadaf Ebrahimi/^[[:graph:]]+$/utf,ucp
22*22dc650dSSadaf Ebrahimi\= Expect no match
23*22dc650dSSadaf Ebrahimi    \x{61c}
24*22dc650dSSadaf Ebrahimi    \x{2066}
25*22dc650dSSadaf Ebrahimi    \x{2067}
26*22dc650dSSadaf Ebrahimi    \x{2068}
27*22dc650dSSadaf Ebrahimi    \x{2069}
28*22dc650dSSadaf Ebrahimi
29*22dc650dSSadaf Ebrahimi/^[[:print:]]+$/utf,ucp
30*22dc650dSSadaf Ebrahimi\= Expect no match
31*22dc650dSSadaf Ebrahimi    \x{61c}
32*22dc650dSSadaf Ebrahimi    \x{2066}
33*22dc650dSSadaf Ebrahimi    \x{2067}
34*22dc650dSSadaf Ebrahimi    \x{2068}
35*22dc650dSSadaf Ebrahimi    \x{2069}
36*22dc650dSSadaf Ebrahimi
37*22dc650dSSadaf Ebrahimi/^[[:^graph:]]+$/utf,ucp
38*22dc650dSSadaf Ebrahimi    \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{61c}\x{1680}
39*22dc650dSSadaf Ebrahimi    \x{2028}\x{2029}\x{202f}\x{2065}\x{2066}\x{2067}\x{2068}\x{2069}
40*22dc650dSSadaf Ebrahimi
41*22dc650dSSadaf Ebrahimi/^[[:^print:]]+$/utf,ucp
42*22dc650dSSadaf Ebrahimi    \x{09}\x{1D}\x{85}\x{61c}\x{2028}\x{2029}\x{2065}\x{2066}\x{2067}
43*22dc650dSSadaf Ebrahimi    \x{2068}\x{2069}
44*22dc650dSSadaf Ebrahimi
45*22dc650dSSadaf Ebrahimi# Perl does not consider U+180e to be a space character. It is true that it
46*22dc650dSSadaf Ebrahimi# does not appear in the Unicode PropList.txt file as such, but in many other
47*22dc650dSSadaf Ebrahimi# sources it is listed as a space, and has been treated as such in PCRE for
48*22dc650dSSadaf Ebrahimi# a long time.
49*22dc650dSSadaf Ebrahimi
50*22dc650dSSadaf Ebrahimi/^>[[:blank:]]*/utf,ucp
51*22dc650dSSadaf Ebrahimi    >\x{20}\x{a0}\x{1680}\x{180e}\x{2000}\x{202f}\x{9}\x{b}\x{2028}
52*22dc650dSSadaf Ebrahimi
53*22dc650dSSadaf Ebrahimi/^A\s+Z/utf,ucp
54*22dc650dSSadaf Ebrahimi    A\x{85}\x{180e}\x{2005}Z
55*22dc650dSSadaf Ebrahimi
56*22dc650dSSadaf Ebrahimi/^A[\s]+Z/utf,ucp
57*22dc650dSSadaf Ebrahimi    A\x{2005}Z
58*22dc650dSSadaf Ebrahimi    A\x{85}\x{2005}Z
59*22dc650dSSadaf Ebrahimi
60*22dc650dSSadaf Ebrahimi/^[[:graph:]]+$/utf,ucp
61*22dc650dSSadaf Ebrahimi\= Expect no match
62*22dc650dSSadaf Ebrahimi    \x{180e}
63*22dc650dSSadaf Ebrahimi
64*22dc650dSSadaf Ebrahimi/^[[:print:]]+$/utf,ucp
65*22dc650dSSadaf Ebrahimi    \x{180e}
66*22dc650dSSadaf Ebrahimi
67*22dc650dSSadaf Ebrahimi/^[[:^graph:]]+$/utf,ucp
68*22dc650dSSadaf Ebrahimi    \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{61c}\x{1680}\x{180e}
69*22dc650dSSadaf Ebrahimi
70*22dc650dSSadaf Ebrahimi/^[[:^print:]]+$/utf,ucp
71*22dc650dSSadaf Ebrahimi\= Expect no match
72*22dc650dSSadaf Ebrahimi    \x{180e}
73*22dc650dSSadaf Ebrahimi
74*22dc650dSSadaf Ebrahimi# End of U+180E tests.
75*22dc650dSSadaf Ebrahimi
76*22dc650dSSadaf Ebrahimi# ---------------------------------------------------------------------
77*22dc650dSSadaf Ebrahimi
78*22dc650dSSadaf Ebrahimi/\x{110000}/IB,utf
79*22dc650dSSadaf Ebrahimi
80*22dc650dSSadaf Ebrahimi/\o{4200000}/IB,utf
81*22dc650dSSadaf Ebrahimi
82*22dc650dSSadaf Ebrahimi/\x{ffffffff}/utf
83*22dc650dSSadaf Ebrahimi
84*22dc650dSSadaf Ebrahimi/\o{37777777777}/utf
85*22dc650dSSadaf Ebrahimi
86*22dc650dSSadaf Ebrahimi/\x{100000000}/utf
87*22dc650dSSadaf Ebrahimi
88*22dc650dSSadaf Ebrahimi/\o{77777777777}/utf
89*22dc650dSSadaf Ebrahimi
90*22dc650dSSadaf Ebrahimi/\x{d800}/utf
91*22dc650dSSadaf Ebrahimi
92*22dc650dSSadaf Ebrahimi/\o{154000}/utf
93*22dc650dSSadaf Ebrahimi
94*22dc650dSSadaf Ebrahimi/\x{dfff}/utf
95*22dc650dSSadaf Ebrahimi
96*22dc650dSSadaf Ebrahimi/\o{157777}/utf
97*22dc650dSSadaf Ebrahimi
98*22dc650dSSadaf Ebrahimi/\x{d7ff}/utf
99*22dc650dSSadaf Ebrahimi
100*22dc650dSSadaf Ebrahimi/\o{153777}/utf
101*22dc650dSSadaf Ebrahimi
102*22dc650dSSadaf Ebrahimi/\x{e000}/utf
103*22dc650dSSadaf Ebrahimi
104*22dc650dSSadaf Ebrahimi/\o{170000}/utf
105*22dc650dSSadaf Ebrahimi
106*22dc650dSSadaf Ebrahimi/^\x{100}a\x{1234}/utf
107*22dc650dSSadaf Ebrahimi    \x{100}a\x{1234}bcd
108*22dc650dSSadaf Ebrahimi
109*22dc650dSSadaf Ebrahimi/\x{0041}\x{2262}\x{0391}\x{002e}/IB,utf
110*22dc650dSSadaf Ebrahimi    \x{0041}\x{2262}\x{0391}\x{002e}
111*22dc650dSSadaf Ebrahimi
112*22dc650dSSadaf Ebrahimi/.{3,5}X/IB,utf
113*22dc650dSSadaf Ebrahimi    \x{212ab}\x{212ab}\x{212ab}\x{861}X
114*22dc650dSSadaf Ebrahimi
115*22dc650dSSadaf Ebrahimi/.{3,5}?/IB,utf
116*22dc650dSSadaf Ebrahimi    \x{212ab}\x{212ab}\x{212ab}\x{861}
117*22dc650dSSadaf Ebrahimi
118*22dc650dSSadaf Ebrahimi/^[ab]/IB,utf
119*22dc650dSSadaf Ebrahimi    bar
120*22dc650dSSadaf Ebrahimi\= Expect no match
121*22dc650dSSadaf Ebrahimi    c
122*22dc650dSSadaf Ebrahimi    \x{ff}
123*22dc650dSSadaf Ebrahimi    \x{100}
124*22dc650dSSadaf Ebrahimi
125*22dc650dSSadaf Ebrahimi/\x{100}*(\d+|"(?1)")/utf
126*22dc650dSSadaf Ebrahimi    1234
127*22dc650dSSadaf Ebrahimi    "1234"
128*22dc650dSSadaf Ebrahimi    \x{100}1234
129*22dc650dSSadaf Ebrahimi    "\x{100}1234"
130*22dc650dSSadaf Ebrahimi    \x{100}\x{100}12ab
131*22dc650dSSadaf Ebrahimi    \x{100}\x{100}"12"
132*22dc650dSSadaf Ebrahimi\= Expect no match
133*22dc650dSSadaf Ebrahimi    \x{100}\x{100}abcd
134*22dc650dSSadaf Ebrahimi
135*22dc650dSSadaf Ebrahimi/\x{100}*/IB,utf
136*22dc650dSSadaf Ebrahimi
137*22dc650dSSadaf Ebrahimi/a\x{100}*/IB,utf
138*22dc650dSSadaf Ebrahimi
139*22dc650dSSadaf Ebrahimi/ab\x{100}*/IB,utf
140*22dc650dSSadaf Ebrahimi
141*22dc650dSSadaf Ebrahimi/[\x{200}-\x{100}]/utf
142*22dc650dSSadaf Ebrahimi
143*22dc650dSSadaf Ebrahimi/[Ā-Ą]/utf
144*22dc650dSSadaf Ebrahimi    \x{100}
145*22dc650dSSadaf Ebrahimi    \x{104}
146*22dc650dSSadaf Ebrahimi\= Expect no match
147*22dc650dSSadaf Ebrahimi    \x{105}
148*22dc650dSSadaf Ebrahimi    \x{ff}
149*22dc650dSSadaf Ebrahimi
150*22dc650dSSadaf Ebrahimi/[\xFF]/IB
151*22dc650dSSadaf Ebrahimi    >\xff<
152*22dc650dSSadaf Ebrahimi
153*22dc650dSSadaf Ebrahimi/[^\xFF]/IB
154*22dc650dSSadaf Ebrahimi
155*22dc650dSSadaf Ebrahimi/[Ä-Ü]/utf
156*22dc650dSSadaf Ebrahimi    Ö # Matches without Study
157*22dc650dSSadaf Ebrahimi    \x{d6}
158*22dc650dSSadaf Ebrahimi
159*22dc650dSSadaf Ebrahimi/[Ä-Ü]/utf
160*22dc650dSSadaf Ebrahimi    Ö <-- Same with Study
161*22dc650dSSadaf Ebrahimi    \x{d6}
162*22dc650dSSadaf Ebrahimi
163*22dc650dSSadaf Ebrahimi/[\x{c4}-\x{dc}]/utf
164*22dc650dSSadaf Ebrahimi    Ö # Matches without Study
165*22dc650dSSadaf Ebrahimi    \x{d6}
166*22dc650dSSadaf Ebrahimi
167*22dc650dSSadaf Ebrahimi/[\x{c4}-\x{dc}]/utf
168*22dc650dSSadaf Ebrahimi    Ö <-- Same with Study
169*22dc650dSSadaf Ebrahimi    \x{d6}
170*22dc650dSSadaf Ebrahimi
171*22dc650dSSadaf Ebrahimi/[^\x{100}]abc(xyz(?1))/IB,utf
172*22dc650dSSadaf Ebrahimi
173*22dc650dSSadaf Ebrahimi/(\x{100}(b(?2)c))?/IB,utf
174*22dc650dSSadaf Ebrahimi
175*22dc650dSSadaf Ebrahimi/(\x{100}(b(?2)c)){0,2}/IB,utf
176*22dc650dSSadaf Ebrahimi
177*22dc650dSSadaf Ebrahimi/(\x{100}(b(?1)c))?/IB,utf
178*22dc650dSSadaf Ebrahimi
179*22dc650dSSadaf Ebrahimi/(\x{100}(b(?1)c)){0,2}/IB,utf
180*22dc650dSSadaf Ebrahimi
181*22dc650dSSadaf Ebrahimi/\W/utf
182*22dc650dSSadaf Ebrahimi    A.B
183*22dc650dSSadaf Ebrahimi    A\x{100}B
184*22dc650dSSadaf Ebrahimi
185*22dc650dSSadaf Ebrahimi/\w/utf
186*22dc650dSSadaf Ebrahimi    \x{100}X
187*22dc650dSSadaf Ebrahimi
188*22dc650dSSadaf Ebrahimi# Use no_start_optimize because the first code unit is different in 8-bit from
189*22dc650dSSadaf Ebrahimi# the wider modes.
190*22dc650dSSadaf Ebrahimi
191*22dc650dSSadaf Ebrahimi/^\ሴ/IB,utf,no_start_optimize
192*22dc650dSSadaf Ebrahimi
193*22dc650dSSadaf Ebrahimi/()()()()()()()()()()
194*22dc650dSSadaf Ebrahimi ()()()()()()()()()()
195*22dc650dSSadaf Ebrahimi ()()()()()()()()()()
196*22dc650dSSadaf Ebrahimi ()()()()()()()()()()
197*22dc650dSSadaf Ebrahimi A (x) (?41) B/x,utf
198*22dc650dSSadaf Ebrahimi    AxxB
199*22dc650dSSadaf Ebrahimi
200*22dc650dSSadaf Ebrahimi/^[\x{100}\E-\Q\E\x{150}]/B,utf
201*22dc650dSSadaf Ebrahimi
202*22dc650dSSadaf Ebrahimi/^[\QĀ\E-\QŐ\E]/B,utf
203*22dc650dSSadaf Ebrahimi
204*22dc650dSSadaf Ebrahimi/^abc./gmx,newline=any,utf
205*22dc650dSSadaf Ebrahimi    abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
206*22dc650dSSadaf Ebrahimi
207*22dc650dSSadaf Ebrahimi/abc.$/gmx,newline=any,utf
208*22dc650dSSadaf Ebrahimi    abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
209*22dc650dSSadaf Ebrahimi
210*22dc650dSSadaf Ebrahimi/^a\Rb/bsr=unicode,utf
211*22dc650dSSadaf Ebrahimi    a\nb
212*22dc650dSSadaf Ebrahimi    a\rb
213*22dc650dSSadaf Ebrahimi    a\r\nb
214*22dc650dSSadaf Ebrahimi    a\x0bb
215*22dc650dSSadaf Ebrahimi    a\x0cb
216*22dc650dSSadaf Ebrahimi    a\x{85}b
217*22dc650dSSadaf Ebrahimi    a\x{2028}b
218*22dc650dSSadaf Ebrahimi    a\x{2029}b
219*22dc650dSSadaf Ebrahimi\= Expect no match
220*22dc650dSSadaf Ebrahimi    a\n\rb
221*22dc650dSSadaf Ebrahimi
222*22dc650dSSadaf Ebrahimi/^a\R*b/bsr=unicode,utf
223*22dc650dSSadaf Ebrahimi    ab
224*22dc650dSSadaf Ebrahimi    a\nb
225*22dc650dSSadaf Ebrahimi    a\rb
226*22dc650dSSadaf Ebrahimi    a\r\nb
227*22dc650dSSadaf Ebrahimi    a\x0bb
228*22dc650dSSadaf Ebrahimi    a\x0c\x{2028}\x{2029}b
229*22dc650dSSadaf Ebrahimi    a\x{85}b
230*22dc650dSSadaf Ebrahimi    a\n\rb
231*22dc650dSSadaf Ebrahimi    a\n\r\x{85}\x0cb
232*22dc650dSSadaf Ebrahimi
233*22dc650dSSadaf Ebrahimi/^a\R+b/bsr=unicode,utf
234*22dc650dSSadaf Ebrahimi    a\nb
235*22dc650dSSadaf Ebrahimi    a\rb
236*22dc650dSSadaf Ebrahimi    a\r\nb
237*22dc650dSSadaf Ebrahimi    a\x0bb
238*22dc650dSSadaf Ebrahimi    a\x0c\x{2028}\x{2029}b
239*22dc650dSSadaf Ebrahimi    a\x{85}b
240*22dc650dSSadaf Ebrahimi    a\n\rb
241*22dc650dSSadaf Ebrahimi    a\n\r\x{85}\x0cb
242*22dc650dSSadaf Ebrahimi\= Expect no match
243*22dc650dSSadaf Ebrahimi    ab
244*22dc650dSSadaf Ebrahimi
245*22dc650dSSadaf Ebrahimi/^a\R{1,3}b/bsr=unicode,utf
246*22dc650dSSadaf Ebrahimi    a\nb
247*22dc650dSSadaf Ebrahimi    a\n\rb
248*22dc650dSSadaf Ebrahimi    a\n\r\x{85}b
249*22dc650dSSadaf Ebrahimi    a\r\n\r\nb
250*22dc650dSSadaf Ebrahimi    a\r\n\r\n\r\nb
251*22dc650dSSadaf Ebrahimi    a\n\r\n\rb
252*22dc650dSSadaf Ebrahimi    a\n\n\r\nb
253*22dc650dSSadaf Ebrahimi\= Expect no match
254*22dc650dSSadaf Ebrahimi    a\n\n\n\rb
255*22dc650dSSadaf Ebrahimi    a\r
256*22dc650dSSadaf Ebrahimi
257*22dc650dSSadaf Ebrahimi/\H\h\V\v/utf
258*22dc650dSSadaf Ebrahimi    X X\x0a
259*22dc650dSSadaf Ebrahimi    X\x09X\x0b
260*22dc650dSSadaf Ebrahimi\= Expect no match
261*22dc650dSSadaf Ebrahimi    \x{a0} X\x0a
262*22dc650dSSadaf Ebrahimi
263*22dc650dSSadaf Ebrahimi/\H*\h+\V?\v{3,4}/utf
264*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
265*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
266*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}\x0a\x0b\x0c
267*22dc650dSSadaf Ebrahimi\= Expect no match
268*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}\x0a\x0b
269*22dc650dSSadaf Ebrahimi
270*22dc650dSSadaf Ebrahimi/\H\h\V\v/utf
271*22dc650dSSadaf Ebrahimi    \x{3001}\x{3000}\x{2030}\x{2028}
272*22dc650dSSadaf Ebrahimi    X\x{180e}X\x{85}
273*22dc650dSSadaf Ebrahimi\= Expect no match
274*22dc650dSSadaf Ebrahimi    \x{2009} X\x0a
275*22dc650dSSadaf Ebrahimi
276*22dc650dSSadaf Ebrahimi/\H*\h+\V?\v{3,4}/utf
277*22dc650dSSadaf Ebrahimi    \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
278*22dc650dSSadaf Ebrahimi    \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
279*22dc650dSSadaf Ebrahimi    \x09\x20\x{202f}\x0a\x0b\x0c
280*22dc650dSSadaf Ebrahimi\= Expect no match
281*22dc650dSSadaf Ebrahimi    \x09\x{200a}\x{a0}\x{2028}\x0b
282*22dc650dSSadaf Ebrahimi
283*22dc650dSSadaf Ebrahimi/[\h]/B,utf
284*22dc650dSSadaf Ebrahimi    >\x{1680}
285*22dc650dSSadaf Ebrahimi
286*22dc650dSSadaf Ebrahimi/[\h]{3,}/B,utf
287*22dc650dSSadaf Ebrahimi    >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
288*22dc650dSSadaf Ebrahimi
289*22dc650dSSadaf Ebrahimi/[\v]/B,utf
290*22dc650dSSadaf Ebrahimi
291*22dc650dSSadaf Ebrahimi/[\H]/B,utf
292*22dc650dSSadaf Ebrahimi
293*22dc650dSSadaf Ebrahimi/[\V]/B,utf
294*22dc650dSSadaf Ebrahimi
295*22dc650dSSadaf Ebrahimi/.*$/newline=any,utf
296*22dc650dSSadaf Ebrahimi    \x{1ec5}
297*22dc650dSSadaf Ebrahimi
298*22dc650dSSadaf Ebrahimi/a\Rb/I,bsr=anycrlf,utf
299*22dc650dSSadaf Ebrahimi    a\rb
300*22dc650dSSadaf Ebrahimi    a\nb
301*22dc650dSSadaf Ebrahimi    a\r\nb
302*22dc650dSSadaf Ebrahimi\= Expect no match
303*22dc650dSSadaf Ebrahimi    a\x{85}b
304*22dc650dSSadaf Ebrahimi    a\x0bb
305*22dc650dSSadaf Ebrahimi
306*22dc650dSSadaf Ebrahimi/a\Rb/I,bsr=unicode,utf
307*22dc650dSSadaf Ebrahimi    a\rb
308*22dc650dSSadaf Ebrahimi    a\nb
309*22dc650dSSadaf Ebrahimi    a\r\nb
310*22dc650dSSadaf Ebrahimi    a\x{85}b
311*22dc650dSSadaf Ebrahimi    a\x0bb
312*22dc650dSSadaf Ebrahimi
313*22dc650dSSadaf Ebrahimi/a\R?b/I,bsr=anycrlf,utf
314*22dc650dSSadaf Ebrahimi    a\rb
315*22dc650dSSadaf Ebrahimi    a\nb
316*22dc650dSSadaf Ebrahimi    a\r\nb
317*22dc650dSSadaf Ebrahimi\= Expect no match
318*22dc650dSSadaf Ebrahimi    a\x{85}b
319*22dc650dSSadaf Ebrahimi    a\x0bb
320*22dc650dSSadaf Ebrahimi
321*22dc650dSSadaf Ebrahimi/a\R?b/I,bsr=unicode,utf
322*22dc650dSSadaf Ebrahimi    a\rb
323*22dc650dSSadaf Ebrahimi    a\nb
324*22dc650dSSadaf Ebrahimi    a\r\nb
325*22dc650dSSadaf Ebrahimi    a\x{85}b
326*22dc650dSSadaf Ebrahimi    a\x0bb
327*22dc650dSSadaf Ebrahimi
328*22dc650dSSadaf Ebrahimi/.*a.*=.b.*/utf,newline=any
329*22dc650dSSadaf Ebrahimi    QQQ\x{2029}ABCaXYZ=!bPQR
330*22dc650dSSadaf Ebrahimi\= Expect no match
331*22dc650dSSadaf Ebrahimi    a\x{2029}b
332*22dc650dSSadaf Ebrahimi    \x61\xe2\x80\xa9\x62
333*22dc650dSSadaf Ebrahimi
334*22dc650dSSadaf Ebrahimi/[[:a\x{100}b:]]/utf
335*22dc650dSSadaf Ebrahimi
336*22dc650dSSadaf Ebrahimi/a[^]b/utf,allow_empty_class,match_unset_backref
337*22dc650dSSadaf Ebrahimi    a\x{1234}b
338*22dc650dSSadaf Ebrahimi    a\nb
339*22dc650dSSadaf Ebrahimi\= Expect no match
340*22dc650dSSadaf Ebrahimi    ab
341*22dc650dSSadaf Ebrahimi
342*22dc650dSSadaf Ebrahimi/a[^]+b/utf,allow_empty_class,match_unset_backref
343*22dc650dSSadaf Ebrahimi    aXb
344*22dc650dSSadaf Ebrahimi    a\nX\nX\x{1234}b
345*22dc650dSSadaf Ebrahimi\= Expect no match
346*22dc650dSSadaf Ebrahimi    ab
347*22dc650dSSadaf Ebrahimi
348*22dc650dSSadaf Ebrahimi/(\x{de})\1/
349*22dc650dSSadaf Ebrahimi    \x{de}\x{de}
350*22dc650dSSadaf Ebrahimi
351*22dc650dSSadaf Ebrahimi/X/newline=any,utf,firstline
352*22dc650dSSadaf Ebrahimi    A\x{1ec5}ABCXYZ
353*22dc650dSSadaf Ebrahimi
354*22dc650dSSadaf Ebrahimi/Xa{2,4}b/utf
355*22dc650dSSadaf Ebrahimi    X\=ps
356*22dc650dSSadaf Ebrahimi    Xa\=ps
357*22dc650dSSadaf Ebrahimi    Xaa\=ps
358*22dc650dSSadaf Ebrahimi    Xaaa\=ps
359*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
360*22dc650dSSadaf Ebrahimi
361*22dc650dSSadaf Ebrahimi/Xa{2,4}?b/utf
362*22dc650dSSadaf Ebrahimi    X\=ps
363*22dc650dSSadaf Ebrahimi    Xa\=ps
364*22dc650dSSadaf Ebrahimi    Xaa\=ps
365*22dc650dSSadaf Ebrahimi    Xaaa\=ps
366*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
367*22dc650dSSadaf Ebrahimi
368*22dc650dSSadaf Ebrahimi/Xa{2,4}+b/utf
369*22dc650dSSadaf Ebrahimi    X\=ps
370*22dc650dSSadaf Ebrahimi    Xa\=ps
371*22dc650dSSadaf Ebrahimi    Xaa\=ps
372*22dc650dSSadaf Ebrahimi    Xaaa\=ps
373*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
374*22dc650dSSadaf Ebrahimi
375*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}b/utf
376*22dc650dSSadaf Ebrahimi    X\=ps
377*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
378*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
379*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
380*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
381*22dc650dSSadaf Ebrahimi
382*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}?b/utf
383*22dc650dSSadaf Ebrahimi    X\=ps
384*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
385*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
386*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
387*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
388*22dc650dSSadaf Ebrahimi
389*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}+b/utf
390*22dc650dSSadaf Ebrahimi    X\=ps
391*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
392*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
393*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
394*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
395*22dc650dSSadaf Ebrahimi
396*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}b/utf
397*22dc650dSSadaf Ebrahimi\= Expect no match
398*22dc650dSSadaf Ebrahimi    Xx\=ps
399*22dc650dSSadaf Ebrahimi    X\x{123}x\=ps
400*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}x\=ps
401*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}x\=ps
402*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}x\=ps
403*22dc650dSSadaf Ebrahimi
404*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}?b/utf
405*22dc650dSSadaf Ebrahimi\= Expect no match
406*22dc650dSSadaf Ebrahimi    Xx\=ps
407*22dc650dSSadaf Ebrahimi    X\x{123}x\=ps
408*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}x\=ps
409*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}x\=ps
410*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}x\=ps
411*22dc650dSSadaf Ebrahimi
412*22dc650dSSadaf Ebrahimi/X\x{123}{2,4}+b/utf
413*22dc650dSSadaf Ebrahimi\= Expect no match
414*22dc650dSSadaf Ebrahimi    Xx\=ps
415*22dc650dSSadaf Ebrahimi    X\x{123}x\=ps
416*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}x\=ps
417*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}x\=ps
418*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}x\=ps
419*22dc650dSSadaf Ebrahimi
420*22dc650dSSadaf Ebrahimi/X\d{2,4}b/utf
421*22dc650dSSadaf Ebrahimi    X\=ps
422*22dc650dSSadaf Ebrahimi    X3\=ps
423*22dc650dSSadaf Ebrahimi    X33\=ps
424*22dc650dSSadaf Ebrahimi    X333\=ps
425*22dc650dSSadaf Ebrahimi    X3333\=ps
426*22dc650dSSadaf Ebrahimi
427*22dc650dSSadaf Ebrahimi/X\d{2,4}?b/utf
428*22dc650dSSadaf Ebrahimi    X\=ps
429*22dc650dSSadaf Ebrahimi    X3\=ps
430*22dc650dSSadaf Ebrahimi    X33\=ps
431*22dc650dSSadaf Ebrahimi    X333\=ps
432*22dc650dSSadaf Ebrahimi    X3333\=ps
433*22dc650dSSadaf Ebrahimi
434*22dc650dSSadaf Ebrahimi/X\d{2,4}+b/utf
435*22dc650dSSadaf Ebrahimi    X\=ps
436*22dc650dSSadaf Ebrahimi    X3\=ps
437*22dc650dSSadaf Ebrahimi    X33\=ps
438*22dc650dSSadaf Ebrahimi    X333\=ps
439*22dc650dSSadaf Ebrahimi    X3333\=ps
440*22dc650dSSadaf Ebrahimi
441*22dc650dSSadaf Ebrahimi/X\D{2,4}b/utf
442*22dc650dSSadaf Ebrahimi    X\=ps
443*22dc650dSSadaf Ebrahimi    Xa\=ps
444*22dc650dSSadaf Ebrahimi    Xaa\=ps
445*22dc650dSSadaf Ebrahimi    Xaaa\=ps
446*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
447*22dc650dSSadaf Ebrahimi
448*22dc650dSSadaf Ebrahimi/X\D{2,4}?b/utf
449*22dc650dSSadaf Ebrahimi    X\=ps
450*22dc650dSSadaf Ebrahimi    Xa\=ps
451*22dc650dSSadaf Ebrahimi    Xaa\=ps
452*22dc650dSSadaf Ebrahimi    Xaaa\=ps
453*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
454*22dc650dSSadaf Ebrahimi
455*22dc650dSSadaf Ebrahimi/X\D{2,4}+b/utf
456*22dc650dSSadaf Ebrahimi    X\=ps
457*22dc650dSSadaf Ebrahimi    Xa\=ps
458*22dc650dSSadaf Ebrahimi    Xaa\=ps
459*22dc650dSSadaf Ebrahimi    Xaaa\=ps
460*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
461*22dc650dSSadaf Ebrahimi
462*22dc650dSSadaf Ebrahimi/X\D{2,4}b/utf
463*22dc650dSSadaf Ebrahimi    X\=ps
464*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
465*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
466*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
467*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
468*22dc650dSSadaf Ebrahimi
469*22dc650dSSadaf Ebrahimi/X\D{2,4}?b/utf
470*22dc650dSSadaf Ebrahimi    X\=ps
471*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
472*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
473*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
474*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
475*22dc650dSSadaf Ebrahimi
476*22dc650dSSadaf Ebrahimi/X\D{2,4}+b/utf
477*22dc650dSSadaf Ebrahimi    X\=ps
478*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
479*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
480*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
481*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
482*22dc650dSSadaf Ebrahimi
483*22dc650dSSadaf Ebrahimi/X[abc]{2,4}b/utf
484*22dc650dSSadaf Ebrahimi    X\=ps
485*22dc650dSSadaf Ebrahimi    Xa\=ps
486*22dc650dSSadaf Ebrahimi    Xaa\=ps
487*22dc650dSSadaf Ebrahimi    Xaaa\=ps
488*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
489*22dc650dSSadaf Ebrahimi
490*22dc650dSSadaf Ebrahimi/X[abc]{2,4}?b/utf
491*22dc650dSSadaf Ebrahimi    X\=ps
492*22dc650dSSadaf Ebrahimi    Xa\=ps
493*22dc650dSSadaf Ebrahimi    Xaa\=ps
494*22dc650dSSadaf Ebrahimi    Xaaa\=ps
495*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
496*22dc650dSSadaf Ebrahimi
497*22dc650dSSadaf Ebrahimi/X[abc]{2,4}+b/utf
498*22dc650dSSadaf Ebrahimi    X\=ps
499*22dc650dSSadaf Ebrahimi    Xa\=ps
500*22dc650dSSadaf Ebrahimi    Xaa\=ps
501*22dc650dSSadaf Ebrahimi    Xaaa\=ps
502*22dc650dSSadaf Ebrahimi    Xaaaa\=ps
503*22dc650dSSadaf Ebrahimi
504*22dc650dSSadaf Ebrahimi/X[abc\x{123}]{2,4}b/utf
505*22dc650dSSadaf Ebrahimi    X\=ps
506*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
507*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
508*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
509*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
510*22dc650dSSadaf Ebrahimi
511*22dc650dSSadaf Ebrahimi/X[abc\x{123}]{2,4}?b/utf
512*22dc650dSSadaf Ebrahimi    X\=ps
513*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
514*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
515*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
516*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
517*22dc650dSSadaf Ebrahimi
518*22dc650dSSadaf Ebrahimi/X[abc\x{123}]{2,4}+b/utf
519*22dc650dSSadaf Ebrahimi    X\=ps
520*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
521*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
522*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
523*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
524*22dc650dSSadaf Ebrahimi
525*22dc650dSSadaf Ebrahimi/X[^a]{2,4}b/utf
526*22dc650dSSadaf Ebrahimi    X\=ps
527*22dc650dSSadaf Ebrahimi    Xz\=ps
528*22dc650dSSadaf Ebrahimi    Xzz\=ps
529*22dc650dSSadaf Ebrahimi    Xzzz\=ps
530*22dc650dSSadaf Ebrahimi    Xzzzz\=ps
531*22dc650dSSadaf Ebrahimi
532*22dc650dSSadaf Ebrahimi/X[^a]{2,4}?b/utf
533*22dc650dSSadaf Ebrahimi    X\=ps
534*22dc650dSSadaf Ebrahimi    Xz\=ps
535*22dc650dSSadaf Ebrahimi    Xzz\=ps
536*22dc650dSSadaf Ebrahimi    Xzzz\=ps
537*22dc650dSSadaf Ebrahimi    Xzzzz\=ps
538*22dc650dSSadaf Ebrahimi
539*22dc650dSSadaf Ebrahimi/X[^a]{2,4}+b/utf
540*22dc650dSSadaf Ebrahimi    X\=ps
541*22dc650dSSadaf Ebrahimi    Xz\=ps
542*22dc650dSSadaf Ebrahimi    Xzz\=ps
543*22dc650dSSadaf Ebrahimi    Xzzz\=ps
544*22dc650dSSadaf Ebrahimi    Xzzzz\=ps
545*22dc650dSSadaf Ebrahimi
546*22dc650dSSadaf Ebrahimi/X[^a]{2,4}b/utf
547*22dc650dSSadaf Ebrahimi    X\=ps
548*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
549*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
550*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
551*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
552*22dc650dSSadaf Ebrahimi
553*22dc650dSSadaf Ebrahimi/X[^a]{2,4}?b/utf
554*22dc650dSSadaf Ebrahimi    X\=ps
555*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
556*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
557*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
558*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
559*22dc650dSSadaf Ebrahimi
560*22dc650dSSadaf Ebrahimi/X[^a]{2,4}+b/utf
561*22dc650dSSadaf Ebrahimi    X\=ps
562*22dc650dSSadaf Ebrahimi    X\x{123}\=ps
563*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\=ps
564*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\=ps
565*22dc650dSSadaf Ebrahimi    X\x{123}\x{123}\x{123}\x{123}\=ps
566*22dc650dSSadaf Ebrahimi
567*22dc650dSSadaf Ebrahimi/(Y)X\1{2,4}b/utf
568*22dc650dSSadaf Ebrahimi    YX\=ps
569*22dc650dSSadaf Ebrahimi    YXY\=ps
570*22dc650dSSadaf Ebrahimi    YXYY\=ps
571*22dc650dSSadaf Ebrahimi    YXYYY\=ps
572*22dc650dSSadaf Ebrahimi    YXYYYY\=ps
573*22dc650dSSadaf Ebrahimi
574*22dc650dSSadaf Ebrahimi/(Y)X\1{2,4}?b/utf
575*22dc650dSSadaf Ebrahimi    YX\=ps
576*22dc650dSSadaf Ebrahimi    YXY\=ps
577*22dc650dSSadaf Ebrahimi    YXYY\=ps
578*22dc650dSSadaf Ebrahimi    YXYYY\=ps
579*22dc650dSSadaf Ebrahimi    YXYYYY\=ps
580*22dc650dSSadaf Ebrahimi
581*22dc650dSSadaf Ebrahimi/(Y)X\1{2,4}+b/utf
582*22dc650dSSadaf Ebrahimi    YX\=ps
583*22dc650dSSadaf Ebrahimi    YXY\=ps
584*22dc650dSSadaf Ebrahimi    YXYY\=ps
585*22dc650dSSadaf Ebrahimi    YXYYY\=ps
586*22dc650dSSadaf Ebrahimi    YXYYYY\=ps
587*22dc650dSSadaf Ebrahimi
588*22dc650dSSadaf Ebrahimi/(\x{123})X\1{2,4}b/utf
589*22dc650dSSadaf Ebrahimi    \x{123}X\=ps
590*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\=ps
591*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\=ps
592*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\=ps
593*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\x{123}\=ps
594*22dc650dSSadaf Ebrahimi
595*22dc650dSSadaf Ebrahimi/(\x{123})X\1{2,4}?b/utf
596*22dc650dSSadaf Ebrahimi    \x{123}X\=ps
597*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\=ps
598*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\=ps
599*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\=ps
600*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\x{123}\=ps
601*22dc650dSSadaf Ebrahimi
602*22dc650dSSadaf Ebrahimi/(\x{123})X\1{2,4}+b/utf
603*22dc650dSSadaf Ebrahimi    \x{123}X\=ps
604*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\=ps
605*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\=ps
606*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\=ps
607*22dc650dSSadaf Ebrahimi    \x{123}X\x{123}\x{123}\x{123}\x{123}\=ps
608*22dc650dSSadaf Ebrahimi
609*22dc650dSSadaf Ebrahimi/\bthe cat\b/utf
610*22dc650dSSadaf Ebrahimi    the cat\=ps
611*22dc650dSSadaf Ebrahimi    the cat\=ph
612*22dc650dSSadaf Ebrahimi
613*22dc650dSSadaf Ebrahimi/abcd*/utf
614*22dc650dSSadaf Ebrahimi    xxxxabcd\=ps
615*22dc650dSSadaf Ebrahimi    xxxxabcd\=ph
616*22dc650dSSadaf Ebrahimi
617*22dc650dSSadaf Ebrahimi/abcd*/i,utf
618*22dc650dSSadaf Ebrahimi    xxxxabcd\=ps
619*22dc650dSSadaf Ebrahimi    xxxxabcd\=ph
620*22dc650dSSadaf Ebrahimi    XXXXABCD\=ps
621*22dc650dSSadaf Ebrahimi    XXXXABCD\=ph
622*22dc650dSSadaf Ebrahimi
623*22dc650dSSadaf Ebrahimi/abc\d*/utf
624*22dc650dSSadaf Ebrahimi    xxxxabc1\=ps
625*22dc650dSSadaf Ebrahimi    xxxxabc1\=ph
626*22dc650dSSadaf Ebrahimi
627*22dc650dSSadaf Ebrahimi/(a)bc\1*/utf
628*22dc650dSSadaf Ebrahimi    xxxxabca\=ps
629*22dc650dSSadaf Ebrahimi    xxxxabca\=ph
630*22dc650dSSadaf Ebrahimi
631*22dc650dSSadaf Ebrahimi/abc[de]*/utf
632*22dc650dSSadaf Ebrahimi    xxxxabcde\=ps
633*22dc650dSSadaf Ebrahimi    xxxxabcde\=ph
634*22dc650dSSadaf Ebrahimi
635*22dc650dSSadaf Ebrahimi/X\W{3}X/utf
636*22dc650dSSadaf Ebrahimi    X\=ps
637*22dc650dSSadaf Ebrahimi
638*22dc650dSSadaf Ebrahimi/\sxxx\s/utf,tables=2
639*22dc650dSSadaf Ebrahimi    AB\x{85}xxx\x{a0}XYZ
640*22dc650dSSadaf Ebrahimi    AB\x{a0}xxx\x{85}XYZ
641*22dc650dSSadaf Ebrahimi
642*22dc650dSSadaf Ebrahimi/\S \S/utf,tables=2
643*22dc650dSSadaf Ebrahimi    \x{a2} \x{84}
644*22dc650dSSadaf Ebrahimi
645*22dc650dSSadaf Ebrahimi'A#хц'Bx,newline=any,utf
646*22dc650dSSadaf Ebrahimi
647*22dc650dSSadaf Ebrahimi'A#хц
648*22dc650dSSadaf Ebrahimi  PQ'Bx,newline=any,utf
649*22dc650dSSadaf Ebrahimi
650*22dc650dSSadaf Ebrahimi/a+#хaa
651*22dc650dSSadaf Ebrahimi  z#XX?/Bx,newline=any,utf
652*22dc650dSSadaf Ebrahimi
653*22dc650dSSadaf Ebrahimi/a+#хaa
654*22dc650dSSadaf Ebrahimi  z#х?/Bx,newline=any,utf
655*22dc650dSSadaf Ebrahimi
656*22dc650dSSadaf Ebrahimi/\g{A}xxx#bXX(?'A'123)
657*22dc650dSSadaf Ebrahimi(?'A'456)/Bx,newline=any,utf
658*22dc650dSSadaf Ebrahimi
659*22dc650dSSadaf Ebrahimi/\g{A}xxx#bх(?'A'123)
660*22dc650dSSadaf Ebrahimi(?'A'456)/Bx,newline=any,utf
661*22dc650dSSadaf Ebrahimi
662*22dc650dSSadaf Ebrahimi/^\cģ/utf
663*22dc650dSSadaf Ebrahimi
664*22dc650dSSadaf Ebrahimi/(\R*)(.)/s,utf
665*22dc650dSSadaf Ebrahimi    \r\n
666*22dc650dSSadaf Ebrahimi    \r\r\n\n\r
667*22dc650dSSadaf Ebrahimi    \r\r\n\n\r\n
668*22dc650dSSadaf Ebrahimi
669*22dc650dSSadaf Ebrahimi/(\R)*(.)/s,utf
670*22dc650dSSadaf Ebrahimi    \r\n
671*22dc650dSSadaf Ebrahimi    \r\r\n\n\r
672*22dc650dSSadaf Ebrahimi    \r\r\n\n\r\n
673*22dc650dSSadaf Ebrahimi
674*22dc650dSSadaf Ebrahimi/[^\x{1234}]+/Ii,utf
675*22dc650dSSadaf Ebrahimi
676*22dc650dSSadaf Ebrahimi/[^\x{1234}]+?/Ii,utf
677*22dc650dSSadaf Ebrahimi
678*22dc650dSSadaf Ebrahimi/[^\x{1234}]++/Ii,utf
679*22dc650dSSadaf Ebrahimi
680*22dc650dSSadaf Ebrahimi/[^\x{1234}]{2}/Ii,utf
681*22dc650dSSadaf Ebrahimi
682*22dc650dSSadaf Ebrahimi/f.*/
683*22dc650dSSadaf Ebrahimi    for\=ph
684*22dc650dSSadaf Ebrahimi
685*22dc650dSSadaf Ebrahimi/f.*/s
686*22dc650dSSadaf Ebrahimi    for\=ph
687*22dc650dSSadaf Ebrahimi
688*22dc650dSSadaf Ebrahimi/f.*/utf
689*22dc650dSSadaf Ebrahimi    for\=ph
690*22dc650dSSadaf Ebrahimi
691*22dc650dSSadaf Ebrahimi/f.*/s,utf
692*22dc650dSSadaf Ebrahimi    for\=ph
693*22dc650dSSadaf Ebrahimi
694*22dc650dSSadaf Ebrahimi/\x{d7ff}\x{e000}/utf
695*22dc650dSSadaf Ebrahimi
696*22dc650dSSadaf Ebrahimi/\x{d800}/utf
697*22dc650dSSadaf Ebrahimi
698*22dc650dSSadaf Ebrahimi/\x{dfff}/utf
699*22dc650dSSadaf Ebrahimi
700*22dc650dSSadaf Ebrahimi/\h+/utf
701*22dc650dSSadaf Ebrahimi    \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
702*22dc650dSSadaf Ebrahimi    \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
703*22dc650dSSadaf Ebrahimi
704*22dc650dSSadaf Ebrahimi/[\h\x{e000}]+/B,utf
705*22dc650dSSadaf Ebrahimi    \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
706*22dc650dSSadaf Ebrahimi    \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
707*22dc650dSSadaf Ebrahimi
708*22dc650dSSadaf Ebrahimi/\H+/utf
709*22dc650dSSadaf Ebrahimi    \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
710*22dc650dSSadaf Ebrahimi    \x{2000}\x{200a}\x{1fff}\x{200b}
711*22dc650dSSadaf Ebrahimi    \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
712*22dc650dSSadaf Ebrahimi    \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
713*22dc650dSSadaf Ebrahimi
714*22dc650dSSadaf Ebrahimi/[\H\x{d7ff}]+/B,utf
715*22dc650dSSadaf Ebrahimi    \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
716*22dc650dSSadaf Ebrahimi    \x{2000}\x{200a}\x{1fff}\x{200b}
717*22dc650dSSadaf Ebrahimi    \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
718*22dc650dSSadaf Ebrahimi    \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
719*22dc650dSSadaf Ebrahimi
720*22dc650dSSadaf Ebrahimi/\v+/utf
721*22dc650dSSadaf Ebrahimi    \x{2027}\x{2030}\x{2028}\x{2029}
722*22dc650dSSadaf Ebrahimi    \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
723*22dc650dSSadaf Ebrahimi
724*22dc650dSSadaf Ebrahimi/[\v\x{e000}]+/B,utf
725*22dc650dSSadaf Ebrahimi    \x{2027}\x{2030}\x{2028}\x{2029}
726*22dc650dSSadaf Ebrahimi    \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
727*22dc650dSSadaf Ebrahimi
728*22dc650dSSadaf Ebrahimi/\V+/utf
729*22dc650dSSadaf Ebrahimi    \x{2028}\x{2029}\x{2027}\x{2030}
730*22dc650dSSadaf Ebrahimi    \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
731*22dc650dSSadaf Ebrahimi
732*22dc650dSSadaf Ebrahimi/[\V\x{d7ff}]+/B,utf
733*22dc650dSSadaf Ebrahimi    \x{2028}\x{2029}\x{2027}\x{2030}
734*22dc650dSSadaf Ebrahimi    \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
735*22dc650dSSadaf Ebrahimi
736*22dc650dSSadaf Ebrahimi/\R+/bsr=unicode,utf
737*22dc650dSSadaf Ebrahimi    \x{2027}\x{2030}\x{2028}\x{2029}
738*22dc650dSSadaf Ebrahimi    \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
739*22dc650dSSadaf Ebrahimi
740*22dc650dSSadaf Ebrahimi/(..)\1/utf
741*22dc650dSSadaf Ebrahimi    ab\=ps
742*22dc650dSSadaf Ebrahimi    aba\=ps
743*22dc650dSSadaf Ebrahimi    abab\=ps
744*22dc650dSSadaf Ebrahimi
745*22dc650dSSadaf Ebrahimi/(..)\1/i,utf
746*22dc650dSSadaf Ebrahimi    ab\=ps
747*22dc650dSSadaf Ebrahimi    abA\=ps
748*22dc650dSSadaf Ebrahimi    aBAb\=ps
749*22dc650dSSadaf Ebrahimi
750*22dc650dSSadaf Ebrahimi/(..)\1{2,}/utf
751*22dc650dSSadaf Ebrahimi    ab\=ps
752*22dc650dSSadaf Ebrahimi    aba\=ps
753*22dc650dSSadaf Ebrahimi    abab\=ps
754*22dc650dSSadaf Ebrahimi    ababa\=ps
755*22dc650dSSadaf Ebrahimi    ababab\=ps
756*22dc650dSSadaf Ebrahimi    ababab\=ph
757*22dc650dSSadaf Ebrahimi    abababa\=ps
758*22dc650dSSadaf Ebrahimi    abababa\=ph
759*22dc650dSSadaf Ebrahimi
760*22dc650dSSadaf Ebrahimi/(..)\1{2,}/i,utf
761*22dc650dSSadaf Ebrahimi    ab\=ps
762*22dc650dSSadaf Ebrahimi    aBa\=ps
763*22dc650dSSadaf Ebrahimi    aBAb\=ps
764*22dc650dSSadaf Ebrahimi    AbaBA\=ps
765*22dc650dSSadaf Ebrahimi    abABAb\=ps
766*22dc650dSSadaf Ebrahimi    aBAbaB\=ph
767*22dc650dSSadaf Ebrahimi    abABabA\=ps
768*22dc650dSSadaf Ebrahimi    abaBABa\=ph
769*22dc650dSSadaf Ebrahimi
770*22dc650dSSadaf Ebrahimi/(..)\1{2,}?x/i,utf
771*22dc650dSSadaf Ebrahimi    ab\=ps
772*22dc650dSSadaf Ebrahimi    abA\=ps
773*22dc650dSSadaf Ebrahimi    aBAb\=ps
774*22dc650dSSadaf Ebrahimi    abaBA\=ps
775*22dc650dSSadaf Ebrahimi    abAbaB\=ps
776*22dc650dSSadaf Ebrahimi    abaBabA\=ps
777*22dc650dSSadaf Ebrahimi    abAbABaBx\=ps
778*22dc650dSSadaf Ebrahimi
779*22dc650dSSadaf Ebrahimi/./utf,newline=crlf
780*22dc650dSSadaf Ebrahimi    \r\=ps
781*22dc650dSSadaf Ebrahimi    \r\=ph
782*22dc650dSSadaf Ebrahimi
783*22dc650dSSadaf Ebrahimi/.{2,3}/utf,newline=crlf
784*22dc650dSSadaf Ebrahimi    \r\=ps
785*22dc650dSSadaf Ebrahimi    \r\=ph
786*22dc650dSSadaf Ebrahimi    \r\r\=ps
787*22dc650dSSadaf Ebrahimi    \r\r\=ph
788*22dc650dSSadaf Ebrahimi    \r\r\r\=ps
789*22dc650dSSadaf Ebrahimi    \r\r\r\=ph
790*22dc650dSSadaf Ebrahimi
791*22dc650dSSadaf Ebrahimi/.{2,3}?/utf,newline=crlf
792*22dc650dSSadaf Ebrahimi    \r\=ps
793*22dc650dSSadaf Ebrahimi    \r\=ph
794*22dc650dSSadaf Ebrahimi    \r\r\=ps
795*22dc650dSSadaf Ebrahimi    \r\r\=ph
796*22dc650dSSadaf Ebrahimi    \r\r\r\=ps
797*22dc650dSSadaf Ebrahimi    \r\r\r\=ph
798*22dc650dSSadaf Ebrahimi
799*22dc650dSSadaf Ebrahimi/[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/B,utf
800*22dc650dSSadaf Ebrahimi
801*22dc650dSSadaf Ebrahimi/[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/Bi,utf
802*22dc650dSSadaf Ebrahimi
803*22dc650dSSadaf Ebrahimi/[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/B,utf
804*22dc650dSSadaf Ebrahimi
805*22dc650dSSadaf Ebrahimi/[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/Bi,utf
806*22dc650dSSadaf Ebrahimi
807*22dc650dSSadaf Ebrahimi/(?<=\x{1234}\x{1234})\bxy/I,utf
808*22dc650dSSadaf Ebrahimi
809*22dc650dSSadaf Ebrahimi/(?<!^)ETA/utf
810*22dc650dSSadaf Ebrahimi\= Expect no match
811*22dc650dSSadaf Ebrahimi    ETA
812*22dc650dSSadaf Ebrahimi
813*22dc650dSSadaf Ebrahimi/\u0100/B,utf,alt_bsux,allow_empty_class,match_unset_backref
814*22dc650dSSadaf Ebrahimi
815*22dc650dSSadaf Ebrahimi/[\u0100-\u0200]/B,utf,alt_bsux,allow_empty_class,match_unset_backref
816*22dc650dSSadaf Ebrahimi
817*22dc650dSSadaf Ebrahimi/\ud800/utf,alt_bsux,allow_empty_class,match_unset_backref
818*22dc650dSSadaf Ebrahimi
819*22dc650dSSadaf Ebrahimi/^\u{0000000000010ffff}/utf,extra_alt_bsux
820*22dc650dSSadaf Ebrahimi    \x{10ffff}
821*22dc650dSSadaf Ebrahimi
822*22dc650dSSadaf Ebrahimi/\u{ 1bb1}/utf,extra_alt_bsux
823*22dc650dSSadaf Ebrahimi    u{ 1bb1}
824*22dc650dSSadaf Ebrahimi\= Expect no match
825*22dc650dSSadaf Ebrahimi    \x{1bb1}
826*22dc650dSSadaf Ebrahimi
827*22dc650dSSadaf Ebrahimi/\u/utf,alt_bsux
828*22dc650dSSadaf Ebrahimi    \\u
829*22dc650dSSadaf Ebrahimi
830*22dc650dSSadaf Ebrahimi/^a+[a\x{200}]/B,utf
831*22dc650dSSadaf Ebrahimi    aa
832*22dc650dSSadaf Ebrahimi
833*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
834*22dc650dSSadaf Ebrahimi
835*22dc650dSSadaf Ebrahimi/[\p{L}]/IB
836*22dc650dSSadaf Ebrahimi
837*22dc650dSSadaf Ebrahimi/[\p{^L}]/IB
838*22dc650dSSadaf Ebrahimi
839*22dc650dSSadaf Ebrahimi/[\P{L}]/IB
840*22dc650dSSadaf Ebrahimi
841*22dc650dSSadaf Ebrahimi/[\P{^L}]/IB
842*22dc650dSSadaf Ebrahimi
843*22dc650dSSadaf Ebrahimi/[abc\p{L}\x{0660}]/IB,utf
844*22dc650dSSadaf Ebrahimi
845*22dc650dSSadaf Ebrahimi/[\p{Nd}]/IB,utf
846*22dc650dSSadaf Ebrahimi    1234
847*22dc650dSSadaf Ebrahimi
848*22dc650dSSadaf Ebrahimi/[\p{Nd}+-]+/IB,utf
849*22dc650dSSadaf Ebrahimi    1234
850*22dc650dSSadaf Ebrahimi    12-34
851*22dc650dSSadaf Ebrahimi    12+\x{661}-34
852*22dc650dSSadaf Ebrahimi\= Expect no match
853*22dc650dSSadaf Ebrahimi    abcd
854*22dc650dSSadaf Ebrahimi
855*22dc650dSSadaf Ebrahimi/(?:[\PPa*]*){8,}/
856*22dc650dSSadaf Ebrahimi
857*22dc650dSSadaf Ebrahimi/[\P{Any}]/B
858*22dc650dSSadaf Ebrahimi
859*22dc650dSSadaf Ebrahimi/[\P{Any}\E]/B
860*22dc650dSSadaf Ebrahimi
861*22dc650dSSadaf Ebrahimi/(\P{Yi}+\277)/
862*22dc650dSSadaf Ebrahimi
863*22dc650dSSadaf Ebrahimi/(\P{Yi}+\277)?/
864*22dc650dSSadaf Ebrahimi
865*22dc650dSSadaf Ebrahimi/(?<=\P{Yi}{3}A)X/
866*22dc650dSSadaf Ebrahimi
867*22dc650dSSadaf Ebrahimi/\p{Yi}+(\P{Yi}+)(?1)/
868*22dc650dSSadaf Ebrahimi
869*22dc650dSSadaf Ebrahimi/(\P{Yi}{2}\277)?/
870*22dc650dSSadaf Ebrahimi
871*22dc650dSSadaf Ebrahimi/[\P{Yi}A]/
872*22dc650dSSadaf Ebrahimi
873*22dc650dSSadaf Ebrahimi/[\P{Yi}\P{Yi}\P{Yi}A]/
874*22dc650dSSadaf Ebrahimi
875*22dc650dSSadaf Ebrahimi/[^\P{Yi}A]/
876*22dc650dSSadaf Ebrahimi
877*22dc650dSSadaf Ebrahimi/[^\P{Yi}\P{Yi}\P{Yi}A]/
878*22dc650dSSadaf Ebrahimi
879*22dc650dSSadaf Ebrahimi/(\P{Yi}*\277)*/
880*22dc650dSSadaf Ebrahimi
881*22dc650dSSadaf Ebrahimi/(\P{Yi}*?\277)*/
882*22dc650dSSadaf Ebrahimi
883*22dc650dSSadaf Ebrahimi/(\p{Yi}*+\277)*/
884*22dc650dSSadaf Ebrahimi
885*22dc650dSSadaf Ebrahimi/(\P{Yi}?\277)*/
886*22dc650dSSadaf Ebrahimi
887*22dc650dSSadaf Ebrahimi/(\P{Yi}??\277)*/
888*22dc650dSSadaf Ebrahimi
889*22dc650dSSadaf Ebrahimi/(\p{Yi}?+\277)*/
890*22dc650dSSadaf Ebrahimi
891*22dc650dSSadaf Ebrahimi/(\P{Yi}{0,3}\277)*/
892*22dc650dSSadaf Ebrahimi
893*22dc650dSSadaf Ebrahimi/(\P{Yi}{0,3}?\277)*/
894*22dc650dSSadaf Ebrahimi
895*22dc650dSSadaf Ebrahimi/(\p{Yi}{0,3}+\277)*/
896*22dc650dSSadaf Ebrahimi
897*22dc650dSSadaf Ebrahimi/\p{Zl}{2,3}+/B,utf
898*22dc650dSSadaf Ebrahimi    


899*22dc650dSSadaf Ebrahimi    \x{2028}\x{2028}\x{2028}
900*22dc650dSSadaf Ebrahimi
901*22dc650dSSadaf Ebrahimi/\p{Zl}/B,utf
902*22dc650dSSadaf Ebrahimi
903*22dc650dSSadaf Ebrahimi/\p{Lu}{3}+/B,utf
904*22dc650dSSadaf Ebrahimi
905*22dc650dSSadaf Ebrahimi/\pL{2}+/B,utf
906*22dc650dSSadaf Ebrahimi
907*22dc650dSSadaf Ebrahimi/\p{Cc}{2}+/B,utf
908*22dc650dSSadaf Ebrahimi
909*22dc650dSSadaf Ebrahimi/^\p{Cf}/utf
910*22dc650dSSadaf Ebrahimi    \x{180e}
911*22dc650dSSadaf Ebrahimi    \x{061c}
912*22dc650dSSadaf Ebrahimi    \x{2066}
913*22dc650dSSadaf Ebrahimi    \x{2067}
914*22dc650dSSadaf Ebrahimi    \x{2068}
915*22dc650dSSadaf Ebrahimi    \x{2069}
916*22dc650dSSadaf Ebrahimi
917*22dc650dSSadaf Ebrahimi/^\p{Cs}/utf
918*22dc650dSSadaf Ebrahimi    \x{dfff}\=no_utf_check
919*22dc650dSSadaf Ebrahimi\= Expect no match
920*22dc650dSSadaf Ebrahimi    \x{09f}
921*22dc650dSSadaf Ebrahimi
922*22dc650dSSadaf Ebrahimi/^\p{Mn}/utf
923*22dc650dSSadaf Ebrahimi    \x{1a1b}
924*22dc650dSSadaf Ebrahimi
925*22dc650dSSadaf Ebrahimi/^\p{Pe}/utf
926*22dc650dSSadaf Ebrahimi    \x{2309}
927*22dc650dSSadaf Ebrahimi    \x{230b}
928*22dc650dSSadaf Ebrahimi
929*22dc650dSSadaf Ebrahimi/^\p{Ps}/utf
930*22dc650dSSadaf Ebrahimi    \x{2308}
931*22dc650dSSadaf Ebrahimi    \x{230a}
932*22dc650dSSadaf Ebrahimi
933*22dc650dSSadaf Ebrahimi/^\p{Sc}+/utf
934*22dc650dSSadaf Ebrahimi    $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
935*22dc650dSSadaf Ebrahimi    \x{9f2}
936*22dc650dSSadaf Ebrahimi\= Expect no match
937*22dc650dSSadaf Ebrahimi    X
938*22dc650dSSadaf Ebrahimi    \x{2c2}
939*22dc650dSSadaf Ebrahimi
940*22dc650dSSadaf Ebrahimi/^\p{Zs}/utf
941*22dc650dSSadaf Ebrahimi    \ \
942*22dc650dSSadaf Ebrahimi    \x{a0}
943*22dc650dSSadaf Ebrahimi    \x{1680}
944*22dc650dSSadaf Ebrahimi    \x{2000}
945*22dc650dSSadaf Ebrahimi    \x{2001}
946*22dc650dSSadaf Ebrahimi\= Expect no match
947*22dc650dSSadaf Ebrahimi    \x{2028}
948*22dc650dSSadaf Ebrahimi    \x{200d}
949*22dc650dSSadaf Ebrahimi
950*22dc650dSSadaf Ebrahimi# These are here because Perl has problems with the negative versions of the
951*22dc650dSSadaf Ebrahimi# properties and has changed how it behaves for caseless matching.
952*22dc650dSSadaf Ebrahimi
953*22dc650dSSadaf Ebrahimi/\p{^Lu}/i,utf
954*22dc650dSSadaf Ebrahimi    1234
955*22dc650dSSadaf Ebrahimi\= Expect no match
956*22dc650dSSadaf Ebrahimi    ABC
957*22dc650dSSadaf Ebrahimi
958*22dc650dSSadaf Ebrahimi/\P{Lu}/i,utf
959*22dc650dSSadaf Ebrahimi    1234
960*22dc650dSSadaf Ebrahimi\= Expect no match
961*22dc650dSSadaf Ebrahimi    ABC
962*22dc650dSSadaf Ebrahimi
963*22dc650dSSadaf Ebrahimi/\p{Ll}/i,utf
964*22dc650dSSadaf Ebrahimi    a
965*22dc650dSSadaf Ebrahimi    Az
966*22dc650dSSadaf Ebrahimi\= Expect no match
967*22dc650dSSadaf Ebrahimi    ABC
968*22dc650dSSadaf Ebrahimi
969*22dc650dSSadaf Ebrahimi/\p{Lu}/i,utf
970*22dc650dSSadaf Ebrahimi    A
971*22dc650dSSadaf Ebrahimi    a\x{10a0}B
972*22dc650dSSadaf Ebrahimi\= Expect no match
973*22dc650dSSadaf Ebrahimi    a
974*22dc650dSSadaf Ebrahimi    \x{1d00}
975*22dc650dSSadaf Ebrahimi
976*22dc650dSSadaf Ebrahimi/\p{Lu}/i,utf
977*22dc650dSSadaf Ebrahimi    A
978*22dc650dSSadaf Ebrahimi    aZ
979*22dc650dSSadaf Ebrahimi\= Expect no match
980*22dc650dSSadaf Ebrahimi    abc
981*22dc650dSSadaf Ebrahimi
982*22dc650dSSadaf Ebrahimi/[\x{c0}\x{391}]/i,utf
983*22dc650dSSadaf Ebrahimi    \x{c0}
984*22dc650dSSadaf Ebrahimi    \x{e0}
985*22dc650dSSadaf Ebrahimi
986*22dc650dSSadaf Ebrahimi# The next two are special cases where the lengths of the different cases of
987*22dc650dSSadaf Ebrahimi# the same character differ. The first went wrong with heap frame storage; the
988*22dc650dSSadaf Ebrahimi# second was broken in all cases.
989*22dc650dSSadaf Ebrahimi
990*22dc650dSSadaf Ebrahimi/^\x{023a}+?(\x{0130}+)/i,utf
991*22dc650dSSadaf Ebrahimi  \x{023a}\x{2c65}\x{0130}
992*22dc650dSSadaf Ebrahimi
993*22dc650dSSadaf Ebrahimi/^\x{023a}+([^X])/i,utf
994*22dc650dSSadaf Ebrahimi  \x{023a}\x{2c65}X
995*22dc650dSSadaf Ebrahimi
996*22dc650dSSadaf Ebrahimi/\x{c0}+\x{116}+/i,utf
997*22dc650dSSadaf Ebrahimi    \x{c0}\x{e0}\x{116}\x{117}
998*22dc650dSSadaf Ebrahimi
999*22dc650dSSadaf Ebrahimi/[\x{c0}\x{116}]+/i,utf
1000*22dc650dSSadaf Ebrahimi    \x{c0}\x{e0}\x{116}\x{117}
1001*22dc650dSSadaf Ebrahimi
1002*22dc650dSSadaf Ebrahimi/(\x{de})\1/i,utf
1003*22dc650dSSadaf Ebrahimi    \x{de}\x{de}
1004*22dc650dSSadaf Ebrahimi    \x{de}\x{fe}
1005*22dc650dSSadaf Ebrahimi    \x{fe}\x{fe}
1006*22dc650dSSadaf Ebrahimi    \x{fe}\x{de}
1007*22dc650dSSadaf Ebrahimi
1008*22dc650dSSadaf Ebrahimi/^\x{c0}$/i,utf
1009*22dc650dSSadaf Ebrahimi    \x{c0}
1010*22dc650dSSadaf Ebrahimi    \x{e0}
1011*22dc650dSSadaf Ebrahimi
1012*22dc650dSSadaf Ebrahimi/^\x{e0}$/i,utf
1013*22dc650dSSadaf Ebrahimi    \x{c0}
1014*22dc650dSSadaf Ebrahimi    \x{e0}
1015*22dc650dSSadaf Ebrahimi
1016*22dc650dSSadaf Ebrahimi# The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
1017*22dc650dSSadaf Ebrahimi# will match it only with UCP support, because without that it has no notion
1018*22dc650dSSadaf Ebrahimi# of case for anything other than the ASCII letters.
1019*22dc650dSSadaf Ebrahimi
1020*22dc650dSSadaf Ebrahimi/((?i)[\x{c0}])/utf
1021*22dc650dSSadaf Ebrahimi    \x{c0}
1022*22dc650dSSadaf Ebrahimi    \x{e0}
1023*22dc650dSSadaf Ebrahimi
1024*22dc650dSSadaf Ebrahimi/(?i:[\x{c0}])/utf
1025*22dc650dSSadaf Ebrahimi    \x{c0}
1026*22dc650dSSadaf Ebrahimi    \x{e0}
1027*22dc650dSSadaf Ebrahimi
1028*22dc650dSSadaf Ebrahimi# These are PCRE's extra properties to help with Unicodizing \d etc.
1029*22dc650dSSadaf Ebrahimi
1030*22dc650dSSadaf Ebrahimi/^\p{Xan}/utf
1031*22dc650dSSadaf Ebrahimi    ABCD
1032*22dc650dSSadaf Ebrahimi    1234
1033*22dc650dSSadaf Ebrahimi    \x{6ca}
1034*22dc650dSSadaf Ebrahimi    \x{a6c}
1035*22dc650dSSadaf Ebrahimi    \x{10a7}
1036*22dc650dSSadaf Ebrahimi\= Expect no match
1037*22dc650dSSadaf Ebrahimi    _ABC
1038*22dc650dSSadaf Ebrahimi
1039*22dc650dSSadaf Ebrahimi/^\p{Xan}+/utf
1040*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1041*22dc650dSSadaf Ebrahimi\= Expect no match
1042*22dc650dSSadaf Ebrahimi    _ABC
1043*22dc650dSSadaf Ebrahimi
1044*22dc650dSSadaf Ebrahimi/^\p{Xan}+?/utf
1045*22dc650dSSadaf Ebrahimi    \x{6ca}\x{a6c}\x{10a7}_
1046*22dc650dSSadaf Ebrahimi
1047*22dc650dSSadaf Ebrahimi/^\p{Xan}*/utf
1048*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1049*22dc650dSSadaf Ebrahimi
1050*22dc650dSSadaf Ebrahimi/^\p{Xan}{2,9}/utf
1051*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1052*22dc650dSSadaf Ebrahimi
1053*22dc650dSSadaf Ebrahimi/^\p{Xan}{2,9}?/utf
1054*22dc650dSSadaf Ebrahimi    \x{6ca}\x{a6c}\x{10a7}_
1055*22dc650dSSadaf Ebrahimi
1056*22dc650dSSadaf Ebrahimi/^[\p{Xan}]/utf
1057*22dc650dSSadaf Ebrahimi    ABCD1234_
1058*22dc650dSSadaf Ebrahimi    1234abcd_
1059*22dc650dSSadaf Ebrahimi    \x{6ca}
1060*22dc650dSSadaf Ebrahimi    \x{a6c}
1061*22dc650dSSadaf Ebrahimi    \x{10a7}
1062*22dc650dSSadaf Ebrahimi\= Expect no match
1063*22dc650dSSadaf Ebrahimi    _ABC
1064*22dc650dSSadaf Ebrahimi
1065*22dc650dSSadaf Ebrahimi/^[\p{Xan}]+/utf
1066*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1067*22dc650dSSadaf Ebrahimi\= Expect no match
1068*22dc650dSSadaf Ebrahimi    _ABC
1069*22dc650dSSadaf Ebrahimi
1070*22dc650dSSadaf Ebrahimi/^>\p{Xsp}/utf
1071*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
1072*22dc650dSSadaf Ebrahimi    >\x{a0}
1073*22dc650dSSadaf Ebrahimi\= Expect no match
1074*22dc650dSSadaf Ebrahimi    \x{0b}
1075*22dc650dSSadaf Ebrahimi
1076*22dc650dSSadaf Ebrahimi/^>\p{Xsp}+/utf
1077*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1078*22dc650dSSadaf Ebrahimi
1079*22dc650dSSadaf Ebrahimi/^>\p{Xsp}+?/utf
1080*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
1081*22dc650dSSadaf Ebrahimi
1082*22dc650dSSadaf Ebrahimi/^>\p{Xsp}*/utf
1083*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1084*22dc650dSSadaf Ebrahimi
1085*22dc650dSSadaf Ebrahimi/^>\p{Xsp}{2,9}/utf
1086*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1087*22dc650dSSadaf Ebrahimi
1088*22dc650dSSadaf Ebrahimi/^>\p{Xsp}{2,9}?/utf
1089*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1090*22dc650dSSadaf Ebrahimi
1091*22dc650dSSadaf Ebrahimi/^>[\p{Xsp}]/utf
1092*22dc650dSSadaf Ebrahimi    >\x{2028}\x{0b}
1093*22dc650dSSadaf Ebrahimi
1094*22dc650dSSadaf Ebrahimi/^>[\p{Xsp}]+/utf
1095*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1096*22dc650dSSadaf Ebrahimi
1097*22dc650dSSadaf Ebrahimi/^>\p{Xps}/utf
1098*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
1099*22dc650dSSadaf Ebrahimi    >\x{a0}
1100*22dc650dSSadaf Ebrahimi\= Expect no match
1101*22dc650dSSadaf Ebrahimi    \x{0b}
1102*22dc650dSSadaf Ebrahimi
1103*22dc650dSSadaf Ebrahimi/^>\p{Xps}+/utf
1104*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1105*22dc650dSSadaf Ebrahimi
1106*22dc650dSSadaf Ebrahimi/^>\p{Xps}+?/utf
1107*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
1108*22dc650dSSadaf Ebrahimi
1109*22dc650dSSadaf Ebrahimi/^>\p{Xps}*/utf
1110*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1111*22dc650dSSadaf Ebrahimi
1112*22dc650dSSadaf Ebrahimi/^>\p{Xps}{2,9}/utf
1113*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1114*22dc650dSSadaf Ebrahimi
1115*22dc650dSSadaf Ebrahimi/^>\p{Xps}{2,9}?/utf
1116*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1117*22dc650dSSadaf Ebrahimi
1118*22dc650dSSadaf Ebrahimi/^>[\p{Xps}]/utf
1119*22dc650dSSadaf Ebrahimi    >\x{2028}\x{0b}
1120*22dc650dSSadaf Ebrahimi
1121*22dc650dSSadaf Ebrahimi/^>[\p{Xps}]+/utf
1122*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1123*22dc650dSSadaf Ebrahimi
1124*22dc650dSSadaf Ebrahimi/^\p{Xwd}/utf
1125*22dc650dSSadaf Ebrahimi    ABCD
1126*22dc650dSSadaf Ebrahimi    1234
1127*22dc650dSSadaf Ebrahimi    \x{6ca}
1128*22dc650dSSadaf Ebrahimi    \x{a6c}
1129*22dc650dSSadaf Ebrahimi    \x{10a7}
1130*22dc650dSSadaf Ebrahimi    _ABC
1131*22dc650dSSadaf Ebrahimi\= Expect no match
1132*22dc650dSSadaf Ebrahimi    []
1133*22dc650dSSadaf Ebrahimi
1134*22dc650dSSadaf Ebrahimi/^\p{Xwd}+/utf
1135*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1136*22dc650dSSadaf Ebrahimi
1137*22dc650dSSadaf Ebrahimi/^\p{Xwd}+?/utf
1138*22dc650dSSadaf Ebrahimi    \x{6ca}\x{a6c}\x{10a7}_
1139*22dc650dSSadaf Ebrahimi
1140*22dc650dSSadaf Ebrahimi/^\p{Xwd}*/utf
1141*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1142*22dc650dSSadaf Ebrahimi
1143*22dc650dSSadaf Ebrahimi/^\p{Xwd}{2,9}/utf
1144*22dc650dSSadaf Ebrahimi    A_B12\x{6ca}\x{a6c}\x{10a7}
1145*22dc650dSSadaf Ebrahimi
1146*22dc650dSSadaf Ebrahimi/^\p{Xwd}{2,9}?/utf
1147*22dc650dSSadaf Ebrahimi    \x{6ca}\x{a6c}\x{10a7}_
1148*22dc650dSSadaf Ebrahimi
1149*22dc650dSSadaf Ebrahimi/^[\p{Xwd}]/utf
1150*22dc650dSSadaf Ebrahimi    ABCD1234_
1151*22dc650dSSadaf Ebrahimi    1234abcd_
1152*22dc650dSSadaf Ebrahimi    \x{6ca}
1153*22dc650dSSadaf Ebrahimi    \x{a6c}
1154*22dc650dSSadaf Ebrahimi    \x{10a7}
1155*22dc650dSSadaf Ebrahimi    _ABC
1156*22dc650dSSadaf Ebrahimi\= Expect no match
1157*22dc650dSSadaf Ebrahimi    []
1158*22dc650dSSadaf Ebrahimi
1159*22dc650dSSadaf Ebrahimi/^[\p{Xwd}]+/utf
1160*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1161*22dc650dSSadaf Ebrahimi
1162*22dc650dSSadaf Ebrahimi# A check not in UTF-8 mode
1163*22dc650dSSadaf Ebrahimi
1164*22dc650dSSadaf Ebrahimi/^[\p{Xwd}]+/
1165*22dc650dSSadaf Ebrahimi    ABCD1234_
1166*22dc650dSSadaf Ebrahimi
1167*22dc650dSSadaf Ebrahimi# Some negative checks
1168*22dc650dSSadaf Ebrahimi
1169*22dc650dSSadaf Ebrahimi/^[\P{Xwd}]+/utf
1170*22dc650dSSadaf Ebrahimi    !.+\x{019}\x{482}AB
1171*22dc650dSSadaf Ebrahimi
1172*22dc650dSSadaf Ebrahimi/^[\p{^Xwd}]+/utf
1173*22dc650dSSadaf Ebrahimi    !.+\x{019}\x{589}AB
1174*22dc650dSSadaf Ebrahimi
1175*22dc650dSSadaf Ebrahimi/[\D]/B,utf,ucp
1176*22dc650dSSadaf Ebrahimi    1\x{3c8}2
1177*22dc650dSSadaf Ebrahimi
1178*22dc650dSSadaf Ebrahimi/[\d]/B,utf,ucp
1179*22dc650dSSadaf Ebrahimi    >\x{6f4}<
1180*22dc650dSSadaf Ebrahimi
1181*22dc650dSSadaf Ebrahimi/[\S]/B,utf,ucp
1182*22dc650dSSadaf Ebrahimi    \x{1680}\x{6f4}\x{1680}
1183*22dc650dSSadaf Ebrahimi
1184*22dc650dSSadaf Ebrahimi/[\s]/B,utf,ucp
1185*22dc650dSSadaf Ebrahimi    >\x{1680}<
1186*22dc650dSSadaf Ebrahimi
1187*22dc650dSSadaf Ebrahimi/[\W]/B,utf,ucp
1188*22dc650dSSadaf Ebrahimi    A\x{1735}B
1189*22dc650dSSadaf Ebrahimi
1190*22dc650dSSadaf Ebrahimi/[\w]/B,utf,ucp
1191*22dc650dSSadaf Ebrahimi    >\x{1723}<
1192*22dc650dSSadaf Ebrahimi
1193*22dc650dSSadaf Ebrahimi/\D/B,utf,ucp
1194*22dc650dSSadaf Ebrahimi    1\x{3c8}2
1195*22dc650dSSadaf Ebrahimi
1196*22dc650dSSadaf Ebrahimi/\d/B,utf,ucp
1197*22dc650dSSadaf Ebrahimi    >\x{6f4}<
1198*22dc650dSSadaf Ebrahimi
1199*22dc650dSSadaf Ebrahimi/\S/B,utf,ucp
1200*22dc650dSSadaf Ebrahimi    \x{1680}\x{6f4}\x{1680}
1201*22dc650dSSadaf Ebrahimi
1202*22dc650dSSadaf Ebrahimi/\s/B,utf,ucp
1203*22dc650dSSadaf Ebrahimi    >\x{1680}>
1204*22dc650dSSadaf Ebrahimi
1205*22dc650dSSadaf Ebrahimi/\W/B,utf,ucp
1206*22dc650dSSadaf Ebrahimi    A\x{1735}B
1207*22dc650dSSadaf Ebrahimi
1208*22dc650dSSadaf Ebrahimi/\w/B,utf,ucp
1209*22dc650dSSadaf Ebrahimi    >\x{1723}<
1210*22dc650dSSadaf Ebrahimi
1211*22dc650dSSadaf Ebrahimi/[[:alpha:]]/B,ucp
1212*22dc650dSSadaf Ebrahimi
1213*22dc650dSSadaf Ebrahimi/[[:lower:]]/B,ucp
1214*22dc650dSSadaf Ebrahimi
1215*22dc650dSSadaf Ebrahimi/[[:upper:]]/B,ucp
1216*22dc650dSSadaf Ebrahimi
1217*22dc650dSSadaf Ebrahimi/[[:alnum:]]/B,ucp
1218*22dc650dSSadaf Ebrahimi
1219*22dc650dSSadaf Ebrahimi/[[:ascii:]]/B,ucp
1220*22dc650dSSadaf Ebrahimi
1221*22dc650dSSadaf Ebrahimi/[[:cntrl:]]/B,ucp
1222*22dc650dSSadaf Ebrahimi
1223*22dc650dSSadaf Ebrahimi/[[:digit:]]/B,ucp
1224*22dc650dSSadaf Ebrahimi
1225*22dc650dSSadaf Ebrahimi/[[:digit:]]/B,ucp,ascii_digit
1226*22dc650dSSadaf Ebrahimi
1227*22dc650dSSadaf Ebrahimi/[[:graph:]]/B,ucp
1228*22dc650dSSadaf Ebrahimi
1229*22dc650dSSadaf Ebrahimi/[[:print:]]/B,ucp
1230*22dc650dSSadaf Ebrahimi
1231*22dc650dSSadaf Ebrahimi/[[:punct:]]/B,ucp
1232*22dc650dSSadaf Ebrahimi
1233*22dc650dSSadaf Ebrahimi/[[:space:]]/B,ucp
1234*22dc650dSSadaf Ebrahimi
1235*22dc650dSSadaf Ebrahimi/[[:word:]]/B,ucp
1236*22dc650dSSadaf Ebrahimi
1237*22dc650dSSadaf Ebrahimi/[[:xdigit:]]/B,ucp
1238*22dc650dSSadaf Ebrahimi
1239*22dc650dSSadaf Ebrahimi/[[:xdigit:]]/B,ucp,ascii_digit
1240*22dc650dSSadaf Ebrahimi
1241*22dc650dSSadaf Ebrahimi# Unicode properties for \b and \B
1242*22dc650dSSadaf Ebrahimi
1243*22dc650dSSadaf Ebrahimi/\b...\B/utf,ucp
1244*22dc650dSSadaf Ebrahimi    abc_
1245*22dc650dSSadaf Ebrahimi    \x{37e}abc\x{376}
1246*22dc650dSSadaf Ebrahimi    \x{37e}\x{376}\x{371}\x{393}\x{394}
1247*22dc650dSSadaf Ebrahimi    !\x{c0}++\x{c1}\x{c2}
1248*22dc650dSSadaf Ebrahimi    !\x{c0}+++++
1249*22dc650dSSadaf Ebrahimi
1250*22dc650dSSadaf Ebrahimi# Without PCRE_UCP, non-ASCII always fail, even if < 256
1251*22dc650dSSadaf Ebrahimi
1252*22dc650dSSadaf Ebrahimi/\b...\B/utf
1253*22dc650dSSadaf Ebrahimi    abc_
1254*22dc650dSSadaf Ebrahimi\= Expect no match
1255*22dc650dSSadaf Ebrahimi    \x{37e}abc\x{376}
1256*22dc650dSSadaf Ebrahimi    \x{37e}\x{376}\x{371}\x{393}\x{394}
1257*22dc650dSSadaf Ebrahimi    !\x{c0}++\x{c1}\x{c2}
1258*22dc650dSSadaf Ebrahimi    !\x{c0}+++++
1259*22dc650dSSadaf Ebrahimi
1260*22dc650dSSadaf Ebrahimi# With PCRE_UCP, non-UTF8 chars that are < 256 still check properties
1261*22dc650dSSadaf Ebrahimi
1262*22dc650dSSadaf Ebrahimi/\b...\B/ucp
1263*22dc650dSSadaf Ebrahimi    abc_
1264*22dc650dSSadaf Ebrahimi    !\x{c0}++\x{c1}\x{c2}
1265*22dc650dSSadaf Ebrahimi    !\x{c0}+++++
1266*22dc650dSSadaf Ebrahimi
1267*22dc650dSSadaf Ebrahimi# Some of these are silly, but they check various combinations
1268*22dc650dSSadaf Ebrahimi
1269*22dc650dSSadaf Ebrahimi/[[:^alpha:][:^cntrl:]]+/B,utf,ucp
1270*22dc650dSSadaf Ebrahimi    123
1271*22dc650dSSadaf Ebrahimi    abc
1272*22dc650dSSadaf Ebrahimi
1273*22dc650dSSadaf Ebrahimi/[[:^cntrl:][:^alpha:]]+/B,utf,ucp
1274*22dc650dSSadaf Ebrahimi    123
1275*22dc650dSSadaf Ebrahimi    abc
1276*22dc650dSSadaf Ebrahimi
1277*22dc650dSSadaf Ebrahimi/[[:alpha:]]+/B,utf,ucp
1278*22dc650dSSadaf Ebrahimi    abc
1279*22dc650dSSadaf Ebrahimi
1280*22dc650dSSadaf Ebrahimi/[[:^alpha:]\S]+/B,utf,ucp
1281*22dc650dSSadaf Ebrahimi    123
1282*22dc650dSSadaf Ebrahimi    abc
1283*22dc650dSSadaf Ebrahimi
1284*22dc650dSSadaf Ebrahimi/[^\d]+/B,utf,ucp
1285*22dc650dSSadaf Ebrahimi    abc123
1286*22dc650dSSadaf Ebrahimi    abc\x{123}
1287*22dc650dSSadaf Ebrahimi    \x{660}abc
1288*22dc650dSSadaf Ebrahimi
1289*22dc650dSSadaf Ebrahimi/\p{Lu}+9\p{Lu}+B\p{Lu}+b/B
1290*22dc650dSSadaf Ebrahimi
1291*22dc650dSSadaf Ebrahimi/\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/B
1292*22dc650dSSadaf Ebrahimi
1293*22dc650dSSadaf Ebrahimi/\P{Lu}+9\P{Lu}+B\P{Lu}+b/B
1294*22dc650dSSadaf Ebrahimi
1295*22dc650dSSadaf Ebrahimi/\p{Han}+X\p{Greek}+\x{370}/B,utf
1296*22dc650dSSadaf Ebrahimi
1297*22dc650dSSadaf Ebrahimi/\p{Xan}+!\p{Xan}+A/B
1298*22dc650dSSadaf Ebrahimi
1299*22dc650dSSadaf Ebrahimi/\p{Xsp}+!\p{Xsp}\t/B
1300*22dc650dSSadaf Ebrahimi
1301*22dc650dSSadaf Ebrahimi/\p{Xps}+!\p{Xps}\t/B
1302*22dc650dSSadaf Ebrahimi
1303*22dc650dSSadaf Ebrahimi/\p{Xwd}+!\p{Xwd}_/B
1304*22dc650dSSadaf Ebrahimi
1305*22dc650dSSadaf Ebrahimi/A+\p{N}A+\dB+\p{N}*B+\d*/B,ucp
1306*22dc650dSSadaf Ebrahimi
1307*22dc650dSSadaf Ebrahimi# These behaved oddly in Perl, so they are kept in this test
1308*22dc650dSSadaf Ebrahimi
1309*22dc650dSSadaf Ebrahimi/(\x{23a}\x{23a}\x{23a})?\1/i,utf
1310*22dc650dSSadaf Ebrahimi\= Expect no match
1311*22dc650dSSadaf Ebrahimi    \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1312*22dc650dSSadaf Ebrahimi
1313*22dc650dSSadaf Ebrahimi/(ȺȺȺ)?\1/i,utf
1314*22dc650dSSadaf Ebrahimi\= Expect no match
1315*22dc650dSSadaf Ebrahimi    ȺȺȺⱥⱥ
1316*22dc650dSSadaf Ebrahimi
1317*22dc650dSSadaf Ebrahimi/(\x{23a}\x{23a}\x{23a})?\1/i,utf
1318*22dc650dSSadaf Ebrahimi    \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1319*22dc650dSSadaf Ebrahimi
1320*22dc650dSSadaf Ebrahimi/(ȺȺȺ)?\1/i,utf
1321*22dc650dSSadaf Ebrahimi    ȺȺȺⱥⱥⱥ
1322*22dc650dSSadaf Ebrahimi
1323*22dc650dSSadaf Ebrahimi/(\x{23a}\x{23a}\x{23a})\1/i,utf
1324*22dc650dSSadaf Ebrahimi\= Expect no match
1325*22dc650dSSadaf Ebrahimi    \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1326*22dc650dSSadaf Ebrahimi
1327*22dc650dSSadaf Ebrahimi/(ȺȺȺ)\1/i,utf
1328*22dc650dSSadaf Ebrahimi\= Expect no match
1329*22dc650dSSadaf Ebrahimi    ȺȺȺⱥⱥ
1330*22dc650dSSadaf Ebrahimi
1331*22dc650dSSadaf Ebrahimi/(\x{23a}\x{23a}\x{23a})\1/i,utf
1332*22dc650dSSadaf Ebrahimi    \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1333*22dc650dSSadaf Ebrahimi
1334*22dc650dSSadaf Ebrahimi/(ȺȺȺ)\1/i,utf
1335*22dc650dSSadaf Ebrahimi    ȺȺȺⱥⱥⱥ
1336*22dc650dSSadaf Ebrahimi
1337*22dc650dSSadaf Ebrahimi/(\x{2c65}\x{2c65})\1/i,utf
1338*22dc650dSSadaf Ebrahimi    \x{2c65}\x{2c65}\x{23a}\x{23a}
1339*22dc650dSSadaf Ebrahimi
1340*22dc650dSSadaf Ebrahimi/(ⱥⱥ)\1/i,utf
1341*22dc650dSSadaf Ebrahimi    ⱥⱥȺȺ
1342*22dc650dSSadaf Ebrahimi
1343*22dc650dSSadaf Ebrahimi/(\x{23a}\x{23a}\x{23a})\1Y/i,utf
1344*22dc650dSSadaf Ebrahimi    X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
1345*22dc650dSSadaf Ebrahimi
1346*22dc650dSSadaf Ebrahimi/(\x{2c65}\x{2c65})\1Y/i,utf
1347*22dc650dSSadaf Ebrahimi    X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
1348*22dc650dSSadaf Ebrahimi
1349*22dc650dSSadaf Ebrahimi# These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE
1350*22dc650dSSadaf Ebrahimi
1351*22dc650dSSadaf Ebrahimi/^[\p{Batak}]/utf
1352*22dc650dSSadaf Ebrahimi    \x{1bc0}
1353*22dc650dSSadaf Ebrahimi    \x{1bff}
1354*22dc650dSSadaf Ebrahimi\= Expect no match
1355*22dc650dSSadaf Ebrahimi    \x{1bf4}
1356*22dc650dSSadaf Ebrahimi
1357*22dc650dSSadaf Ebrahimi/^[\p{Brahmi}]/utf
1358*22dc650dSSadaf Ebrahimi    \x{11000}
1359*22dc650dSSadaf Ebrahimi    \x{1106f}
1360*22dc650dSSadaf Ebrahimi\= Expect no match
1361*22dc650dSSadaf Ebrahimi    \x{1104e}
1362*22dc650dSSadaf Ebrahimi
1363*22dc650dSSadaf Ebrahimi/^[\p{Mandaic}]/utf
1364*22dc650dSSadaf Ebrahimi    \x{840}
1365*22dc650dSSadaf Ebrahimi    \x{85e}
1366*22dc650dSSadaf Ebrahimi\= Expect no match
1367*22dc650dSSadaf Ebrahimi    \x{85c}
1368*22dc650dSSadaf Ebrahimi    \x{85d}
1369*22dc650dSSadaf Ebrahimi
1370*22dc650dSSadaf Ebrahimi/(\X*)(.)/s,utf
1371*22dc650dSSadaf Ebrahimi    A\x{300}
1372*22dc650dSSadaf Ebrahimi
1373*22dc650dSSadaf Ebrahimi/^S(\X*)e(\X*)$/utf
1374*22dc650dSSadaf Ebrahimi    Stéréo
1375*22dc650dSSadaf Ebrahimi
1376*22dc650dSSadaf Ebrahimi/^\X/utf
1377*22dc650dSSadaf Ebrahimi    ́réo
1378*22dc650dSSadaf Ebrahimi
1379*22dc650dSSadaf Ebrahimi/^a\X41z/alt_bsux,allow_empty_class,match_unset_backref,dupnames
1380*22dc650dSSadaf Ebrahimi    aX41z
1381*22dc650dSSadaf Ebrahimi\= Expect no match
1382*22dc650dSSadaf Ebrahimi    aAz
1383*22dc650dSSadaf Ebrahimi
1384*22dc650dSSadaf Ebrahimi/\X/
1385*22dc650dSSadaf Ebrahimi    a\=ps
1386*22dc650dSSadaf Ebrahimi    a\=ph
1387*22dc650dSSadaf Ebrahimi
1388*22dc650dSSadaf Ebrahimi/\Xa/
1389*22dc650dSSadaf Ebrahimi    aa\=ps
1390*22dc650dSSadaf Ebrahimi    aa\=ph
1391*22dc650dSSadaf Ebrahimi
1392*22dc650dSSadaf Ebrahimi/\X{2}/
1393*22dc650dSSadaf Ebrahimi    aa\=ps
1394*22dc650dSSadaf Ebrahimi    aa\=ph
1395*22dc650dSSadaf Ebrahimi
1396*22dc650dSSadaf Ebrahimi/\X+a/
1397*22dc650dSSadaf Ebrahimi    a\=ps
1398*22dc650dSSadaf Ebrahimi    aa\=ps
1399*22dc650dSSadaf Ebrahimi    aa\=ph
1400*22dc650dSSadaf Ebrahimi
1401*22dc650dSSadaf Ebrahimi/\X+?a/
1402*22dc650dSSadaf Ebrahimi    a\=ps
1403*22dc650dSSadaf Ebrahimi    ab\=ps
1404*22dc650dSSadaf Ebrahimi    aa\=ps
1405*22dc650dSSadaf Ebrahimi    aa\=ph
1406*22dc650dSSadaf Ebrahimi    aba\=ps
1407*22dc650dSSadaf Ebrahimi
1408*22dc650dSSadaf Ebrahimi# These Unicode 6.1.0 scripts are not known to Perl.
1409*22dc650dSSadaf Ebrahimi
1410*22dc650dSSadaf Ebrahimi/\p{Chakma}\d/utf,ucp
1411*22dc650dSSadaf Ebrahimi    \x{11100}\x{1113c}
1412*22dc650dSSadaf Ebrahimi
1413*22dc650dSSadaf Ebrahimi/\p{Takri}\d/utf,ucp
1414*22dc650dSSadaf Ebrahimi    \x{11680}\x{116c0}
1415*22dc650dSSadaf Ebrahimi
1416*22dc650dSSadaf Ebrahimi/^\X/utf
1417*22dc650dSSadaf Ebrahimi    A\=ps
1418*22dc650dSSadaf Ebrahimi    A\=ph
1419*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ps
1420*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ph
1421*22dc650dSSadaf Ebrahimi    A\x{301}\=ps
1422*22dc650dSSadaf Ebrahimi    A\x{301}\=ph
1423*22dc650dSSadaf Ebrahimi
1424*22dc650dSSadaf Ebrahimi/^\X{2,3}/utf
1425*22dc650dSSadaf Ebrahimi    A\=ps
1426*22dc650dSSadaf Ebrahimi    A\=ph
1427*22dc650dSSadaf Ebrahimi    AA\=ps
1428*22dc650dSSadaf Ebrahimi    AA\=ph
1429*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ps
1430*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ph
1431*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ps
1432*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ph
1433*22dc650dSSadaf Ebrahimi
1434*22dc650dSSadaf Ebrahimi/^\X{2}/utf
1435*22dc650dSSadaf Ebrahimi    AA\=ps
1436*22dc650dSSadaf Ebrahimi    AA\=ph
1437*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ps
1438*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ph
1439*22dc650dSSadaf Ebrahimi
1440*22dc650dSSadaf Ebrahimi/^\X+/utf
1441*22dc650dSSadaf Ebrahimi    AA\=ps
1442*22dc650dSSadaf Ebrahimi    AA\=ph
1443*22dc650dSSadaf Ebrahimi
1444*22dc650dSSadaf Ebrahimi/^\X+?Z/utf
1445*22dc650dSSadaf Ebrahimi    AA\=ps
1446*22dc650dSSadaf Ebrahimi    AA\=ph
1447*22dc650dSSadaf Ebrahimi
1448*22dc650dSSadaf Ebrahimi/A\x{3a3}B/IBi,utf
1449*22dc650dSSadaf Ebrahimi
1450*22dc650dSSadaf Ebrahimi/[\x{3a3}]/Bi,utf
1451*22dc650dSSadaf Ebrahimi
1452*22dc650dSSadaf Ebrahimi/[^\x{3a3}]/Bi,utf
1453*22dc650dSSadaf Ebrahimi
1454*22dc650dSSadaf Ebrahimi/[\x{3a3}]+/Bi,utf
1455*22dc650dSSadaf Ebrahimi
1456*22dc650dSSadaf Ebrahimi/[^\x{3a3}]+/Bi,utf
1457*22dc650dSSadaf Ebrahimi
1458*22dc650dSSadaf Ebrahimi/a*\x{3a3}/Bi,utf
1459*22dc650dSSadaf Ebrahimi
1460*22dc650dSSadaf Ebrahimi/\x{3a3}+a/Bi,utf
1461*22dc650dSSadaf Ebrahimi
1462*22dc650dSSadaf Ebrahimi/\x{3a3}*\x{3c2}/Bi,utf
1463*22dc650dSSadaf Ebrahimi
1464*22dc650dSSadaf Ebrahimi/\x{3a3}{3}/i,utf,aftertext
1465*22dc650dSSadaf Ebrahimi    \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1466*22dc650dSSadaf Ebrahimi
1467*22dc650dSSadaf Ebrahimi/\x{3a3}{2,4}/i,utf,aftertext
1468*22dc650dSSadaf Ebrahimi    \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1469*22dc650dSSadaf Ebrahimi
1470*22dc650dSSadaf Ebrahimi/\x{3a3}{2,4}?/i,utf,aftertext
1471*22dc650dSSadaf Ebrahimi    \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1472*22dc650dSSadaf Ebrahimi
1473*22dc650dSSadaf Ebrahimi/\x{3a3}+./i,utf,aftertext
1474*22dc650dSSadaf Ebrahimi    \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1475*22dc650dSSadaf Ebrahimi
1476*22dc650dSSadaf Ebrahimi/\x{3a3}++./i,utf,aftertext
1477*22dc650dSSadaf Ebrahimi\= Expect no match
1478*22dc650dSSadaf Ebrahimi    \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1479*22dc650dSSadaf Ebrahimi
1480*22dc650dSSadaf Ebrahimi/\x{3a3}*\x{3c2}/Bi,utf
1481*22dc650dSSadaf Ebrahimi
1482*22dc650dSSadaf Ebrahimi/[^\x{3a3}]*\x{3c2}/Bi,utf
1483*22dc650dSSadaf Ebrahimi
1484*22dc650dSSadaf Ebrahimi/[^a]*\x{3c2}/Bi,utf
1485*22dc650dSSadaf Ebrahimi
1486*22dc650dSSadaf Ebrahimi/ist/Bi,utf
1487*22dc650dSSadaf Ebrahimi\= Expect no match
1488*22dc650dSSadaf Ebrahimi    ikt
1489*22dc650dSSadaf Ebrahimi
1490*22dc650dSSadaf Ebrahimi/is+t/i,utf
1491*22dc650dSSadaf Ebrahimi    iSs\x{17f}t
1492*22dc650dSSadaf Ebrahimi\= Expect no match
1493*22dc650dSSadaf Ebrahimi    ikt
1494*22dc650dSSadaf Ebrahimi
1495*22dc650dSSadaf Ebrahimi/is+?t/i,utf
1496*22dc650dSSadaf Ebrahimi\= Expect no match
1497*22dc650dSSadaf Ebrahimi    ikt
1498*22dc650dSSadaf Ebrahimi
1499*22dc650dSSadaf Ebrahimi/is?t/i,utf
1500*22dc650dSSadaf Ebrahimi\= Expect no match
1501*22dc650dSSadaf Ebrahimi    ikt
1502*22dc650dSSadaf Ebrahimi
1503*22dc650dSSadaf Ebrahimi/is{2}t/i,utf
1504*22dc650dSSadaf Ebrahimi\= Expect no match
1505*22dc650dSSadaf Ebrahimi    iskt
1506*22dc650dSSadaf Ebrahimi
1507*22dc650dSSadaf Ebrahimi# This property is a PCRE special
1508*22dc650dSSadaf Ebrahimi
1509*22dc650dSSadaf Ebrahimi/^\p{Xuc}/utf
1510*22dc650dSSadaf Ebrahimi    $abc
1511*22dc650dSSadaf Ebrahimi    @abc
1512*22dc650dSSadaf Ebrahimi    `abc
1513*22dc650dSSadaf Ebrahimi    \x{1234}abc
1514*22dc650dSSadaf Ebrahimi\= Expect no match
1515*22dc650dSSadaf Ebrahimi    abc
1516*22dc650dSSadaf Ebrahimi
1517*22dc650dSSadaf Ebrahimi/^\p{Xuc}+/utf
1518*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
1519*22dc650dSSadaf Ebrahimi\= Expect no match
1520*22dc650dSSadaf Ebrahimi    \x{9f}
1521*22dc650dSSadaf Ebrahimi
1522*22dc650dSSadaf Ebrahimi/^\p{Xuc}+?/utf
1523*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
1524*22dc650dSSadaf Ebrahimi\= Expect no match
1525*22dc650dSSadaf Ebrahimi    \x{9f}
1526*22dc650dSSadaf Ebrahimi
1527*22dc650dSSadaf Ebrahimi/^\p{Xuc}+?\*/utf
1528*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
1529*22dc650dSSadaf Ebrahimi\= Expect no match
1530*22dc650dSSadaf Ebrahimi    \x{9f}
1531*22dc650dSSadaf Ebrahimi
1532*22dc650dSSadaf Ebrahimi/^\p{Xuc}++/utf
1533*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
1534*22dc650dSSadaf Ebrahimi\= Expect no match
1535*22dc650dSSadaf Ebrahimi    \x{9f}
1536*22dc650dSSadaf Ebrahimi
1537*22dc650dSSadaf Ebrahimi/^\p{Xuc}{3,5}/utf
1538*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
1539*22dc650dSSadaf Ebrahimi\= Expect no match
1540*22dc650dSSadaf Ebrahimi    \x{9f}
1541*22dc650dSSadaf Ebrahimi
1542*22dc650dSSadaf Ebrahimi/^\p{Xuc}{3,5}?/utf
1543*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
1544*22dc650dSSadaf Ebrahimi\= Expect no match
1545*22dc650dSSadaf Ebrahimi    \x{9f}
1546*22dc650dSSadaf Ebrahimi
1547*22dc650dSSadaf Ebrahimi/^[\p{Xuc}]/utf
1548*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
1549*22dc650dSSadaf Ebrahimi\= Expect no match
1550*22dc650dSSadaf Ebrahimi    \x{9f}
1551*22dc650dSSadaf Ebrahimi
1552*22dc650dSSadaf Ebrahimi/^[\p{Xuc}]+/utf
1553*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
1554*22dc650dSSadaf Ebrahimi\= Expect no match
1555*22dc650dSSadaf Ebrahimi    \x{9f}
1556*22dc650dSSadaf Ebrahimi
1557*22dc650dSSadaf Ebrahimi/^\P{Xuc}/utf
1558*22dc650dSSadaf Ebrahimi    abc
1559*22dc650dSSadaf Ebrahimi\= Expect no match
1560*22dc650dSSadaf Ebrahimi    $abc
1561*22dc650dSSadaf Ebrahimi    @abc
1562*22dc650dSSadaf Ebrahimi    `abc
1563*22dc650dSSadaf Ebrahimi    \x{1234}abc
1564*22dc650dSSadaf Ebrahimi
1565*22dc650dSSadaf Ebrahimi/^[\P{Xuc}]/utf
1566*22dc650dSSadaf Ebrahimi    abc
1567*22dc650dSSadaf Ebrahimi\= Expect no match
1568*22dc650dSSadaf Ebrahimi    $abc
1569*22dc650dSSadaf Ebrahimi    @abc
1570*22dc650dSSadaf Ebrahimi    `abc
1571*22dc650dSSadaf Ebrahimi    \x{1234}abc
1572*22dc650dSSadaf Ebrahimi
1573*22dc650dSSadaf Ebrahimi# Some auto-possessification tests
1574*22dc650dSSadaf Ebrahimi
1575*22dc650dSSadaf Ebrahimi/\pN+\z/B
1576*22dc650dSSadaf Ebrahimi
1577*22dc650dSSadaf Ebrahimi/\PN+\z/B
1578*22dc650dSSadaf Ebrahimi
1579*22dc650dSSadaf Ebrahimi/\pN+/B
1580*22dc650dSSadaf Ebrahimi
1581*22dc650dSSadaf Ebrahimi/\PN+/B
1582*22dc650dSSadaf Ebrahimi
1583*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
1584*22dc650dSSadaf Ebrahimi
1585*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
1586*22dc650dSSadaf Ebrahimi
1587*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
1588*22dc650dSSadaf Ebrahimi
1589*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
1590*22dc650dSSadaf Ebrahimi
1591*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
1592*22dc650dSSadaf Ebrahimi
1593*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
1594*22dc650dSSadaf Ebrahimi
1595*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
1596*22dc650dSSadaf Ebrahimi
1597*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
1598*22dc650dSSadaf Ebrahimi
1599*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
1600*22dc650dSSadaf Ebrahimi
1601*22dc650dSSadaf Ebrahimi/\p{N}+\p{Ll} \p{N}+\p{Nd} \p{N}+\P{Nd}/Bx,ucp
1602*22dc650dSSadaf Ebrahimi
1603*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
1604*22dc650dSSadaf Ebrahimi
1605*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
1606*22dc650dSSadaf Ebrahimi
1607*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
1608*22dc650dSSadaf Ebrahimi
1609*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
1610*22dc650dSSadaf Ebrahimi
1611*22dc650dSSadaf Ebrahimi/\w+\p{P} \w+\p{Po} \w+\s \p{Xan}+\s \s+\p{Xan} \s+\w/Bx,ucp
1612*22dc650dSSadaf Ebrahimi
1613*22dc650dSSadaf Ebrahimi/\w+\P{P} \W+\p{Po} \w+\S \P{Xan}+\s \s+\P{Xan} \s+\W/Bx,ucp
1614*22dc650dSSadaf Ebrahimi
1615*22dc650dSSadaf Ebrahimi/\w+\p{Po} \w+\p{Pc} \W+\p{Po} \W+\p{Pc} \w+\P{Po} \w+\P{Pc}/Bx,ucp
1616*22dc650dSSadaf Ebrahimi
1617*22dc650dSSadaf Ebrahimi/\p{Nl}+\p{Xan} \P{Nl}+\p{Xan} \p{Nl}+\P{Xan} \P{Nl}+\P{Xan}/Bx,ucp
1618*22dc650dSSadaf Ebrahimi
1619*22dc650dSSadaf Ebrahimi/\p{Xan}+\p{Nl} \P{Xan}+\p{Nl} \p{Xan}+\P{Nl} \P{Xan}+\P{Nl}/Bx,ucp
1620*22dc650dSSadaf Ebrahimi
1621*22dc650dSSadaf Ebrahimi/\p{Xan}+\p{Nd} \P{Xan}+\p{Nd} \p{Xan}+\P{Nd} \P{Xan}+\P{Nd}/Bx,ucp
1622*22dc650dSSadaf Ebrahimi
1623*22dc650dSSadaf Ebrahimi# End auto-possessification tests
1624*22dc650dSSadaf Ebrahimi
1625*22dc650dSSadaf Ebrahimi/\w+/B,utf,ucp,auto_callout
1626*22dc650dSSadaf Ebrahimi    abcd
1627*22dc650dSSadaf Ebrahimi
1628*22dc650dSSadaf Ebrahimi/[\p{N}]?+/B,no_auto_possess
1629*22dc650dSSadaf Ebrahimi
1630*22dc650dSSadaf Ebrahimi/[\p{L}ab]{2,3}+/B,no_auto_possess
1631*22dc650dSSadaf Ebrahimi
1632*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
1633*22dc650dSSadaf Ebrahimi
1634*22dc650dSSadaf Ebrahimi/.+\X/Bsx
1635*22dc650dSSadaf Ebrahimi
1636*22dc650dSSadaf Ebrahimi/\X+$/Bmx
1637*22dc650dSSadaf Ebrahimi
1638*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
1639*22dc650dSSadaf Ebrahimi
1640*22dc650dSSadaf Ebrahimi/\d+\s{0,5}=\s*\S?=\w{0,4}\W*/B,utf,ucp
1641*22dc650dSSadaf Ebrahimi
1642*22dc650dSSadaf Ebrahimi/[RST]+/Bi,utf,ucp
1643*22dc650dSSadaf Ebrahimi
1644*22dc650dSSadaf Ebrahimi/[R-T]+/Bi,utf,ucp
1645*22dc650dSSadaf Ebrahimi
1646*22dc650dSSadaf Ebrahimi/[Q-U]+/Bi,utf,ucp
1647*22dc650dSSadaf Ebrahimi
1648*22dc650dSSadaf Ebrahimi/^s?c/Iim,utf
1649*22dc650dSSadaf Ebrahimi    scat
1650*22dc650dSSadaf Ebrahimi
1651*22dc650dSSadaf Ebrahimi/\X?abc/utf,no_start_optimize
1652*22dc650dSSadaf Ebrahimi    \xff\x7f\x00\x00\x03\x00\x41\xcc\x80\x41\x{300}\x61\x62\x63\x00\=no_utf_check,offset=06
1653*22dc650dSSadaf Ebrahimi
1654*22dc650dSSadaf Ebrahimi/\x{100}\x{200}\K\x{300}/utf,startchar
1655*22dc650dSSadaf Ebrahimi    \x{100}\x{200}\x{300}
1656*22dc650dSSadaf Ebrahimi
1657*22dc650dSSadaf Ebrahimi# Test UTF characters in a substitution
1658*22dc650dSSadaf Ebrahimi
1659*22dc650dSSadaf Ebrahimibc/utf,replace=XሴZ
1660*22dc650dSSadaf Ebrahimi    123ábc123
1661*22dc650dSSadaf Ebrahimi
1662*22dc650dSSadaf Ebrahimi/(?<=abc)(|def)/g,utf,replace=<$0>
1663*22dc650dSSadaf Ebrahimi    123abcáyzabcdef789abcሴqr
1664*22dc650dSSadaf Ebrahimi
1665*22dc650dSSadaf Ebrahimi/[A-`]/iB,utf
1666*22dc650dSSadaf Ebrahimi    abcdefghijklmno
1667*22dc650dSSadaf Ebrahimi
1668*22dc650dSSadaf Ebrahimi/(?<=\K\x{17f})/g,utf,aftertext,allow_lookaround_bsk
1669*22dc650dSSadaf Ebrahimi    \x{17f}\x{17f}\x{17f}\x{17f}\x{17f}
1670*22dc650dSSadaf Ebrahimi
1671*22dc650dSSadaf Ebrahimi/(?<=\K\x{17f})/altglobal,utf,aftertext,allow_lookaround_bsk
1672*22dc650dSSadaf Ebrahimi    \x{17f}\x{17f}\x{17f}\x{17f}\x{17f}
1673*22dc650dSSadaf Ebrahimi
1674*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"
1675*22dc650dSSadaf Ebrahimi
1676*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'})*?/
1677*22dc650dSSadaf Ebrahimi
1678*22dc650dSSadaf Ebrahimi"(*UTF)(*UCP)(.UTF).+X(\V+;\^(\D|)!999}(?(?C{7(?C')\H*\S*/^\x5\xa\\xd3\x85n?(;\D*(?m).[^mH+((*UCP)(*U:F)})(?!^)(?'"
1679*22dc650dSSadaf Ebrahimi
1680*22dc650dSSadaf Ebrahimi/[\pS#moq]/
1681*22dc650dSSadaf Ebrahimi    =
1682*22dc650dSSadaf Ebrahimi
1683*22dc650dSSadaf Ebrahimi/(*:a\x{12345}b\t(d\)c)xxx/utf,alt_verbnames,mark
1684*22dc650dSSadaf Ebrahimi    cxxxz
1685*22dc650dSSadaf Ebrahimi
1686*22dc650dSSadaf Ebrahimi/abcd/utf,replace=x\x{824}y\o{3333}z(\Q12\$34$$\x34\E5$$),substitute_extended
1687*22dc650dSSadaf Ebrahimi    abcd
1688*22dc650dSSadaf Ebrahimi
1689*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
1690*22dc650dSSadaf Ebrahimi    a\x{e0}\x{101}\x{c0}\x{102}
1691*22dc650dSSadaf Ebrahimi
1692*22dc650dSSadaf Ebrahimi/((?<digit>\d)|(?<letter>\p{L}))/g,substitute_extended,replace=<${digit:+digit; :not digit; }${letter:+letter:not a letter}>
1693*22dc650dSSadaf Ebrahimi    ab12cde
1694*22dc650dSSadaf Ebrahimi
1695*22dc650dSSadaf Ebrahimi/(*UCP)(*UTF)[[:>:]]X/B
1696*22dc650dSSadaf Ebrahimi
1697*22dc650dSSadaf Ebrahimi/abc/utf,replace=xyz
1698*22dc650dSSadaf Ebrahimi    abc\=zero_terminate
1699*22dc650dSSadaf Ebrahimi
1700*22dc650dSSadaf Ebrahimi/a[[:punct:]b]/ucp,bincode
1701*22dc650dSSadaf Ebrahimi
1702*22dc650dSSadaf Ebrahimi/a[[:punct:]b]/utf,ucp,bincode
1703*22dc650dSSadaf Ebrahimi
1704*22dc650dSSadaf Ebrahimi/a[b[:punct:]]/utf,ucp,bincode
1705*22dc650dSSadaf Ebrahimi
1706*22dc650dSSadaf Ebrahimi/[[:^ascii:]]/utf,ucp,bincode
1707*22dc650dSSadaf Ebrahimi
1708*22dc650dSSadaf Ebrahimi/[[:^ascii:]\w]/utf,ucp,bincode
1709*22dc650dSSadaf Ebrahimi
1710*22dc650dSSadaf Ebrahimi/[\w[:^ascii:]]/utf,ucp,bincode
1711*22dc650dSSadaf Ebrahimi
1712*22dc650dSSadaf Ebrahimi/[^[:ascii:]\W]/utf,ucp,bincode
1713*22dc650dSSadaf Ebrahimi    \x{de}
1714*22dc650dSSadaf Ebrahimi    \x{200}
1715*22dc650dSSadaf Ebrahimi\= Expect no match
1716*22dc650dSSadaf Ebrahimi    \x{589}
1717*22dc650dSSadaf Ebrahimi    \x{37e}
1718*22dc650dSSadaf Ebrahimi
1719*22dc650dSSadaf Ebrahimi/[[:^ascii:]a]/utf,ucp,bincode
1720*22dc650dSSadaf Ebrahimi
1721*22dc650dSSadaf Ebrahimi/L(?#(|++<!(2)?/B,utf,no_auto_possess,auto_callout
1722*22dc650dSSadaf Ebrahimi
1723*22dc650dSSadaf Ebrahimi/L(?#(|++<!(2)?/B,utf,ucp,auto_callout
1724*22dc650dSSadaf Ebrahimi
1725*22dc650dSSadaf Ebrahimi/(*UTF)C\x09((?<!'(?x)!*H? #\xcc\x9a[^$]/
1726*22dc650dSSadaf Ebrahimi
1727*22dc650dSSadaf Ebrahimi/[\D]/utf
1728*22dc650dSSadaf Ebrahimi    \x{1d7cf}
1729*22dc650dSSadaf Ebrahimi
1730*22dc650dSSadaf Ebrahimi/[\D\P{Nd}]/utf
1731*22dc650dSSadaf Ebrahimi    \x{1d7cf}
1732*22dc650dSSadaf Ebrahimi
1733*22dc650dSSadaf Ebrahimi/[^\D]/utf
1734*22dc650dSSadaf Ebrahimi    a9b
1735*22dc650dSSadaf Ebrahimi\= Expect no match
1736*22dc650dSSadaf Ebrahimi    \x{1d7cf}
1737*22dc650dSSadaf Ebrahimi
1738*22dc650dSSadaf Ebrahimi/[^\D\P{Nd}]/utf
1739*22dc650dSSadaf Ebrahimi    a9b
1740*22dc650dSSadaf Ebrahimi    \x{1d7cf}
1741*22dc650dSSadaf Ebrahimi\= Expect no match
1742*22dc650dSSadaf Ebrahimi    \x{10000}
1743*22dc650dSSadaf Ebrahimi
1744*22dc650dSSadaf Ebrahimi# Hex uses pattern length, not zero-terminated. This tests for overrunning
1745*22dc650dSSadaf Ebrahimi# the given length of a pattern.
1746*22dc650dSSadaf Ebrahimi
1747*22dc650dSSadaf Ebrahimi/'(*UTF)'/hex
1748*22dc650dSSadaf Ebrahimi
1749*22dc650dSSadaf Ebrahimi/'#('/hex,extended,utf
1750*22dc650dSSadaf Ebrahimi
1751*22dc650dSSadaf Ebrahimi/a(?<=A\XB)/utf
1752*22dc650dSSadaf Ebrahimi
1753*22dc650dSSadaf Ebrahimi/../utf,auto_callout
1754*22dc650dSSadaf Ebrahimi    \n\x{123}\x{123}\x{123}\x{123}
1755*22dc650dSSadaf Ebrahimi
1756*22dc650dSSadaf Ebrahimi# This tests processing wide characters in extended mode.
1757*22dc650dSSadaf Ebrahimi
1758*22dc650dSSadaf Ebrahimi/XȀ/x,utf
1759*22dc650dSSadaf Ebrahimi
1760*22dc650dSSadaf Ebrahimi# These three test a bug fix that was not clearing up after a locale setting
1761*22dc650dSSadaf Ebrahimi# when the test or a subsequent one matched a wide character.
1762*22dc650dSSadaf Ebrahimi
1763*22dc650dSSadaf Ebrahimi//locale=C
1764*22dc650dSSadaf Ebrahimi
1765*22dc650dSSadaf Ebrahimi/[\P{Yi}]/utf
1766*22dc650dSSadaf Ebrahimi\x{2f000}
1767*22dc650dSSadaf Ebrahimi
1768*22dc650dSSadaf Ebrahimi/[\P{Yi}]/utf,locale=C
1769*22dc650dSSadaf Ebrahimi\x{2f000}
1770*22dc650dSSadaf Ebrahimi
1771*22dc650dSSadaf Ebrahimi/^(?<!(?=��))/B,utf
1772*22dc650dSSadaf Ebrahimi
1773*22dc650dSSadaf Ebrahimi# Horizontal and vertical space lists ignore caseless
1774*22dc650dSSadaf Ebrahimi
1775*22dc650dSSadaf Ebrahimi/[\HH]/Bi,utf
1776*22dc650dSSadaf Ebrahimi
1777*22dc650dSSadaf Ebrahimi/[^\HH]/Bi,utf
1778*22dc650dSSadaf Ebrahimi
1779*22dc650dSSadaf Ebrahimi//g,utf
1780*22dc650dSSadaf Ebrahimi    \=zero_terminate
1781*22dc650dSSadaf Ebrahimi
1782*22dc650dSSadaf Ebrahimi/^(?1)\p{Nd}{3}(a)/
1783*22dc650dSSadaf Ebrahimi    a123a
1784*22dc650dSSadaf Ebrahimi
1785*22dc650dSSadaf Ebrahimi/\p{Nd}{0,3}[\pL](*:abc)(?C1)xxx/callout_info
1786*22dc650dSSadaf Ebrahimi
1787*22dc650dSSadaf Ebrahimi# ---------------------------------------------------------------------------
1788*22dc650dSSadaf Ebrahimi
1789*22dc650dSSadaf Ebrahimi# A bunch of tests that hit lines of code that others do not (at least when
1790*22dc650dSSadaf Ebrahimi# these were created).
1791*22dc650dSSadaf Ebrahimi
1792*22dc650dSSadaf Ebrahimi/^[^a]{3,}?x/i,utf,no_start_optimize,no_auto_possess
1793*22dc650dSSadaf Ebrahimi\= Expect no match
1794*22dc650dSSadaf Ebrahimi    bbb
1795*22dc650dSSadaf Ebrahimi    cc
1796*22dc650dSSadaf Ebrahimi
1797*22dc650dSSadaf Ebrahimi/^[ac]{3,}?x/i,utf,no_start_optimize,no_auto_possess
1798*22dc650dSSadaf Ebrahimi\= Expect no match
1799*22dc650dSSadaf Ebrahimi    aaa\x{100}
1800*22dc650dSSadaf Ebrahimi
1801*22dc650dSSadaf Ebrahimi/^X\X/no_start_optimize,no_auto_possess
1802*22dc650dSSadaf Ebrahimi\= Expect no match
1803*22dc650dSSadaf Ebrahimi    X
1804*22dc650dSSadaf Ebrahimi
1805*22dc650dSSadaf Ebrahimi/^X\p{L&}+?/no_start_optimize,no_auto_possess
1806*22dc650dSSadaf Ebrahimi\= Expect no match
1807*22dc650dSSadaf Ebrahimi    X
1808*22dc650dSSadaf Ebrahimi
1809*22dc650dSSadaf Ebrahimi/^X\p{L}+?/no_start_optimize,no_auto_possess
1810*22dc650dSSadaf Ebrahimi\= Expect no match
1811*22dc650dSSadaf Ebrahimi    X
1812*22dc650dSSadaf Ebrahimi
1813*22dc650dSSadaf Ebrahimi/^X\p{Lu}+?/no_start_optimize,no_auto_possess
1814*22dc650dSSadaf Ebrahimi\= Expect no match
1815*22dc650dSSadaf Ebrahimi    X
1816*22dc650dSSadaf Ebrahimi
1817*22dc650dSSadaf Ebrahimi/^X\p{Arabic}+?/no_start_optimize,no_auto_possess
1818*22dc650dSSadaf Ebrahimi\= Expect no match
1819*22dc650dSSadaf Ebrahimi    X
1820*22dc650dSSadaf Ebrahimi
1821*22dc650dSSadaf Ebrahimi/^X\p{Xan}+?/ucp,no_start_optimize,no_auto_possess
1822*22dc650dSSadaf Ebrahimi\= Expect no match
1823*22dc650dSSadaf Ebrahimi    X
1824*22dc650dSSadaf Ebrahimi
1825*22dc650dSSadaf Ebrahimi/^X\s+?/ucp,no_start_optimize,no_auto_possess
1826*22dc650dSSadaf Ebrahimi\= Expect no match
1827*22dc650dSSadaf Ebrahimi    X
1828*22dc650dSSadaf Ebrahimi    XX
1829*22dc650dSSadaf Ebrahimi
1830*22dc650dSSadaf Ebrahimi/^X\S+?/ucp,no_start_optimize,no_auto_possess
1831*22dc650dSSadaf Ebrahimi    XX
1832*22dc650dSSadaf Ebrahimi\= Expect no match
1833*22dc650dSSadaf Ebrahimi    X
1834*22dc650dSSadaf Ebrahimi
1835*22dc650dSSadaf Ebrahimi/^X\w+?/ucp,no_start_optimize,no_auto_possess
1836*22dc650dSSadaf Ebrahimi\= Expect no match
1837*22dc650dSSadaf Ebrahimi    X
1838*22dc650dSSadaf Ebrahimi
1839*22dc650dSSadaf Ebrahimi/^X[^\x{b5}]+?/i,utf,no_start_optimize,no_auto_possess
1840*22dc650dSSadaf Ebrahimi\= Expect no match
1841*22dc650dSSadaf Ebrahimi    X
1842*22dc650dSSadaf Ebrahimi
1843*22dc650dSSadaf Ebrahimi/^X[\x{b5}]+?/i,utf,no_start_optimize,no_auto_possess
1844*22dc650dSSadaf Ebrahimi\= Expect no match
1845*22dc650dSSadaf Ebrahimi    X
1846*22dc650dSSadaf Ebrahimi
1847*22dc650dSSadaf Ebrahimi/^X\p{Xuc}+?/utf,no_start_optimize,no_auto_possess
1848*22dc650dSSadaf Ebrahimi\= Expect no match
1849*22dc650dSSadaf Ebrahimi    X
1850*22dc650dSSadaf Ebrahimi
1851*22dc650dSSadaf Ebrahimi/^X.+?Z/s,utf,no_start_optimize,no_auto_possess
1852*22dc650dSSadaf Ebrahimi\= Expect no match
1853*22dc650dSSadaf Ebrahimi    X
1854*22dc650dSSadaf Ebrahimi
1855*22dc650dSSadaf Ebrahimi/^X\R+?/utf,no_start_optimize,no_auto_possess
1856*22dc650dSSadaf Ebrahimi\= Expect no match
1857*22dc650dSSadaf Ebrahimi    X
1858*22dc650dSSadaf Ebrahimi
1859*22dc650dSSadaf Ebrahimi/^X\H+?/utf,no_start_optimize,no_auto_possess
1860*22dc650dSSadaf Ebrahimi\= Expect no match
1861*22dc650dSSadaf Ebrahimi    X
1862*22dc650dSSadaf Ebrahimi
1863*22dc650dSSadaf Ebrahimi/^X\V+?/utf,no_start_optimize,no_auto_possess
1864*22dc650dSSadaf Ebrahimi\= Expect no match
1865*22dc650dSSadaf Ebrahimi    X
1866*22dc650dSSadaf Ebrahimi
1867*22dc650dSSadaf Ebrahimi/^X\s+?/utf,no_start_optimize,no_auto_possess
1868*22dc650dSSadaf Ebrahimi\= Expect no match
1869*22dc650dSSadaf Ebrahimi    X
1870*22dc650dSSadaf Ebrahimi    XX
1871*22dc650dSSadaf Ebrahimi
1872*22dc650dSSadaf Ebrahimi/^X\S+?/utf,no_start_optimize,no_auto_possess
1873*22dc650dSSadaf Ebrahimi\= Expect no match
1874*22dc650dSSadaf Ebrahimi    X
1875*22dc650dSSadaf Ebrahimi
1876*22dc650dSSadaf Ebrahimi/^X\p{Any}{1,3}?Z/s,no_start_optimize,no_auto_possess
1877*22dc650dSSadaf Ebrahimi    XYYYZ
1878*22dc650dSSadaf Ebrahimi\= Expect no match
1879*22dc650dSSadaf Ebrahimi    XY
1880*22dc650dSSadaf Ebrahimi    XYY
1881*22dc650dSSadaf Ebrahimi    XYYY
1882*22dc650dSSadaf Ebrahimi    XYYYYZ
1883*22dc650dSSadaf Ebrahimi
1884*22dc650dSSadaf Ebrahimi/^X\p{L&}{1,3}?Z/s,no_start_optimize,no_auto_possess
1885*22dc650dSSadaf Ebrahimi\= Expect no match
1886*22dc650dSSadaf Ebrahimi    XY
1887*22dc650dSSadaf Ebrahimi    XY!
1888*22dc650dSSadaf Ebrahimi
1889*22dc650dSSadaf Ebrahimi/^X\p{L}{1,3}?Z/s,no_start_optimize,no_auto_possess
1890*22dc650dSSadaf Ebrahimi\= Expect no match
1891*22dc650dSSadaf Ebrahimi    XY
1892*22dc650dSSadaf Ebrahimi    XY!
1893*22dc650dSSadaf Ebrahimi
1894*22dc650dSSadaf Ebrahimi/^X\p{Lu}{1,3}?Z/s,no_start_optimize,no_auto_possess
1895*22dc650dSSadaf Ebrahimi\= Expect no match
1896*22dc650dSSadaf Ebrahimi    XY
1897*22dc650dSSadaf Ebrahimi    XY!
1898*22dc650dSSadaf Ebrahimi
1899*22dc650dSSadaf Ebrahimi/^X\P{Han}{1,3}?Z/s,utf,no_start_optimize,no_auto_possess
1900*22dc650dSSadaf Ebrahimi\= Expect no match
1901*22dc650dSSadaf Ebrahimi    XY
1902*22dc650dSSadaf Ebrahimi    XY!
1903*22dc650dSSadaf Ebrahimi    XY\x{2f00}!
1904*22dc650dSSadaf Ebrahimi
1905*22dc650dSSadaf Ebrahimi/^X\p{Xan}{1,3}?Z/s,no_start_optimize,no_auto_possess
1906*22dc650dSSadaf Ebrahimi\= Expect no match
1907*22dc650dSSadaf Ebrahimi    XY
1908*22dc650dSSadaf Ebrahimi    XY!
1909*22dc650dSSadaf Ebrahimi
1910*22dc650dSSadaf Ebrahimi/^X\p{Xsp}{1,3}?Z/s,no_start_optimize,no_auto_possess
1911*22dc650dSSadaf Ebrahimi\= Expect no match
1912*22dc650dSSadaf Ebrahimi    X\n
1913*22dc650dSSadaf Ebrahimi    X\n!
1914*22dc650dSSadaf Ebrahimi    X\n\n!
1915*22dc650dSSadaf Ebrahimi
1916*22dc650dSSadaf Ebrahimi/^X\P{Xsp}{1,3}?Z/s,no_start_optimize,no_auto_possess
1917*22dc650dSSadaf Ebrahimi\= Expect no match
1918*22dc650dSSadaf Ebrahimi    XYY\n
1919*22dc650dSSadaf Ebrahimi
1920*22dc650dSSadaf Ebrahimi/^X\p{Xwd}{1,3}?Z/s,no_start_optimize,no_auto_possess
1921*22dc650dSSadaf Ebrahimi\= Expect no match
1922*22dc650dSSadaf Ebrahimi    XY
1923*22dc650dSSadaf Ebrahimi    XY!
1924*22dc650dSSadaf Ebrahimi    XYY!
1925*22dc650dSSadaf Ebrahimi
1926*22dc650dSSadaf Ebrahimi/^X\x{b5}+?Z/i,utf,no_start_optimize,no_auto_possess
1927*22dc650dSSadaf Ebrahimi\= Expect no match
1928*22dc650dSSadaf Ebrahimi    X
1929*22dc650dSSadaf Ebrahimi    X\x{b5}
1930*22dc650dSSadaf Ebrahimi    X\x{b5}\x{b5}Y
1931*22dc650dSSadaf Ebrahimi
1932*22dc650dSSadaf Ebrahimi/^X\p{Xuc}+?Z/utf,no_start_optimize,no_auto_possess
1933*22dc650dSSadaf Ebrahimi\= Expect no match
1934*22dc650dSSadaf Ebrahimi    X
1935*22dc650dSSadaf Ebrahimi    X$
1936*22dc650dSSadaf Ebrahimi    X@@Y
1937*22dc650dSSadaf Ebrahimi
1938*22dc650dSSadaf Ebrahimi/(*CRLF)^X.+?Z/utf,no_start_optimize,no_auto_possess
1939*22dc650dSSadaf Ebrahimi\= Expect partial match
1940*22dc650dSSadaf Ebrahimi    XYY\r\=ph
1941*22dc650dSSadaf Ebrahimi\= Expect no match
1942*22dc650dSSadaf Ebrahimi    X
1943*22dc650dSSadaf Ebrahimi
1944*22dc650dSSadaf Ebrahimi/^X.+?Z/s,utf,no_start_optimize,no_auto_possess
1945*22dc650dSSadaf Ebrahimi\= Expect no match
1946*22dc650dSSadaf Ebrahimi    X
1947*22dc650dSSadaf Ebrahimi    XYY
1948*22dc650dSSadaf Ebrahimi
1949*22dc650dSSadaf Ebrahimi/^X\R+?Z/utf,no_start_optimize,no_auto_possess
1950*22dc650dSSadaf Ebrahimi\= Expect no match
1951*22dc650dSSadaf Ebrahimi    X\nX
1952*22dc650dSSadaf Ebrahimi    X\n\rX
1953*22dc650dSSadaf Ebrahimi    X\n\r\nX
1954*22dc650dSSadaf Ebrahimi    X\n\n
1955*22dc650dSSadaf Ebrahimi    X\n\x{0c}
1956*22dc650dSSadaf Ebrahimi
1957*22dc650dSSadaf Ebrahimi/(*BSR_ANYCRLF)^X\R+?Z/utf,no_start_optimize,no_auto_possess
1958*22dc650dSSadaf Ebrahimi\= Expect no match
1959*22dc650dSSadaf Ebrahimi    X\nX
1960*22dc650dSSadaf Ebrahimi    X\n\rX
1961*22dc650dSSadaf Ebrahimi    X\n\r\nX
1962*22dc650dSSadaf Ebrahimi    X\n\n
1963*22dc650dSSadaf Ebrahimi    X\n\x{0c}
1964*22dc650dSSadaf Ebrahimi
1965*22dc650dSSadaf Ebrahimi/^X\H+?Z/utf,no_start_optimize,no_auto_possess
1966*22dc650dSSadaf Ebrahimi\= Expect no match
1967*22dc650dSSadaf Ebrahimi    XY\t
1968*22dc650dSSadaf Ebrahimi    XYY
1969*22dc650dSSadaf Ebrahimi
1970*22dc650dSSadaf Ebrahimi/^X\h+?Z/utf,no_start_optimize,no_auto_possess
1971*22dc650dSSadaf Ebrahimi\= Expect no match
1972*22dc650dSSadaf Ebrahimi    X\t\t
1973*22dc650dSSadaf Ebrahimi    X\tY
1974*22dc650dSSadaf Ebrahimi
1975*22dc650dSSadaf Ebrahimi/^X\V+?Z/utf,no_start_optimize,no_auto_possess
1976*22dc650dSSadaf Ebrahimi\= Expect no match
1977*22dc650dSSadaf Ebrahimi    XY\n
1978*22dc650dSSadaf Ebrahimi    XYY
1979*22dc650dSSadaf Ebrahimi
1980*22dc650dSSadaf Ebrahimi/^X\v+?Z/utf,no_start_optimize,no_auto_possess
1981*22dc650dSSadaf Ebrahimi\= Expect no match
1982*22dc650dSSadaf Ebrahimi    X\n\n
1983*22dc650dSSadaf Ebrahimi    X\nY
1984*22dc650dSSadaf Ebrahimi
1985*22dc650dSSadaf Ebrahimi/^X\D+?Z/utf,no_start_optimize,no_auto_possess
1986*22dc650dSSadaf Ebrahimi\= Expect no match
1987*22dc650dSSadaf Ebrahimi    XY9
1988*22dc650dSSadaf Ebrahimi    XYY
1989*22dc650dSSadaf Ebrahimi
1990*22dc650dSSadaf Ebrahimi/^X\d+?Z/utf,no_start_optimize,no_auto_possess
1991*22dc650dSSadaf Ebrahimi\= Expect no match
1992*22dc650dSSadaf Ebrahimi    X99
1993*22dc650dSSadaf Ebrahimi    X9Y
1994*22dc650dSSadaf Ebrahimi
1995*22dc650dSSadaf Ebrahimi/^X\S+?Z/utf,no_start_optimize,no_auto_possess
1996*22dc650dSSadaf Ebrahimi\= Expect no match
1997*22dc650dSSadaf Ebrahimi    XY\n
1998*22dc650dSSadaf Ebrahimi    XYY
1999*22dc650dSSadaf Ebrahimi
2000*22dc650dSSadaf Ebrahimi/^X\s+?Z/utf,no_start_optimize,no_auto_possess
2001*22dc650dSSadaf Ebrahimi\= Expect no match
2002*22dc650dSSadaf Ebrahimi    X\n\n
2003*22dc650dSSadaf Ebrahimi    X\nY
2004*22dc650dSSadaf Ebrahimi
2005*22dc650dSSadaf Ebrahimi/^X\W+?Z/utf,no_start_optimize,no_auto_possess
2006*22dc650dSSadaf Ebrahimi\= Expect no match
2007*22dc650dSSadaf Ebrahimi    X.A
2008*22dc650dSSadaf Ebrahimi    X++
2009*22dc650dSSadaf Ebrahimi
2010*22dc650dSSadaf Ebrahimi/^X\p{L&}{1,3}Z/no_start_optimize,no_auto_possess
2011*22dc650dSSadaf Ebrahimi\= Expect no match
2012*22dc650dSSadaf Ebrahimi    XY
2013*22dc650dSSadaf Ebrahimi    XY!
2014*22dc650dSSadaf Ebrahimi
2015*22dc650dSSadaf Ebrahimi/^X\p{L}{1,3}Z/no_start_optimize,no_auto_possess
2016*22dc650dSSadaf Ebrahimi\= Expect no match
2017*22dc650dSSadaf Ebrahimi    XY
2018*22dc650dSSadaf Ebrahimi
2019*22dc650dSSadaf Ebrahimi/^X\p{Xan}{1,3}Z/no_start_optimize,no_auto_possess
2020*22dc650dSSadaf Ebrahimi\= Expect no match
2021*22dc650dSSadaf Ebrahimi    XY
2022*22dc650dSSadaf Ebrahimi
2023*22dc650dSSadaf Ebrahimi/^X\P{Xsp}{1,3}Z/no_start_optimize,no_auto_possess
2024*22dc650dSSadaf Ebrahimi\= Expect no match
2025*22dc650dSSadaf Ebrahimi    XYY
2026*22dc650dSSadaf Ebrahimi
2027*22dc650dSSadaf Ebrahimi/^X\p{Xuc}+Z/utf,no_start_optimize,no_auto_possess
2028*22dc650dSSadaf Ebrahimi\= Expect no match
2029*22dc650dSSadaf Ebrahimi    X$
2030*22dc650dSSadaf Ebrahimi
2031*22dc650dSSadaf Ebrahimi# ----------------------------------------------------------------------
2032*22dc650dSSadaf Ebrahimi# These test the dangerous PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL option.
2033*22dc650dSSadaf Ebrahimi
2034*22dc650dSSadaf Ebrahimi/\x{d800}/B,utf,bad_escape_is_literal
2035*22dc650dSSadaf Ebrahimi
2036*22dc650dSSadaf Ebrahimi/\ud800/B,utf,alt_bsux,bad_escape_is_literal
2037*22dc650dSSadaf Ebrahimi
2038*22dc650dSSadaf Ebrahimi# ----------------------------------------------------------------------
2039*22dc650dSSadaf Ebrahimi
2040*22dc650dSSadaf Ebrahimi/Aሴ+B/literal,utf,no_utf_check
2041*22dc650dSSadaf Ebrahimi    Aሴ+B
2042*22dc650dSSadaf Ebrahimi
2043*22dc650dSSadaf Ebrahimi# These are here because I upgraded to Unicode 10.0.0 before Perl did, so it
2044*22dc650dSSadaf Ebrahimi# doesn't recognize all these scripts. In time these three tests can be moved
2045*22dc650dSSadaf Ebrahimi# to test 4.
2046*22dc650dSSadaf Ebrahimi
2047*22dc650dSSadaf Ebrahimi/^(\p{Adlam}+)(\p{Bhaiksuki}+)(\p{Marchen}+)(\p{Newa}+)(\p{Osage}+)
2048*22dc650dSSadaf Ebrahimi  (\p{Tangut}+)(\p{Masaram_Gondi}+)(\p{Nushu}+)(\p{Soyombo}+)
2049*22dc650dSSadaf Ebrahimi  (\p{Zanabazar_Square}+)/x,utf
2050*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}
2051*22dc650dSSadaf Ebrahimi
2052*22dc650dSSadaf Ebrahimi/^\x{1E900}\x{104B0}/i,utf
2053*22dc650dSSadaf Ebrahimi    \x{1E900}\x{104B0}
2054*22dc650dSSadaf Ebrahimi    \x{1E922}\x{104D8}
2055*22dc650dSSadaf Ebrahimi
2056*22dc650dSSadaf Ebrahimi/^(?:(\X)(?C))+$/utf
2057*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
2058*22dc650dSSadaf Ebrahimi
2059*22dc650dSSadaf Ebrahimi# Similarly for Unicode 11.0.0
2060*22dc650dSSadaf Ebrahimi
2061*22dc650dSSadaf Ebrahimi/^(\p{Dogra}+)(\p{Gunjala_Gondi}+)(\p{Hanifi_Rohingya}+)(\p{Makasar}+)
2062*22dc650dSSadaf Ebrahimi  (\p{Medefaidrin}+)(\p{Old_Sogdian}+)(\p{Sogdian}+)/x,utf
2063*22dc650dSSadaf Ebrahimi    \x{11800}\x{11da9}\x{10d27}\x{11ee0}\x{16e48}\x{10f27}\x{10f30}
2064*22dc650dSSadaf Ebrahimi
2065*22dc650dSSadaf Ebrahimi# Regional indicators
2066*22dc650dSSadaf Ebrahimi
2067*22dc650dSSadaf Ebrahimi/^(\X)(\X)/utf,aftertext
2068*22dc650dSSadaf Ebrahimi    \x{1F1E6}\x{1F1E7}\x{1F1E7}B
2069*22dc650dSSadaf Ebrahimi    \x{1F1E6}\x{1F1E7}\x{1F1E7}\x{1F1E6}B
2070*22dc650dSSadaf Ebrahimi
2071*22dc650dSSadaf Ebrahimi# More differences from Perl
2072*22dc650dSSadaf Ebrahimi
2073*22dc650dSSadaf Ebrahimi/^\p{Common}/utf
2074*22dc650dSSadaf Ebrahimi    \x{60c}
2075*22dc650dSSadaf Ebrahimi    \x{61f}
2076*22dc650dSSadaf Ebrahimi    \x{964}
2077*22dc650dSSadaf Ebrahimi    \x{965}
2078*22dc650dSSadaf Ebrahimi
2079*22dc650dSSadaf Ebrahimi/^\p{Inherited}/utf
2080*22dc650dSSadaf Ebrahimi    \x{64b}
2081*22dc650dSSadaf Ebrahimi    \x{654}
2082*22dc650dSSadaf Ebrahimi    \x{655}
2083*22dc650dSSadaf Ebrahimi    \x{1D1AA}
2084*22dc650dSSadaf Ebrahimi
2085*22dc650dSSadaf Ebrahimi/\N{U+}/
2086*22dc650dSSadaf Ebrahimi
2087*22dc650dSSadaf Ebrahimi/\N{U+}/utf
2088*22dc650dSSadaf Ebrahimi
2089*22dc650dSSadaf Ebrahimi/\N{U}/
2090*22dc650dSSadaf Ebrahimi
2091*22dc650dSSadaf Ebrahimi# This tests the non-UTF Unicode NEL pattern whitespace character, only
2092*22dc650dSSadaf Ebrahimi# recognized by PCRE2 with /x when there is Unicode support.
2093*22dc650dSSadaf Ebrahimi
2094*22dc650dSSadaf Ebrahimi/A
2095*22dc650dSSadaf Ebrahimi
2096*22dc650dSSadaf Ebrahimi�B/x
2097*22dc650dSSadaf Ebrahimi    AB
2098*22dc650dSSadaf Ebrahimi
2099*22dc650dSSadaf Ebrahimi# This tests Unicode Pattern White Space characters in verb names when they
2100*22dc650dSSadaf Ebrahimi# are being processed with PCRE2_EXTENDED. Note: there are UTF-8 characters
2101*22dc650dSSadaf Ebrahimi# with code points greater than 255 between A, B, and C in the pattern.
2102*22dc650dSSadaf Ebrahimi
2103*22dc650dSSadaf Ebrahimi/(*: A‎B
C)abc/x,utf,mark,alt_verbnames
2104*22dc650dSSadaf Ebrahimi    abc
2105*22dc650dSSadaf Ebrahimi
2106*22dc650dSSadaf Ebrahimi# Script run tests: auto-possessification
2107*22dc650dSSadaf Ebrahimi
2108*22dc650dSSadaf Ebrahimi/^(*sr:.*)/B,utf
2109*22dc650dSSadaf Ebrahimi    paypаl.com   A classic example of why script run checks are a good thing
2110*22dc650dSSadaf Ebrahimi
2111*22dc650dSSadaf Ebrahimi/^(*sr:.*(*ACCEPT))/utf
2112*22dc650dSSadaf Ebrahimi    paypаl.com   But *ACCEPT breaks things
2113*22dc650dSSadaf Ebrahimi
2114*22dc650dSSadaf Ebrahimi/^(*sr:\x{2e80}*)/B,utf
2115*22dc650dSSadaf Ebrahimi
2116*22dc650dSSadaf Ebrahimi/^(*sr:\x{2e80}*)\x{2e80}/B,utf
2117*22dc650dSSadaf Ebrahimi
2118*22dc650dSSadaf Ebrahimi/(?<!)(*sr:)/B
2119*22dc650dSSadaf Ebrahimi
2120*22dc650dSSadaf Ebrahimi/(?<=abc(?=X(*sr:BXY)CCC)XBXYCCC)./B
2121*22dc650dSSadaf Ebrahimi   abcXBXYCCC!
2122*22dc650dSSadaf Ebrahimi
2123*22dc650dSSadaf Ebrahimi# Some script run patterns are broken in Perl 5.28.0. These can be moved into
2124*22dc650dSSadaf Ebrahimi# test 4 when a mended version of Perl is released.
2125*22dc650dSSadaf Ebrahimi
2126*22dc650dSSadaf Ebrahimi/^(*sr:.{4})/utf
2127*22dc650dSSadaf Ebrahimi    \x{0980}12\x{0993}     Bengali Common-digits Bengali
2128*22dc650dSSadaf Ebrahimi    \x{0780}12\x{07b1}     Thaana Common-digits Thaana
2129*22dc650dSSadaf Ebrahimi    \x{0e01}12\x{0e5b}     Thai Common-digits Thai
2130*22dc650dSSadaf Ebrahimi    \x{1780}12\x{19ff}     Khmer Common-digits Khmer
2131*22dc650dSSadaf Ebrahimi    \x{0904}12\x{0939}     Devanagari Common-digits Devanagari
2132*22dc650dSSadaf Ebrahimi    A\x{ff10}\x{ff19}B     Latin Common-notascii-digits Latin
2133*22dc650dSSadaf Ebrahimi    A\x{1d7ce}\x{1d7cf}B   Latin fancy-common-digits Latin
2134*22dc650dSSadaf Ebrahimi
2135*22dc650dSSadaf Ebrahimi# These ones involve non-ASCII but nevertheless Common digits. As of October
2136*22dc650dSSadaf Ebrahimi# 2018 even blead Perl wasn't handling all of these - but is going to.
2137*22dc650dSSadaf Ebrahimi
2138*22dc650dSSadaf Ebrahimi/^(*sr:.{4})/utf
2139*22dc650dSSadaf Ebrahimi    A\x{ff10}\x{ff19}B     Latin Common-notascii-digits Latin
2140*22dc650dSSadaf Ebrahimi    \x{ff10}\x{ff19}..     Common-notascii-digits Common Common
2141*22dc650dSSadaf Ebrahimi    A\x{ff10}BC            Latin Common-notascii-digit Latin Latin
2142*22dc650dSSadaf Ebrahimi    A\x{1d7ce}\x{1d7cf}B   Latin fancy-common-digits Latin
2143*22dc650dSSadaf Ebrahimi    \x{1d7ce}\x{1d7cf},,   fancy-common-digits Common Common
2144*22dc650dSSadaf Ebrahimi    A\x{1d7ce}BC           Latin fancy-common-digit Latin Latin
2145*22dc650dSSadaf Ebrahimi
2146*22dc650dSSadaf Ebrahimi# Some Unicode 12.1.0 new script characters
2147*22dc650dSSadaf Ebrahimi
2148*22dc650dSSadaf Ebrahimi/\p{Elymaic}\p{Nandinagari}\p{Nyiakeng_Puachue_Hmong}\p{Wancho}/utf
2149*22dc650dSSadaf Ebrahimi    \x{10fe5}\x{119AC}\x{1E10E}\x{1E2D1}
2150*22dc650dSSadaf Ebrahimi
2151*22dc650dSSadaf Ebrahimi# Some Unicode 13.0.0 new script characters
2152*22dc650dSSadaf Ebrahimi
2153*22dc650dSSadaf Ebrahimi/\p{Chorasmian}\p{Dives_Akuru}\p{Khitan_Small_Script}\p{Yezidi}/utf
2154*22dc650dSSadaf Ebrahimi    \x{10FB0}\x{11900}\x{18B00}\x{10E80}
2155*22dc650dSSadaf Ebrahimi
2156*22dc650dSSadaf Ebrahimi# -------
2157*22dc650dSSadaf Ebrahimi
2158*22dc650dSSadaf Ebrahimi# Test reference and errors in non-ASCII characters in group names
2159*22dc650dSSadaf Ebrahimi
2160*22dc650dSSadaf Ebrahimi/(?'��ABC'...)/I,utf
2161*22dc650dSSadaf Ebrahimi   abcde\=copy=��ABC
2162*22dc650dSSadaf Ebrahimi
2163*22dc650dSSadaf Ebrahimi# Bad ones
2164*22dc650dSSadaf Ebrahimi
2165*22dc650dSSadaf Ebrahimi/(?'AB၌C'...)\g{AB၌C}/utf
2166*22dc650dSSadaf Ebrahimi
2167*22dc650dSSadaf Ebrahimi/(?'٠ABC'...)/utf
2168*22dc650dSSadaf Ebrahimi
2169*22dc650dSSadaf Ebrahimi/(?'²ABC'...)/utf
2170*22dc650dSSadaf Ebrahimi
2171*22dc650dSSadaf Ebrahimi/(?'X²ABC'...)/utf
2172*22dc650dSSadaf Ebrahimi
2173*22dc650dSSadaf Ebrahimi# -------
2174*22dc650dSSadaf Ebrahimi
2175*22dc650dSSadaf Ebrahimi/\p{Any}*xyz/I
2176*22dc650dSSadaf Ebrahimi
2177*22dc650dSSadaf Ebrahimi/(|�)7/caseless,ucp
2178*22dc650dSSadaf Ebrahimi
2179*22dc650dSSadaf Ebrahimi/(\xc1)\1/i,ucp
2180*22dc650dSSadaf Ebrahimi    \xc1\xe1\=no_jit
2181*22dc650dSSadaf Ebrahimi
2182*22dc650dSSadaf Ebrahimi/\p{L&}+\p{bidi_control}/B
2183*22dc650dSSadaf Ebrahimi
2184*22dc650dSSadaf Ebrahimi/\p{bidi_control}+\p{L&}/B
2185*22dc650dSSadaf Ebrahimi
2186*22dc650dSSadaf Ebrahimi/\p{han}/B
2187*22dc650dSSadaf Ebrahimi
2188*22dc650dSSadaf Ebrahimi/\p{script:han}/B
2189*22dc650dSSadaf Ebrahimi
2190*22dc650dSSadaf Ebrahimi/\p{sc:han}/B
2191*22dc650dSSadaf Ebrahimi
2192*22dc650dSSadaf Ebrahimi/\p{script extensions:han}/B
2193*22dc650dSSadaf Ebrahimi
2194*22dc650dSSadaf Ebrahimi/\p{scx:han}/B
2195*22dc650dSSadaf Ebrahimi
2196*22dc650dSSadaf Ebrahimi# Test error - invalid script name
2197*22dc650dSSadaf Ebrahimi
2198*22dc650dSSadaf Ebrahimi/\p{sc:L}/
2199*22dc650dSSadaf Ebrahimi
2200*22dc650dSSadaf Ebrahimi# Some Boolean property tests that differ from Perl
2201*22dc650dSSadaf Ebrahimi
2202*22dc650dSSadaf Ebrahimi/\p{emojimodifierbase}\p{ebase}/g,utf
2203*22dc650dSSadaf Ebrahimi    >AN<>\x{261d}\x{1faf6}<>yz<
2204*22dc650dSSadaf Ebrahimi
2205*22dc650dSSadaf Ebrahimi/\p{graphemelink}\p{grlink}/g,utf
2206*22dc650dSSadaf Ebrahimi    >AN<>\x{11d97}\x{94d}<>yz<
2207*22dc650dSSadaf Ebrahimi
2208*22dc650dSSadaf Ebrahimi/\p{soft dotted}\p{sd}/g,utf
2209*22dc650dSSadaf Ebrahimi    >AF23<>\x{1df1a}\x{69}<>yz<
2210*22dc650dSSadaf Ebrahimi
2211*22dc650dSSadaf Ebrahimi# ------------------------------------------------
2212*22dc650dSSadaf Ebrahimi
2213*22dc650dSSadaf Ebrahimi/\p{\2b[:x�igi:t:_/
2214*22dc650dSSadaf Ebrahimi
2215*22dc650dSSadaf Ebrahimi# Tests for PCRE2_EXTRA_CASELESS_RESTRICT. Compare each test with and without
2216*22dc650dSSadaf Ebrahimi# the restriction.
2217*22dc650dSSadaf Ebrahimi
2218*22dc650dSSadaf Ebrahimi/AskZ/i,utf,caseless_restrict
2219*22dc650dSSadaf Ebrahimi    AskZ
2220*22dc650dSSadaf Ebrahimi    aSKz
2221*22dc650dSSadaf Ebrahimi\= Expect no match
2222*22dc650dSSadaf Ebrahimi    A\x{17f}kZ
2223*22dc650dSSadaf Ebrahimi    As\x{212a}Z
2224*22dc650dSSadaf Ebrahimi
2225*22dc650dSSadaf Ebrahimi/AskZ/i,utf
2226*22dc650dSSadaf Ebrahimi    AskZ
2227*22dc650dSSadaf Ebrahimi    aSKz
2228*22dc650dSSadaf Ebrahimi    A\x{17f}kZ
2229*22dc650dSSadaf Ebrahimi    As\x{212a}Z
2230*22dc650dSSadaf Ebrahimi
2231*22dc650dSSadaf Ebrahimi/A\x{17f}\x{212a}Z/ir,utf
2232*22dc650dSSadaf Ebrahimi    \= Expect no match
2233*22dc650dSSadaf Ebrahimi    AskZ
2234*22dc650dSSadaf Ebrahimi
2235*22dc650dSSadaf Ebrahimi/A\x{17f}\x{212a}Z/i,utf
2236*22dc650dSSadaf Ebrahimi    AskZ
2237*22dc650dSSadaf Ebrahimi
2238*22dc650dSSadaf Ebrahimi/[AskZ]+/i,utf,caseless_restrict
2239*22dc650dSSadaf Ebrahimi    AskZ
2240*22dc650dSSadaf Ebrahimi    aSKz
2241*22dc650dSSadaf Ebrahimi    A\x{17f}kZ
2242*22dc650dSSadaf Ebrahimi    As\x{212a}Z
2243*22dc650dSSadaf Ebrahimi
2244*22dc650dSSadaf Ebrahimi/[AskZ]+/i,utf
2245*22dc650dSSadaf Ebrahimi    AskZ
2246*22dc650dSSadaf Ebrahimi    aSKz
2247*22dc650dSSadaf Ebrahimi    A\x{17f}kZ
2248*22dc650dSSadaf Ebrahimi    As\x{212a}Z
2249*22dc650dSSadaf Ebrahimi
2250*22dc650dSSadaf Ebrahimi/[\x{17f}\x{212a}]+/ir,utf
2251*22dc650dSSadaf Ebrahimi\= Expect no match
2252*22dc650dSSadaf Ebrahimi    AskZ
2253*22dc650dSSadaf Ebrahimi
2254*22dc650dSSadaf Ebrahimi/[\x{17f}\x{212a}]+/i,utf
2255*22dc650dSSadaf Ebrahimi    AskZ
2256*22dc650dSSadaf Ebrahimi
2257*22dc650dSSadaf Ebrahimi/[^s]+/ir,utf
2258*22dc650dSSadaf Ebrahimi    A\x{17f}Z
2259*22dc650dSSadaf Ebrahimi
2260*22dc650dSSadaf Ebrahimi/[^s]+/i,utf
2261*22dc650dSSadaf Ebrahimi    A\x{17f}Z
2262*22dc650dSSadaf Ebrahimi
2263*22dc650dSSadaf Ebrahimi/[^k]+/ir,utf
2264*22dc650dSSadaf Ebrahimi    A\x{212a}Z
2265*22dc650dSSadaf Ebrahimi
2266*22dc650dSSadaf Ebrahimi/[^k]+/i,utf
2267*22dc650dSSadaf Ebrahimi    A\x{212a}Z
2268*22dc650dSSadaf Ebrahimi
2269*22dc650dSSadaf Ebrahimi/[^sk]+/ir,utf
2270*22dc650dSSadaf Ebrahimi    A\x{17f}\x{212a}Z
2271*22dc650dSSadaf Ebrahimi
2272*22dc650dSSadaf Ebrahimi/[^sk]+/i,utf
2273*22dc650dSSadaf Ebrahimi    A\x{17f}\x{212a}Z
2274*22dc650dSSadaf Ebrahimi
2275*22dc650dSSadaf Ebrahimi/[^\x{17f}]+/ir,utf
2276*22dc650dSSadaf Ebrahimi    AsSZ
2277*22dc650dSSadaf Ebrahimi
2278*22dc650dSSadaf Ebrahimi/[^\x{17f}]+/i,utf
2279*22dc650dSSadaf Ebrahimi    AsSZ
2280*22dc650dSSadaf Ebrahimi
2281*22dc650dSSadaf Ebrahimi/[Ss]+/irB,utf
2282*22dc650dSSadaf Ebrahimi    Sss\x{17f}ss
2283*22dc650dSSadaf Ebrahimi
2284*22dc650dSSadaf Ebrahimi/[Ss]+/iB,utf
2285*22dc650dSSadaf Ebrahimi    Sss\x{17f}ss
2286*22dc650dSSadaf Ebrahimi
2287*22dc650dSSadaf Ebrahimi/[S\x{17f}]/irB,utf
2288*22dc650dSSadaf Ebrahimi
2289*22dc650dSSadaf Ebrahimi/[S\x{17f}]/iB,utf
2290*22dc650dSSadaf Ebrahimi
2291*22dc650dSSadaf Ebrahimi/[\x{17f}s]/irB,utf
2292*22dc650dSSadaf Ebrahimi
2293*22dc650dSSadaf Ebrahimi/[\x{17f}s]/iB,utf
2294*22dc650dSSadaf Ebrahimi
2295*22dc650dSSadaf Ebrahimi/[\x{4b}\x{6b}]/irB,utf
2296*22dc650dSSadaf Ebrahimi
2297*22dc650dSSadaf Ebrahimi/[\x{4b}\x{6b}]/iB,utf
2298*22dc650dSSadaf Ebrahimi
2299*22dc650dSSadaf Ebrahimi/s(?r)s(?-r)s(?r:s)s/i,utf
2300*22dc650dSSadaf Ebrahimi    \x{17f}S\x{17f}S\x{17f}
2301*22dc650dSSadaf Ebrahimi\= Expect no match
2302*22dc650dSSadaf Ebrahimi    \x{17f}\x{17f}\x{17f}S\x{17f}
2303*22dc650dSSadaf Ebrahimi    \x{17f}S\x{17f}\x{17f}\x{17f}
2304*22dc650dSSadaf Ebrahimi
2305*22dc650dSSadaf Ebrahimi/k(?^i)k/ir,utf
2306*22dc650dSSadaf Ebrahimi    K\x{212a}
2307*22dc650dSSadaf Ebrahimi\= Expect no match
2308*22dc650dSSadaf Ebrahimi    \x{212a}\x{212a}
2309*22dc650dSSadaf Ebrahimi
2310*22dc650dSSadaf Ebrahimi# End caseless restrict tests
2311*22dc650dSSadaf Ebrahimi
2312*22dc650dSSadaf Ebrahimi# TESTS for PCRE2_EXTRA_ASCII_xxx - again, tests with and without.
2313*22dc650dSSadaf Ebrahimi
2314*22dc650dSSadaf Ebrahimi# DIGITS
2315*22dc650dSSadaf Ebrahimi
2316*22dc650dSSadaf Ebrahimi/\d+/i,utf
2317*22dc650dSSadaf Ebrahimi    123\x{660}456
2318*22dc650dSSadaf Ebrahimi
2319*22dc650dSSadaf Ebrahimi/\d+/i,utf,ucp
2320*22dc650dSSadaf Ebrahimi    123\x{660}456
2321*22dc650dSSadaf Ebrahimi
2322*22dc650dSSadaf Ebrahimi/\d+/i,utf,ucp,ascii_bsd
2323*22dc650dSSadaf Ebrahimi    123\x{660}456
2324*22dc650dSSadaf Ebrahimi
2325*22dc650dSSadaf Ebrahimi/[\d]+/i,utf
2326*22dc650dSSadaf Ebrahimi    123\x{660}456
2327*22dc650dSSadaf Ebrahimi
2328*22dc650dSSadaf Ebrahimi/[\d]+/i,utf,ucp
2329*22dc650dSSadaf Ebrahimi    123\x{660}456
2330*22dc650dSSadaf Ebrahimi
2331*22dc650dSSadaf Ebrahimi/[\d]+/i,utf,ucp,ascii_bsd
2332*22dc650dSSadaf Ebrahimi    123\x{660}456
2333*22dc650dSSadaf Ebrahimi
2334*22dc650dSSadaf Ebrahimi/\d(?aD)\d(?-aD)\d/utf,ucp
2335*22dc650dSSadaf Ebrahimi    \x{660}9\x{660}
2336*22dc650dSSadaf Ebrahimi\= Expect no match
2337*22dc650dSSadaf Ebrahimi    \x{660}\x{660}\x{660}
2338*22dc650dSSadaf Ebrahimi
2339*22dc650dSSadaf Ebrahimi/\d(?-aD)\d(?aD)\d/utf,ucp,ascii_bsd
2340*22dc650dSSadaf Ebrahimi    999
2341*22dc650dSSadaf Ebrahimi    9\x{660}9
2342*22dc650dSSadaf Ebrahimi
2343*22dc650dSSadaf Ebrahimi/\d(?a)\d(?-a)\d/utf,ucp
2344*22dc650dSSadaf Ebrahimi    \x{660}9\x{660}
2345*22dc650dSSadaf Ebrahimi\= Expect no match
2346*22dc650dSSadaf Ebrahimi    \x{660}\x{660}\x{660}
2347*22dc650dSSadaf Ebrahimi
2348*22dc650dSSadaf Ebrahimi/\d(?-aD)\d(?aD)\d/utf,ucp,ascii_bsd
2349*22dc650dSSadaf Ebrahimi    999
2350*22dc650dSSadaf Ebrahimi    9\x{660}9
2351*22dc650dSSadaf Ebrahimi
2352*22dc650dSSadaf Ebrahimi# SPACES
2353*22dc650dSSadaf Ebrahimi
2354*22dc650dSSadaf Ebrahimi/>\s+</i,utf
2355*22dc650dSSadaf Ebrahimi    >  <
2356*22dc650dSSadaf Ebrahimi\= Expect no match
2357*22dc650dSSadaf Ebrahimi    >\x{a0} <
2358*22dc650dSSadaf Ebrahimi
2359*22dc650dSSadaf Ebrahimi/>\s+</i,utf,ucp
2360*22dc650dSSadaf Ebrahimi    >  <
2361*22dc650dSSadaf Ebrahimi    >\x{a0} <
2362*22dc650dSSadaf Ebrahimi
2363*22dc650dSSadaf Ebrahimi/>\s+</i,utf,ucp,ascii_bss
2364*22dc650dSSadaf Ebrahimi    >  <
2365*22dc650dSSadaf Ebrahimi\= Expect no match
2366*22dc650dSSadaf Ebrahimi    >\x{a0} <
2367*22dc650dSSadaf Ebrahimi
2368*22dc650dSSadaf Ebrahimi/>[\s]+</i,utf
2369*22dc650dSSadaf Ebrahimi    >  <
2370*22dc650dSSadaf Ebrahimi\= Expect no match
2371*22dc650dSSadaf Ebrahimi    >\x{a0} <
2372*22dc650dSSadaf Ebrahimi
2373*22dc650dSSadaf Ebrahimi/>[\s]+</i,utf,ucp
2374*22dc650dSSadaf Ebrahimi    >  <
2375*22dc650dSSadaf Ebrahimi    >\x{a0} <
2376*22dc650dSSadaf Ebrahimi
2377*22dc650dSSadaf Ebrahimi/>[\s]+</i,utf,ucp,ascii_bss
2378*22dc650dSSadaf Ebrahimi    >  <
2379*22dc650dSSadaf Ebrahimi\= Expect no match
2380*22dc650dSSadaf Ebrahimi    >\x{a0} <
2381*22dc650dSSadaf Ebrahimi
2382*22dc650dSSadaf Ebrahimi/>\s(?aS)\s(?-aS)\s</utf,ucp
2383*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
2384*22dc650dSSadaf Ebrahimi\= Expect no match
2385*22dc650dSSadaf Ebrahimi    >\x{a0}\x{a0}\x{a0}<
2386*22dc650dSSadaf Ebrahimi
2387*22dc650dSSadaf Ebrahimi/>\s(?a)\s(?-a)\s</utf,ucp
2388*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
2389*22dc650dSSadaf Ebrahimi\= Expect no match
2390*22dc650dSSadaf Ebrahimi    >\x{a0}\x{a0}\x{a0}<
2391*22dc650dSSadaf Ebrahimi
2392*22dc650dSSadaf Ebrahimi# WORDS
2393*22dc650dSSadaf Ebrahimi
2394*22dc650dSSadaf Ebrahimi/\w+/i,utf
2395*22dc650dSSadaf Ebrahimi    123\x{660}abc
2396*22dc650dSSadaf Ebrahimi
2397*22dc650dSSadaf Ebrahimi/\w+/i,utf,ucp
2398*22dc650dSSadaf Ebrahimi    123\x{660}abc
2399*22dc650dSSadaf Ebrahimi
2400*22dc650dSSadaf Ebrahimi/\w+/i,utf,ucp,ascii_bsw
2401*22dc650dSSadaf Ebrahimi    123\x{660}abc
2402*22dc650dSSadaf Ebrahimi
2403*22dc650dSSadaf Ebrahimi/[\w]+/i,utf
2404*22dc650dSSadaf Ebrahimi    123\x{660}abc
2405*22dc650dSSadaf Ebrahimi
2406*22dc650dSSadaf Ebrahimi/[\w]+/i,utf,ucp
2407*22dc650dSSadaf Ebrahimi    123\x{660}abc
2408*22dc650dSSadaf Ebrahimi
2409*22dc650dSSadaf Ebrahimi/[\w]+/i,utf,ucp,ascii_bsw
2410*22dc650dSSadaf Ebrahimi    123\x{660}abc
2411*22dc650dSSadaf Ebrahimi
2412*22dc650dSSadaf Ebrahimi/\w(?aW)\w(?-aW)\w/utf,ucp
2413*22dc650dSSadaf Ebrahimi    \x{660}A\x{c0}
2414*22dc650dSSadaf Ebrahimi\= Expect no match
2415*22dc650dSSadaf Ebrahimi    \x{660}\x{c0}\x{c0}
2416*22dc650dSSadaf Ebrahimi
2417*22dc650dSSadaf Ebrahimi/\w(?a)\w(?-a)\w/utf,ucp
2418*22dc650dSSadaf Ebrahimi    \x{660}A\x{c0}
2419*22dc650dSSadaf Ebrahimi\= Expect no match
2420*22dc650dSSadaf Ebrahimi    \x{660}\x{c0}\x{c0}
2421*22dc650dSSadaf Ebrahimi
2422*22dc650dSSadaf Ebrahimi# WORD BOUNDARY
2423*22dc650dSSadaf Ebrahimi
2424*22dc650dSSadaf Ebrahimi/\bABC\b/utf
2425*22dc650dSSadaf Ebrahimi    \x{c0}ABC\x{d0}
2426*22dc650dSSadaf Ebrahimi
2427*22dc650dSSadaf Ebrahimi/\bABC\b/utf,ucp
2428*22dc650dSSadaf Ebrahimi\= Expect no match
2429*22dc650dSSadaf Ebrahimi    \x{c0}ABC\x{d0}
2430*22dc650dSSadaf Ebrahimi
2431*22dc650dSSadaf Ebrahimi/\bABC\b/utf,ucp,ascii_bsw
2432*22dc650dSSadaf Ebrahimi    \x{c0}ABC\x{d0}
2433*22dc650dSSadaf Ebrahimi
2434*22dc650dSSadaf Ebrahimi/\bABC\b/utf,ucp,ascii_all
2435*22dc650dSSadaf Ebrahimi    \x{c0}ABC\x{d0}
2436*22dc650dSSadaf Ebrahimi
2437*22dc650dSSadaf Ebrahimi# POSIX
2438*22dc650dSSadaf Ebrahimi
2439*22dc650dSSadaf Ebrahimi/^[[:digit:]]+$/utf,ucp
2440*22dc650dSSadaf Ebrahimi    123456
2441*22dc650dSSadaf Ebrahimi    123\x{660}456
2442*22dc650dSSadaf Ebrahimi
2443*22dc650dSSadaf Ebrahimi/^[[:digit:]]+$/utf,ucp,ascii_digit
2444*22dc650dSSadaf Ebrahimi    123456
2445*22dc650dSSadaf Ebrahimi\= Expect no match
2446*22dc650dSSadaf Ebrahimi    123\x{660}456
2447*22dc650dSSadaf Ebrahimi
2448*22dc650dSSadaf Ebrahimi/[[:digit:]]+/g,utf,ucp,ascii_digit
2449*22dc650dSSadaf Ebrahimi    123\x{660}456
2450*22dc650dSSadaf Ebrahimi
2451*22dc650dSSadaf Ebrahimi/(?-aT)[[:digit:]](?aT)[[:digit:]]/utf,ucp,ascii_digit
2452*22dc650dSSadaf Ebrahimi    11
2453*22dc650dSSadaf Ebrahimi    \x{ff11}1
2454*22dc650dSSadaf Ebrahimi\= Expect no match
2455*22dc650dSSadaf Ebrahimi    1\x{ff11}
2456*22dc650dSSadaf Ebrahimi
2457*22dc650dSSadaf Ebrahimi/(?-aT:[[:digit:]])[[:digit:]]/utf,ucp,ascii_digit
2458*22dc650dSSadaf Ebrahimi    11
2459*22dc650dSSadaf Ebrahimi    \x{ff11}1
2460*22dc650dSSadaf Ebrahimi\= Expect no match
2461*22dc650dSSadaf Ebrahimi    1\x{ff11}
2462*22dc650dSSadaf Ebrahimi
2463*22dc650dSSadaf Ebrahimi/(?-aT:[[:digit:]])[[:digit:]]/utf,never_ucp,ascii_digit
2464*22dc650dSSadaf Ebrahimi    11
2465*22dc650dSSadaf Ebrahimi\= Expect no match
2466*22dc650dSSadaf Ebrahimi    \x{ff11}1
2467*22dc650dSSadaf Ebrahimi    1\x{ff11}
2468*22dc650dSSadaf Ebrahimi
2469*22dc650dSSadaf Ebrahimi/[[:digit:]]+/utf,ucp,ascii_posix
2470*22dc650dSSadaf Ebrahimi    123\x{660}456
2471*22dc650dSSadaf Ebrahimi
2472*22dc650dSSadaf Ebrahimi/(?-aP)[[:digit:]](?aP)[[:digit:]]/utf,ucp,ascii_posix
2473*22dc650dSSadaf Ebrahimi    11
2474*22dc650dSSadaf Ebrahimi    \x{ff11}1
2475*22dc650dSSadaf Ebrahimi\= Expect no match
2476*22dc650dSSadaf Ebrahimi    1\x{ff11}
2477*22dc650dSSadaf Ebrahimi
2478*22dc650dSSadaf Ebrahimi/(?-aP:[[:digit:]])[[:digit:]]/utf,ucp,ascii_posix
2479*22dc650dSSadaf Ebrahimi    11
2480*22dc650dSSadaf Ebrahimi    \x{ff11}1
2481*22dc650dSSadaf Ebrahimi\= Expect no match
2482*22dc650dSSadaf Ebrahimi    1\x{ff11}
2483*22dc650dSSadaf Ebrahimi
2484*22dc650dSSadaf Ebrahimi/(?-a:[[:digit:]])[[:digit:]]/a,utf,ucp
2485*22dc650dSSadaf Ebrahimi    11
2486*22dc650dSSadaf Ebrahimi    \x{ff11}1
2487*22dc650dSSadaf Ebrahimi\= Expect no match
2488*22dc650dSSadaf Ebrahimi    1\x{ff11}
2489*22dc650dSSadaf Ebrahimi
2490*22dc650dSSadaf Ebrahimi/^[[:xdigit:]]+$/utf,ucp
2491*22dc650dSSadaf Ebrahimi    f0
2492*22dc650dSSadaf Ebrahimi    1A
2493*22dc650dSSadaf Ebrahimi    d\x{ff10}
2494*22dc650dSSadaf Ebrahimi    \x{ff26}8
2495*22dc650dSSadaf Ebrahimi\= Expect no match
2496*22dc650dSSadaf Ebrahimi    8g\=no_jit
2497*22dc650dSSadaf Ebrahimi
2498*22dc650dSSadaf Ebrahimi/^[[:xdigit:]]+$/utf,ucp,ascii_digit
2499*22dc650dSSadaf Ebrahimi    f0
2500*22dc650dSSadaf Ebrahimi    1A
2501*22dc650dSSadaf Ebrahimi\= Expect no match
2502*22dc650dSSadaf Ebrahimi    d\x{ff10}
2503*22dc650dSSadaf Ebrahimi    \x{ff26}8
2504*22dc650dSSadaf Ebrahimi    8g
2505*22dc650dSSadaf Ebrahimi
2506*22dc650dSSadaf Ebrahimi/>[[:space:]]+</utf,ucp
2507*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
2508*22dc650dSSadaf Ebrahimi    >\x{a0}\x{a0}\x{a0}<
2509*22dc650dSSadaf Ebrahimi
2510*22dc650dSSadaf Ebrahimi/>[[:space:]]+</utf,ucp,ascii_posix
2511*22dc650dSSadaf Ebrahimi\= Expect no match
2512*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
2513*22dc650dSSadaf Ebrahimi
2514*22dc650dSSadaf Ebrahimi/(?aP)[[:alnum:]]+/i,ucp,utf
2515*22dc650dSSadaf Ebrahimi    abcáxyz
2516*22dc650dSSadaf Ebrahimi    abc\x{660}xyz
2517*22dc650dSSadaf Ebrahimi
2518*22dc650dSSadaf Ebrahimi/(?aP)[[:alnum:]\d]+/i,ucp,utf
2519*22dc650dSSadaf Ebrahimi    abc\x{660}xyz
2520*22dc650dSSadaf Ebrahimi
2521*22dc650dSSadaf Ebrahimi/(*UCP)(*UTF)[[:alnum:]](?aP:[[:alnum:]])[[:alnum:]]/
2522*22dc650dSSadaf Ebrahimi    \x{660}A\x{660}
2523*22dc650dSSadaf Ebrahimi\= Expect no match
2524*22dc650dSSadaf Ebrahimi    \x{660}\x{660}\x{660}
2525*22dc650dSSadaf Ebrahimi
2526*22dc650dSSadaf Ebrahimi# VARIOUS
2527*22dc650dSSadaf Ebrahimi
2528*22dc650dSSadaf Ebrahimi/[\d\s\w]+/a,ucp,utf
2529*22dc650dSSadaf Ebrahimi    9 A\x{660}À
2530*22dc650dSSadaf Ebrahimi    9 AÀ\x{660}
2531*22dc650dSSadaf Ebrahimi
2532*22dc650dSSadaf Ebrahimi# End PCRE2_EXTRA_ASCII_xxx tests
2533*22dc650dSSadaf Ebrahimi
2534*22dc650dSSadaf Ebrahimi/(?<!(|l ))/utf
2535    (?<!(|l ))
2536
2537# End of testinput5
2538