xref: /aosp_15_r20/external/pcre/testdata/testinput7 (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi# This set of tests checks UTF and Unicode property support with the DFA
2*22dc650dSSadaf Ebrahimi# matching functionality of pcre2_dfa_match(). A default subject modifier is
3*22dc650dSSadaf Ebrahimi# used to force DFA matching for all tests.
4*22dc650dSSadaf Ebrahimi
5*22dc650dSSadaf Ebrahimi#subject dfa
6*22dc650dSSadaf Ebrahimi#newline_default LF any anyCRLF
7*22dc650dSSadaf Ebrahimi
8*22dc650dSSadaf Ebrahimi/\x{100}ab/utf
9*22dc650dSSadaf Ebrahimi  \x{100}ab
10*22dc650dSSadaf Ebrahimi
11*22dc650dSSadaf Ebrahimi/a\x{100}*b/utf
12*22dc650dSSadaf Ebrahimi    ab
13*22dc650dSSadaf Ebrahimi    a\x{100}b
14*22dc650dSSadaf Ebrahimi    a\x{100}\x{100}b
15*22dc650dSSadaf Ebrahimi
16*22dc650dSSadaf Ebrahimi/a\x{100}+b/utf
17*22dc650dSSadaf Ebrahimi    a\x{100}b
18*22dc650dSSadaf Ebrahimi    a\x{100}\x{100}b
19*22dc650dSSadaf Ebrahimi\= Expect no match
20*22dc650dSSadaf Ebrahimi    ab
21*22dc650dSSadaf Ebrahimi
22*22dc650dSSadaf Ebrahimi/\bX/utf
23*22dc650dSSadaf Ebrahimi    Xoanon
24*22dc650dSSadaf Ebrahimi    +Xoanon
25*22dc650dSSadaf Ebrahimi    \x{300}Xoanon
26*22dc650dSSadaf Ebrahimi\= Expect no match
27*22dc650dSSadaf Ebrahimi    YXoanon
28*22dc650dSSadaf Ebrahimi
29*22dc650dSSadaf Ebrahimi/\BX/utf
30*22dc650dSSadaf Ebrahimi    YXoanon
31*22dc650dSSadaf Ebrahimi\= Expect no match
32*22dc650dSSadaf Ebrahimi    Xoanon
33*22dc650dSSadaf Ebrahimi    +Xoanon
34*22dc650dSSadaf Ebrahimi    \x{300}Xoanon
35*22dc650dSSadaf Ebrahimi
36*22dc650dSSadaf Ebrahimi/X\b/utf
37*22dc650dSSadaf Ebrahimi    X+oanon
38*22dc650dSSadaf Ebrahimi    ZX\x{300}oanon
39*22dc650dSSadaf Ebrahimi    FAX
40*22dc650dSSadaf Ebrahimi\= Expect no match
41*22dc650dSSadaf Ebrahimi    Xoanon
42*22dc650dSSadaf Ebrahimi
43*22dc650dSSadaf Ebrahimi/X\B/utf
44*22dc650dSSadaf Ebrahimi    Xoanon
45*22dc650dSSadaf Ebrahimi\= Expect no match
46*22dc650dSSadaf Ebrahimi    X+oanon
47*22dc650dSSadaf Ebrahimi    ZX\x{300}oanon
48*22dc650dSSadaf Ebrahimi    FAX
49*22dc650dSSadaf Ebrahimi
50*22dc650dSSadaf Ebrahimi/[^a]/utf
51*22dc650dSSadaf Ebrahimi    abcd
52*22dc650dSSadaf Ebrahimi    a\x{100}
53*22dc650dSSadaf Ebrahimi
54*22dc650dSSadaf Ebrahimi/^[abc\x{123}\x{400}-\x{402}]{2,3}\d/utf
55*22dc650dSSadaf Ebrahimi    ab99
56*22dc650dSSadaf Ebrahimi    \x{123}\x{123}45
57*22dc650dSSadaf Ebrahimi    \x{400}\x{401}\x{402}6
58*22dc650dSSadaf Ebrahimi\= Expect no match
59*22dc650dSSadaf Ebrahimi    d99
60*22dc650dSSadaf Ebrahimi    \x{123}\x{122}4
61*22dc650dSSadaf Ebrahimi    \x{400}\x{403}6
62*22dc650dSSadaf Ebrahimi    \x{400}\x{401}\x{402}\x{402}6
63*22dc650dSSadaf Ebrahimi
64*22dc650dSSadaf Ebrahimi/a.b/utf
65*22dc650dSSadaf Ebrahimi    acb
66*22dc650dSSadaf Ebrahimi    a\x7fb
67*22dc650dSSadaf Ebrahimi    a\x{100}b
68*22dc650dSSadaf Ebrahimi\= Expect no match
69*22dc650dSSadaf Ebrahimi    a\nb
70*22dc650dSSadaf Ebrahimi
71*22dc650dSSadaf Ebrahimi/a(.{3})b/utf
72*22dc650dSSadaf Ebrahimi    a\x{4000}xyb
73*22dc650dSSadaf Ebrahimi    a\x{4000}\x7fyb
74*22dc650dSSadaf Ebrahimi    a\x{4000}\x{100}yb
75*22dc650dSSadaf Ebrahimi\= Expect no match
76*22dc650dSSadaf Ebrahimi    a\x{4000}b
77*22dc650dSSadaf Ebrahimi    ac\ncb
78*22dc650dSSadaf Ebrahimi
79*22dc650dSSadaf Ebrahimi/a(.*?)(.)/
80*22dc650dSSadaf Ebrahimi    a\xc0\x88b
81*22dc650dSSadaf Ebrahimi
82*22dc650dSSadaf Ebrahimi/a(.*?)(.)/utf
83*22dc650dSSadaf Ebrahimi    a\x{100}b
84*22dc650dSSadaf Ebrahimi
85*22dc650dSSadaf Ebrahimi/a(.*)(.)/
86*22dc650dSSadaf Ebrahimi    a\xc0\x88b
87*22dc650dSSadaf Ebrahimi
88*22dc650dSSadaf Ebrahimi/a(.*)(.)/utf
89*22dc650dSSadaf Ebrahimi    a\x{100}b
90*22dc650dSSadaf Ebrahimi
91*22dc650dSSadaf Ebrahimi/a(.)(.)/
92*22dc650dSSadaf Ebrahimi    a\xc0\x92bcd
93*22dc650dSSadaf Ebrahimi
94*22dc650dSSadaf Ebrahimi/a(.)(.)/utf
95*22dc650dSSadaf Ebrahimi    a\x{240}bcd
96*22dc650dSSadaf Ebrahimi
97*22dc650dSSadaf Ebrahimi/a(.?)(.)/
98*22dc650dSSadaf Ebrahimi    a\xc0\x92bcd
99*22dc650dSSadaf Ebrahimi
100*22dc650dSSadaf Ebrahimi/a(.?)(.)/utf
101*22dc650dSSadaf Ebrahimi    a\x{240}bcd
102*22dc650dSSadaf Ebrahimi
103*22dc650dSSadaf Ebrahimi/a(.??)(.)/
104*22dc650dSSadaf Ebrahimi    a\xc0\x92bcd
105*22dc650dSSadaf Ebrahimi
106*22dc650dSSadaf Ebrahimi/a(.??)(.)/utf
107*22dc650dSSadaf Ebrahimi    a\x{240}bcd
108*22dc650dSSadaf Ebrahimi
109*22dc650dSSadaf Ebrahimi/a(.{3})b/utf
110*22dc650dSSadaf Ebrahimi    a\x{1234}xyb
111*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}yb
112*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}\x{3412}b
113*22dc650dSSadaf Ebrahimi\= Expect no match
114*22dc650dSSadaf Ebrahimi    a\x{1234}b
115*22dc650dSSadaf Ebrahimi    ac\ncb
116*22dc650dSSadaf Ebrahimi
117*22dc650dSSadaf Ebrahimi/a(.{3,})b/utf
118*22dc650dSSadaf Ebrahimi    a\x{1234}xyb
119*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}yb
120*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}\x{3412}b
121*22dc650dSSadaf Ebrahimi    axxxxbcdefghijb
122*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}\x{3412}\x{3421}b
123*22dc650dSSadaf Ebrahimi\= Expect no match
124*22dc650dSSadaf Ebrahimi    a\x{1234}b
125*22dc650dSSadaf Ebrahimi
126*22dc650dSSadaf Ebrahimi/a(.{3,}?)b/utf
127*22dc650dSSadaf Ebrahimi    a\x{1234}xyb
128*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}yb
129*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}\x{3412}b
130*22dc650dSSadaf Ebrahimi    axxxxbcdefghijb
131*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}\x{3412}\x{3421}b
132*22dc650dSSadaf Ebrahimi\= Expect no match
133*22dc650dSSadaf Ebrahimi    a\x{1234}b
134*22dc650dSSadaf Ebrahimi
135*22dc650dSSadaf Ebrahimi/a(.{3,5})b/utf
136*22dc650dSSadaf Ebrahimi    a\x{1234}xyb
137*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}yb
138*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}\x{3412}b
139*22dc650dSSadaf Ebrahimi    axxxxbcdefghijb
140*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}\x{3412}\x{3421}b
141*22dc650dSSadaf Ebrahimi    axbxxbcdefghijb
142*22dc650dSSadaf Ebrahimi    axxxxxbcdefghijb
143*22dc650dSSadaf Ebrahimi\= Expect no match
144*22dc650dSSadaf Ebrahimi    a\x{1234}b
145*22dc650dSSadaf Ebrahimi    axxxxxxbcdefghijb
146*22dc650dSSadaf Ebrahimi
147*22dc650dSSadaf Ebrahimi/a(.{3,5}?)b/utf
148*22dc650dSSadaf Ebrahimi    a\x{1234}xyb
149*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}yb
150*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}\x{3412}b
151*22dc650dSSadaf Ebrahimi    axxxxbcdefghijb
152*22dc650dSSadaf Ebrahimi    a\x{1234}\x{4321}\x{3412}\x{3421}b
153*22dc650dSSadaf Ebrahimi    axbxxbcdefghijb
154*22dc650dSSadaf Ebrahimi    axxxxxbcdefghijb
155*22dc650dSSadaf Ebrahimi\= Expect no match
156*22dc650dSSadaf Ebrahimi    a\x{1234}b
157*22dc650dSSadaf Ebrahimi    axxxxxxbcdefghijb
158*22dc650dSSadaf Ebrahimi
159*22dc650dSSadaf Ebrahimi/^[a\x{c0}]/utf
160*22dc650dSSadaf Ebrahimi\= Expect no match
161*22dc650dSSadaf Ebrahimi    \x{100}
162*22dc650dSSadaf Ebrahimi
163*22dc650dSSadaf Ebrahimi/(?<=aXb)cd/utf
164*22dc650dSSadaf Ebrahimi    aXbcd
165*22dc650dSSadaf Ebrahimi
166*22dc650dSSadaf Ebrahimi/(?<=a\x{100}b)cd/utf
167*22dc650dSSadaf Ebrahimi    a\x{100}bcd
168*22dc650dSSadaf Ebrahimi
169*22dc650dSSadaf Ebrahimi/(?<=a\x{100000}b)cd/utf
170*22dc650dSSadaf Ebrahimi    a\x{100000}bcd
171*22dc650dSSadaf Ebrahimi
172*22dc650dSSadaf Ebrahimi/(?:\x{100}){3}b/utf
173*22dc650dSSadaf Ebrahimi    \x{100}\x{100}\x{100}b
174*22dc650dSSadaf Ebrahimi\= Expect no match
175*22dc650dSSadaf Ebrahimi    \x{100}\x{100}b
176*22dc650dSSadaf Ebrahimi
177*22dc650dSSadaf Ebrahimi/\x{ab}/utf
178*22dc650dSSadaf Ebrahimi    \x{ab}
179*22dc650dSSadaf Ebrahimi    \xc2\xab
180*22dc650dSSadaf Ebrahimi\= Expect no match
181*22dc650dSSadaf Ebrahimi    \x00{ab}
182*22dc650dSSadaf Ebrahimi
183*22dc650dSSadaf Ebrahimi/(?<=(.))X/utf
184*22dc650dSSadaf Ebrahimi    WXYZ
185*22dc650dSSadaf Ebrahimi    \x{256}XYZ
186*22dc650dSSadaf Ebrahimi\= Expect no match
187*22dc650dSSadaf Ebrahimi    XYZ
188*22dc650dSSadaf Ebrahimi
189*22dc650dSSadaf Ebrahimi/[^a]+/g,utf
190*22dc650dSSadaf Ebrahimi    bcd
191*22dc650dSSadaf Ebrahimi    \x{100}aY\x{256}Z
192*22dc650dSSadaf Ebrahimi
193*22dc650dSSadaf Ebrahimi/^[^a]{2}/utf
194*22dc650dSSadaf Ebrahimi    \x{100}bc
195*22dc650dSSadaf Ebrahimi
196*22dc650dSSadaf Ebrahimi/^[^a]{2,}/utf
197*22dc650dSSadaf Ebrahimi    \x{100}bcAa
198*22dc650dSSadaf Ebrahimi
199*22dc650dSSadaf Ebrahimi/^[^a]{2,}?/utf
200*22dc650dSSadaf Ebrahimi    \x{100}bca
201*22dc650dSSadaf Ebrahimi
202*22dc650dSSadaf Ebrahimi/[^a]+/gi,utf
203*22dc650dSSadaf Ebrahimi    bcd
204*22dc650dSSadaf Ebrahimi    \x{100}aY\x{256}Z
205*22dc650dSSadaf Ebrahimi
206*22dc650dSSadaf Ebrahimi/^[^a]{2}/i,utf
207*22dc650dSSadaf Ebrahimi    \x{100}bc
208*22dc650dSSadaf Ebrahimi
209*22dc650dSSadaf Ebrahimi/^[^a]{2,}/i,utf
210*22dc650dSSadaf Ebrahimi    \x{100}bcAa
211*22dc650dSSadaf Ebrahimi
212*22dc650dSSadaf Ebrahimi/^[^a]{2,}?/i,utf
213*22dc650dSSadaf Ebrahimi    \x{100}bca
214*22dc650dSSadaf Ebrahimi
215*22dc650dSSadaf Ebrahimi/\x{100}{0,0}/utf
216*22dc650dSSadaf Ebrahimi    abcd
217*22dc650dSSadaf Ebrahimi
218*22dc650dSSadaf Ebrahimi/\x{100}?/utf
219*22dc650dSSadaf Ebrahimi    abcd
220*22dc650dSSadaf Ebrahimi    \x{100}\x{100}
221*22dc650dSSadaf Ebrahimi
222*22dc650dSSadaf Ebrahimi/\x{100}{0,3}/utf
223*22dc650dSSadaf Ebrahimi    \x{100}\x{100}
224*22dc650dSSadaf Ebrahimi    \x{100}\x{100}\x{100}\x{100}
225*22dc650dSSadaf Ebrahimi
226*22dc650dSSadaf Ebrahimi/\x{100}*/utf
227*22dc650dSSadaf Ebrahimi    abce
228*22dc650dSSadaf Ebrahimi    \x{100}\x{100}\x{100}\x{100}
229*22dc650dSSadaf Ebrahimi
230*22dc650dSSadaf Ebrahimi/\x{100}{1,1}/utf
231*22dc650dSSadaf Ebrahimi    abcd\x{100}\x{100}\x{100}\x{100}
232*22dc650dSSadaf Ebrahimi
233*22dc650dSSadaf Ebrahimi/\x{100}{1,3}/utf
234*22dc650dSSadaf Ebrahimi    abcd\x{100}\x{100}\x{100}\x{100}
235*22dc650dSSadaf Ebrahimi
236*22dc650dSSadaf Ebrahimi/\x{100}+/utf
237*22dc650dSSadaf Ebrahimi    abcd\x{100}\x{100}\x{100}\x{100}
238*22dc650dSSadaf Ebrahimi
239*22dc650dSSadaf Ebrahimi/\x{100}{3}/utf
240*22dc650dSSadaf Ebrahimi    abcd\x{100}\x{100}\x{100}XX
241*22dc650dSSadaf Ebrahimi
242*22dc650dSSadaf Ebrahimi/\x{100}{3,5}/utf
243*22dc650dSSadaf Ebrahimi    abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
244*22dc650dSSadaf Ebrahimi
245*22dc650dSSadaf Ebrahimi/\x{100}{3,}/utf,no_auto_possess
246*22dc650dSSadaf Ebrahimi    abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
247*22dc650dSSadaf Ebrahimi
248*22dc650dSSadaf Ebrahimi/(?<=a\x{100}{2}b)X/utf
249*22dc650dSSadaf Ebrahimi    Xyyya\x{100}\x{100}bXzzz
250*22dc650dSSadaf Ebrahimi
251*22dc650dSSadaf Ebrahimi/\D*/utf,no_auto_possess
252*22dc650dSSadaf Ebrahimi  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
253*22dc650dSSadaf Ebrahimi
254*22dc650dSSadaf Ebrahimi/\D*/utf,no_auto_possess
255*22dc650dSSadaf Ebrahimi  \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
256*22dc650dSSadaf Ebrahimi
257*22dc650dSSadaf Ebrahimi/\D/utf
258*22dc650dSSadaf Ebrahimi    1X2
259*22dc650dSSadaf Ebrahimi    1\x{100}2
260*22dc650dSSadaf Ebrahimi
261*22dc650dSSadaf Ebrahimi/>\S/utf
262*22dc650dSSadaf Ebrahimi    > >X Y
263*22dc650dSSadaf Ebrahimi    > >\x{100} Y
264*22dc650dSSadaf Ebrahimi
265*22dc650dSSadaf Ebrahimi/\d/utf
266*22dc650dSSadaf Ebrahimi    \x{100}3
267*22dc650dSSadaf Ebrahimi
268*22dc650dSSadaf Ebrahimi/\s/utf
269*22dc650dSSadaf Ebrahimi    \x{100} X
270*22dc650dSSadaf Ebrahimi
271*22dc650dSSadaf Ebrahimi/\D+/utf
272*22dc650dSSadaf Ebrahimi    12abcd34
273*22dc650dSSadaf Ebrahimi\= Expect no match
274*22dc650dSSadaf Ebrahimi    1234
275*22dc650dSSadaf Ebrahimi
276*22dc650dSSadaf Ebrahimi/\D{2,3}/utf
277*22dc650dSSadaf Ebrahimi    12abcd34
278*22dc650dSSadaf Ebrahimi    12ab34
279*22dc650dSSadaf Ebrahimi\= Expect no match
280*22dc650dSSadaf Ebrahimi    1234
281*22dc650dSSadaf Ebrahimi    12a34
282*22dc650dSSadaf Ebrahimi
283*22dc650dSSadaf Ebrahimi/\D{2,3}?/utf
284*22dc650dSSadaf Ebrahimi    12abcd34
285*22dc650dSSadaf Ebrahimi    12ab34
286*22dc650dSSadaf Ebrahimi\= Expect no match
287*22dc650dSSadaf Ebrahimi    1234
288*22dc650dSSadaf Ebrahimi    12a34
289*22dc650dSSadaf Ebrahimi
290*22dc650dSSadaf Ebrahimi/\d+/utf
291*22dc650dSSadaf Ebrahimi    12abcd34
292*22dc650dSSadaf Ebrahimi
293*22dc650dSSadaf Ebrahimi/\d{2,3}/utf
294*22dc650dSSadaf Ebrahimi    12abcd34
295*22dc650dSSadaf Ebrahimi    1234abcd
296*22dc650dSSadaf Ebrahimi\= Expect no match
297*22dc650dSSadaf Ebrahimi    1.4
298*22dc650dSSadaf Ebrahimi
299*22dc650dSSadaf Ebrahimi/\d{2,3}?/utf
300*22dc650dSSadaf Ebrahimi    12abcd34
301*22dc650dSSadaf Ebrahimi    1234abcd
302*22dc650dSSadaf Ebrahimi\= Expect no match
303*22dc650dSSadaf Ebrahimi    1.4
304*22dc650dSSadaf Ebrahimi
305*22dc650dSSadaf Ebrahimi/\S+/utf
306*22dc650dSSadaf Ebrahimi    12abcd34
307*22dc650dSSadaf Ebrahimi\= Expect no match
308*22dc650dSSadaf Ebrahimi    \    \
309*22dc650dSSadaf Ebrahimi
310*22dc650dSSadaf Ebrahimi/\S{2,3}/utf
311*22dc650dSSadaf Ebrahimi    12abcd34
312*22dc650dSSadaf Ebrahimi    1234abcd
313*22dc650dSSadaf Ebrahimi\= Expect no match
314*22dc650dSSadaf Ebrahimi    \     \
315*22dc650dSSadaf Ebrahimi
316*22dc650dSSadaf Ebrahimi/\S{2,3}?/utf
317*22dc650dSSadaf Ebrahimi    12abcd34
318*22dc650dSSadaf Ebrahimi    1234abcd
319*22dc650dSSadaf Ebrahimi\= Expect no match
320*22dc650dSSadaf Ebrahimi    \     \
321*22dc650dSSadaf Ebrahimi
322*22dc650dSSadaf Ebrahimi/>\s+</utf
323*22dc650dSSadaf Ebrahimi    12>      <34
324*22dc650dSSadaf Ebrahimi
325*22dc650dSSadaf Ebrahimi/>\s{2,3}</utf
326*22dc650dSSadaf Ebrahimi    ab>  <cd
327*22dc650dSSadaf Ebrahimi    ab>   <ce
328*22dc650dSSadaf Ebrahimi\= Expect no match
329*22dc650dSSadaf Ebrahimi    ab>    <cd
330*22dc650dSSadaf Ebrahimi
331*22dc650dSSadaf Ebrahimi/>\s{2,3}?</utf
332*22dc650dSSadaf Ebrahimi    ab>  <cd
333*22dc650dSSadaf Ebrahimi    ab>   <ce
334*22dc650dSSadaf Ebrahimi\= Expect no match
335*22dc650dSSadaf Ebrahimi    ab>    <cd
336*22dc650dSSadaf Ebrahimi
337*22dc650dSSadaf Ebrahimi/\w+/utf
338*22dc650dSSadaf Ebrahimi    12      34
339*22dc650dSSadaf Ebrahimi\= Expect no match
340*22dc650dSSadaf Ebrahimi    +++=*!
341*22dc650dSSadaf Ebrahimi
342*22dc650dSSadaf Ebrahimi/\w{2,3}/utf
343*22dc650dSSadaf Ebrahimi    ab  cd
344*22dc650dSSadaf Ebrahimi    abcd ce
345*22dc650dSSadaf Ebrahimi\= Expect no match
346*22dc650dSSadaf Ebrahimi    a.b.c
347*22dc650dSSadaf Ebrahimi
348*22dc650dSSadaf Ebrahimi/\w{2,3}?/utf
349*22dc650dSSadaf Ebrahimi    ab  cd
350*22dc650dSSadaf Ebrahimi    abcd ce
351*22dc650dSSadaf Ebrahimi\= Expect no match
352*22dc650dSSadaf Ebrahimi    a.b.c
353*22dc650dSSadaf Ebrahimi
354*22dc650dSSadaf Ebrahimi/\W+/utf
355*22dc650dSSadaf Ebrahimi    12====34
356*22dc650dSSadaf Ebrahimi\= Expect no match
357*22dc650dSSadaf Ebrahimi    abcd
358*22dc650dSSadaf Ebrahimi
359*22dc650dSSadaf Ebrahimi/\W{2,3}/utf
360*22dc650dSSadaf Ebrahimi    ab====cd
361*22dc650dSSadaf Ebrahimi    ab==cd
362*22dc650dSSadaf Ebrahimi\= Expect no match
363*22dc650dSSadaf Ebrahimi    a.b.c
364*22dc650dSSadaf Ebrahimi
365*22dc650dSSadaf Ebrahimi/\W{2,3}?/utf
366*22dc650dSSadaf Ebrahimi    ab====cd
367*22dc650dSSadaf Ebrahimi    ab==cd
368*22dc650dSSadaf Ebrahimi\= Expect no match
369*22dc650dSSadaf Ebrahimi    a.b.c
370*22dc650dSSadaf Ebrahimi
371*22dc650dSSadaf Ebrahimi/[\x{100}]/utf
372*22dc650dSSadaf Ebrahimi    \x{100}
373*22dc650dSSadaf Ebrahimi    Z\x{100}
374*22dc650dSSadaf Ebrahimi    \x{100}Z
375*22dc650dSSadaf Ebrahimi
376*22dc650dSSadaf Ebrahimi/[Z\x{100}]/utf
377*22dc650dSSadaf Ebrahimi    Z\x{100}
378*22dc650dSSadaf Ebrahimi    \x{100}
379*22dc650dSSadaf Ebrahimi    \x{100}Z
380*22dc650dSSadaf Ebrahimi
381*22dc650dSSadaf Ebrahimi/[\x{100}\x{200}]/utf
382*22dc650dSSadaf Ebrahimi   ab\x{100}cd
383*22dc650dSSadaf Ebrahimi   ab\x{200}cd
384*22dc650dSSadaf Ebrahimi
385*22dc650dSSadaf Ebrahimi/[\x{100}-\x{200}]/utf
386*22dc650dSSadaf Ebrahimi   ab\x{100}cd
387*22dc650dSSadaf Ebrahimi   ab\x{200}cd
388*22dc650dSSadaf Ebrahimi   ab\x{111}cd
389*22dc650dSSadaf Ebrahimi
390*22dc650dSSadaf Ebrahimi/[z-\x{200}]/utf
391*22dc650dSSadaf Ebrahimi   ab\x{100}cd
392*22dc650dSSadaf Ebrahimi   ab\x{200}cd
393*22dc650dSSadaf Ebrahimi   ab\x{111}cd
394*22dc650dSSadaf Ebrahimi   abzcd
395*22dc650dSSadaf Ebrahimi   ab|cd
396*22dc650dSSadaf Ebrahimi
397*22dc650dSSadaf Ebrahimi/[Q\x{100}\x{200}]/utf
398*22dc650dSSadaf Ebrahimi   ab\x{100}cd
399*22dc650dSSadaf Ebrahimi   ab\x{200}cd
400*22dc650dSSadaf Ebrahimi   Q?
401*22dc650dSSadaf Ebrahimi
402*22dc650dSSadaf Ebrahimi/[Q\x{100}-\x{200}]/utf
403*22dc650dSSadaf Ebrahimi   ab\x{100}cd
404*22dc650dSSadaf Ebrahimi   ab\x{200}cd
405*22dc650dSSadaf Ebrahimi   ab\x{111}cd
406*22dc650dSSadaf Ebrahimi   Q?
407*22dc650dSSadaf Ebrahimi
408*22dc650dSSadaf Ebrahimi/[Qz-\x{200}]/utf
409*22dc650dSSadaf Ebrahimi   ab\x{100}cd
410*22dc650dSSadaf Ebrahimi   ab\x{200}cd
411*22dc650dSSadaf Ebrahimi   ab\x{111}cd
412*22dc650dSSadaf Ebrahimi   abzcd
413*22dc650dSSadaf Ebrahimi   ab|cd
414*22dc650dSSadaf Ebrahimi   Q?
415*22dc650dSSadaf Ebrahimi
416*22dc650dSSadaf Ebrahimi/[\x{100}\x{200}]{1,3}/utf
417*22dc650dSSadaf Ebrahimi   ab\x{100}cd
418*22dc650dSSadaf Ebrahimi   ab\x{200}cd
419*22dc650dSSadaf Ebrahimi   ab\x{200}\x{100}\x{200}\x{100}cd
420*22dc650dSSadaf Ebrahimi
421*22dc650dSSadaf Ebrahimi/[\x{100}\x{200}]{1,3}?/utf
422*22dc650dSSadaf Ebrahimi   ab\x{100}cd
423*22dc650dSSadaf Ebrahimi   ab\x{200}cd
424*22dc650dSSadaf Ebrahimi   ab\x{200}\x{100}\x{200}\x{100}cd
425*22dc650dSSadaf Ebrahimi
426*22dc650dSSadaf Ebrahimi/[Q\x{100}\x{200}]{1,3}/utf
427*22dc650dSSadaf Ebrahimi   ab\x{100}cd
428*22dc650dSSadaf Ebrahimi   ab\x{200}cd
429*22dc650dSSadaf Ebrahimi   ab\x{200}\x{100}\x{200}\x{100}cd
430*22dc650dSSadaf Ebrahimi
431*22dc650dSSadaf Ebrahimi/[Q\x{100}\x{200}]{1,3}?/utf
432*22dc650dSSadaf Ebrahimi   ab\x{100}cd
433*22dc650dSSadaf Ebrahimi   ab\x{200}cd
434*22dc650dSSadaf Ebrahimi   ab\x{200}\x{100}\x{200}\x{100}cd
435*22dc650dSSadaf Ebrahimi
436*22dc650dSSadaf Ebrahimi/(?<=[\x{100}\x{200}])X/utf
437*22dc650dSSadaf Ebrahimi    abc\x{200}X
438*22dc650dSSadaf Ebrahimi    abc\x{100}X
439*22dc650dSSadaf Ebrahimi\= Expect no match
440*22dc650dSSadaf Ebrahimi    X
441*22dc650dSSadaf Ebrahimi
442*22dc650dSSadaf Ebrahimi/(?<=[Q\x{100}\x{200}])X/utf
443*22dc650dSSadaf Ebrahimi    abc\x{200}X
444*22dc650dSSadaf Ebrahimi    abc\x{100}X
445*22dc650dSSadaf Ebrahimi    abQX
446*22dc650dSSadaf Ebrahimi\= Expect no match
447*22dc650dSSadaf Ebrahimi    X
448*22dc650dSSadaf Ebrahimi
449*22dc650dSSadaf Ebrahimi/(?<=[\x{100}\x{200}]{3})X/utf
450*22dc650dSSadaf Ebrahimi    abc\x{100}\x{200}\x{100}X
451*22dc650dSSadaf Ebrahimi\= Expect no match
452*22dc650dSSadaf Ebrahimi    abc\x{200}X
453*22dc650dSSadaf Ebrahimi    X
454*22dc650dSSadaf Ebrahimi
455*22dc650dSSadaf Ebrahimi/[^\x{100}\x{200}]X/utf
456*22dc650dSSadaf Ebrahimi    AX
457*22dc650dSSadaf Ebrahimi    \x{150}X
458*22dc650dSSadaf Ebrahimi    \x{500}X
459*22dc650dSSadaf Ebrahimi\= Expect no match
460*22dc650dSSadaf Ebrahimi    \x{100}X
461*22dc650dSSadaf Ebrahimi    \x{200}X
462*22dc650dSSadaf Ebrahimi
463*22dc650dSSadaf Ebrahimi/[^Q\x{100}\x{200}]X/utf
464*22dc650dSSadaf Ebrahimi    AX
465*22dc650dSSadaf Ebrahimi    \x{150}X
466*22dc650dSSadaf Ebrahimi    \x{500}X
467*22dc650dSSadaf Ebrahimi\= Expect no match
468*22dc650dSSadaf Ebrahimi    \x{100}X
469*22dc650dSSadaf Ebrahimi    \x{200}X
470*22dc650dSSadaf Ebrahimi    QX
471*22dc650dSSadaf Ebrahimi
472*22dc650dSSadaf Ebrahimi/[^\x{100}-\x{200}]X/utf
473*22dc650dSSadaf Ebrahimi    AX
474*22dc650dSSadaf Ebrahimi    \x{500}X
475*22dc650dSSadaf Ebrahimi\= Expect no match
476*22dc650dSSadaf Ebrahimi    \x{100}X
477*22dc650dSSadaf Ebrahimi    \x{150}X
478*22dc650dSSadaf Ebrahimi    \x{200}X
479*22dc650dSSadaf Ebrahimi
480*22dc650dSSadaf Ebrahimi/[z-\x{100}]/i,utf
481*22dc650dSSadaf Ebrahimi    z
482*22dc650dSSadaf Ebrahimi    Z
483*22dc650dSSadaf Ebrahimi    \x{100}
484*22dc650dSSadaf Ebrahimi\= Expect no match
485*22dc650dSSadaf Ebrahimi    \x{102}
486*22dc650dSSadaf Ebrahimi    y
487*22dc650dSSadaf Ebrahimi
488*22dc650dSSadaf Ebrahimi/[\xFF]/
489*22dc650dSSadaf Ebrahimi    >\xff<
490*22dc650dSSadaf Ebrahimi
491*22dc650dSSadaf Ebrahimi/[\xff]/utf
492*22dc650dSSadaf Ebrahimi    >\x{ff}<
493*22dc650dSSadaf Ebrahimi
494*22dc650dSSadaf Ebrahimi/[^\xFF]/
495*22dc650dSSadaf Ebrahimi    XYZ
496*22dc650dSSadaf Ebrahimi
497*22dc650dSSadaf Ebrahimi/[^\xff]/utf
498*22dc650dSSadaf Ebrahimi    XYZ
499*22dc650dSSadaf Ebrahimi    \x{123}
500*22dc650dSSadaf Ebrahimi
501*22dc650dSSadaf Ebrahimi/^[ac]*b/utf
502*22dc650dSSadaf Ebrahimi\= Expect no match
503*22dc650dSSadaf Ebrahimi    xb
504*22dc650dSSadaf Ebrahimi
505*22dc650dSSadaf Ebrahimi/^[ac\x{100}]*b/utf
506*22dc650dSSadaf Ebrahimi\= Expect no match
507*22dc650dSSadaf Ebrahimi    xb
508*22dc650dSSadaf Ebrahimi
509*22dc650dSSadaf Ebrahimi/^[^x]*b/i,utf
510*22dc650dSSadaf Ebrahimi\= Expect no match
511*22dc650dSSadaf Ebrahimi    xb
512*22dc650dSSadaf Ebrahimi
513*22dc650dSSadaf Ebrahimi/^[^x]*b/utf
514*22dc650dSSadaf Ebrahimi\= Expect no match
515*22dc650dSSadaf Ebrahimi    xb
516*22dc650dSSadaf Ebrahimi
517*22dc650dSSadaf Ebrahimi/^\d*b/utf
518*22dc650dSSadaf Ebrahimi\= Expect no match
519*22dc650dSSadaf Ebrahimi    xb
520*22dc650dSSadaf Ebrahimi
521*22dc650dSSadaf Ebrahimi/(|a)/g,utf
522*22dc650dSSadaf Ebrahimi    catac
523*22dc650dSSadaf Ebrahimi    a\x{256}a
524*22dc650dSSadaf Ebrahimi
525*22dc650dSSadaf Ebrahimi/^\x{85}$/i,utf
526*22dc650dSSadaf Ebrahimi    \x{85}
527*22dc650dSSadaf Ebrahimi
528*22dc650dSSadaf Ebrahimi/^abc./gmx,newline=any,utf
529*22dc650dSSadaf Ebrahimi    abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
530*22dc650dSSadaf Ebrahimi
531*22dc650dSSadaf Ebrahimi/abc.$/gmx,newline=any,utf
532*22dc650dSSadaf Ebrahimi    abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
533*22dc650dSSadaf Ebrahimi
534*22dc650dSSadaf Ebrahimi/^a\Rb/bsr=unicode,utf
535*22dc650dSSadaf Ebrahimi    a\nb
536*22dc650dSSadaf Ebrahimi    a\rb
537*22dc650dSSadaf Ebrahimi    a\r\nb
538*22dc650dSSadaf Ebrahimi    a\x0bb
539*22dc650dSSadaf Ebrahimi    a\x0cb
540*22dc650dSSadaf Ebrahimi    a\x{85}b
541*22dc650dSSadaf Ebrahimi    a\x{2028}b
542*22dc650dSSadaf Ebrahimi    a\x{2029}b
543*22dc650dSSadaf Ebrahimi\= Expect no match
544*22dc650dSSadaf Ebrahimi    a\n\rb
545*22dc650dSSadaf Ebrahimi
546*22dc650dSSadaf Ebrahimi/^a\R*b/bsr=unicode,utf
547*22dc650dSSadaf Ebrahimi    ab
548*22dc650dSSadaf Ebrahimi    a\nb
549*22dc650dSSadaf Ebrahimi    a\rb
550*22dc650dSSadaf Ebrahimi    a\r\nb
551*22dc650dSSadaf Ebrahimi    a\x0bb
552*22dc650dSSadaf Ebrahimi    a\x0c\x{2028}\x{2029}b
553*22dc650dSSadaf Ebrahimi    a\x{85}b
554*22dc650dSSadaf Ebrahimi    a\n\rb
555*22dc650dSSadaf Ebrahimi    a\n\r\x{85}\x0cb
556*22dc650dSSadaf Ebrahimi
557*22dc650dSSadaf Ebrahimi/^a\R+b/bsr=unicode,utf
558*22dc650dSSadaf Ebrahimi    a\nb
559*22dc650dSSadaf Ebrahimi    a\rb
560*22dc650dSSadaf Ebrahimi    a\r\nb
561*22dc650dSSadaf Ebrahimi    a\x0bb
562*22dc650dSSadaf Ebrahimi    a\x0c\x{2028}\x{2029}b
563*22dc650dSSadaf Ebrahimi    a\x{85}b
564*22dc650dSSadaf Ebrahimi    a\n\rb
565*22dc650dSSadaf Ebrahimi    a\n\r\x{85}\x0cb
566*22dc650dSSadaf Ebrahimi\= Expect no match
567*22dc650dSSadaf Ebrahimi    ab
568*22dc650dSSadaf Ebrahimi
569*22dc650dSSadaf Ebrahimi/^a\R{1,3}b/bsr=unicode,utf
570*22dc650dSSadaf Ebrahimi    a\nb
571*22dc650dSSadaf Ebrahimi    a\n\rb
572*22dc650dSSadaf Ebrahimi    a\n\r\x{85}b
573*22dc650dSSadaf Ebrahimi    a\r\n\r\nb
574*22dc650dSSadaf Ebrahimi    a\r\n\r\n\r\nb
575*22dc650dSSadaf Ebrahimi    a\n\r\n\rb
576*22dc650dSSadaf Ebrahimi    a\n\n\r\nb
577*22dc650dSSadaf Ebrahimi\= Expect no match
578*22dc650dSSadaf Ebrahimi    a\n\n\n\rb
579*22dc650dSSadaf Ebrahimi    a\r
580*22dc650dSSadaf Ebrahimi
581*22dc650dSSadaf Ebrahimi/\h+\V?\v{3,4}/utf,no_auto_possess
582*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
583*22dc650dSSadaf Ebrahimi
584*22dc650dSSadaf Ebrahimi/\V?\v{3,4}/utf,no_auto_possess
585*22dc650dSSadaf Ebrahimi    \x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
586*22dc650dSSadaf Ebrahimi
587*22dc650dSSadaf Ebrahimi/\h+\V?\v{3,4}/utf,no_auto_possess
588*22dc650dSSadaf Ebrahimi    >\x09\x20\x{a0}X\x0a\x0a\x0a<
589*22dc650dSSadaf Ebrahimi
590*22dc650dSSadaf Ebrahimi/\V?\v{3,4}/utf,no_auto_possess
591*22dc650dSSadaf Ebrahimi    >\x09\x20\x{a0}X\x0a\x0a\x0a<
592*22dc650dSSadaf Ebrahimi
593*22dc650dSSadaf Ebrahimi/\H\h\V\v/utf
594*22dc650dSSadaf Ebrahimi    X X\x0a
595*22dc650dSSadaf Ebrahimi    X\x09X\x0b
596*22dc650dSSadaf Ebrahimi\= Expect no match
597*22dc650dSSadaf Ebrahimi    \x{a0} X\x0a
598*22dc650dSSadaf Ebrahimi
599*22dc650dSSadaf Ebrahimi/\H*\h+\V?\v{3,4}/utf,no_auto_possess
600*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
601*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
602*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}\x0a\x0b\x0c
603*22dc650dSSadaf Ebrahimi\= Expect no match
604*22dc650dSSadaf Ebrahimi    \x09\x20\x{a0}\x0a\x0b
605*22dc650dSSadaf Ebrahimi
606*22dc650dSSadaf Ebrahimi/\H\h\V\v/utf
607*22dc650dSSadaf Ebrahimi    \x{3001}\x{3000}\x{2030}\x{2028}
608*22dc650dSSadaf Ebrahimi    X\x{180e}X\x{85}
609*22dc650dSSadaf Ebrahimi\= Expect no match
610*22dc650dSSadaf Ebrahimi    \x{2009} X\x0a
611*22dc650dSSadaf Ebrahimi
612*22dc650dSSadaf Ebrahimi/\H*\h+\V?\v{3,4}/utf,no_auto_possess
613*22dc650dSSadaf Ebrahimi    \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
614*22dc650dSSadaf Ebrahimi    \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
615*22dc650dSSadaf Ebrahimi    \x09\x20\x{202f}\x0a\x0b\x0c
616*22dc650dSSadaf Ebrahimi\= Expect no match
617*22dc650dSSadaf Ebrahimi    \x09\x{200a}\x{a0}\x{2028}\x0b
618*22dc650dSSadaf Ebrahimi
619*22dc650dSSadaf Ebrahimi/a\Rb/I,bsr=anycrlf,utf
620*22dc650dSSadaf Ebrahimi    a\rb
621*22dc650dSSadaf Ebrahimi    a\nb
622*22dc650dSSadaf Ebrahimi    a\r\nb
623*22dc650dSSadaf Ebrahimi\= Expect no match
624*22dc650dSSadaf Ebrahimi    a\x{85}b
625*22dc650dSSadaf Ebrahimi    a\x0bb
626*22dc650dSSadaf Ebrahimi
627*22dc650dSSadaf Ebrahimi/a\Rb/I,bsr=unicode,utf
628*22dc650dSSadaf Ebrahimi    a\rb
629*22dc650dSSadaf Ebrahimi    a\nb
630*22dc650dSSadaf Ebrahimi    a\r\nb
631*22dc650dSSadaf Ebrahimi    a\x{85}b
632*22dc650dSSadaf Ebrahimi    a\x0bb
633*22dc650dSSadaf Ebrahimi
634*22dc650dSSadaf Ebrahimi/a\R?b/I,bsr=anycrlf,utf
635*22dc650dSSadaf Ebrahimi    a\rb
636*22dc650dSSadaf Ebrahimi    a\nb
637*22dc650dSSadaf Ebrahimi    a\r\nb
638*22dc650dSSadaf Ebrahimi\= Expect no match
639*22dc650dSSadaf Ebrahimi    a\x{85}b
640*22dc650dSSadaf Ebrahimi    a\x0bb
641*22dc650dSSadaf Ebrahimi
642*22dc650dSSadaf Ebrahimi/a\R?b/I,bsr=unicode,utf
643*22dc650dSSadaf Ebrahimi    a\rb
644*22dc650dSSadaf Ebrahimi    a\nb
645*22dc650dSSadaf Ebrahimi    a\r\nb
646*22dc650dSSadaf Ebrahimi    a\x{85}b
647*22dc650dSSadaf Ebrahimi    a\x0bb
648*22dc650dSSadaf Ebrahimi
649*22dc650dSSadaf Ebrahimi/X/newline=any,utf,firstline
650*22dc650dSSadaf Ebrahimi    A\x{1ec5}ABCXYZ
651*22dc650dSSadaf Ebrahimi
652*22dc650dSSadaf Ebrahimi/abcd*/utf
653*22dc650dSSadaf Ebrahimi    xxxxabcd\=ps
654*22dc650dSSadaf Ebrahimi    xxxxabcd\=ph
655*22dc650dSSadaf Ebrahimi
656*22dc650dSSadaf Ebrahimi/abcd*/i,utf
657*22dc650dSSadaf Ebrahimi    xxxxabcd\=ps
658*22dc650dSSadaf Ebrahimi    xxxxabcd\=ph
659*22dc650dSSadaf Ebrahimi    XXXXABCD\=ps
660*22dc650dSSadaf Ebrahimi    XXXXABCD\=ph
661*22dc650dSSadaf Ebrahimi
662*22dc650dSSadaf Ebrahimi/abc\d*/utf
663*22dc650dSSadaf Ebrahimi    xxxxabc1\=ps
664*22dc650dSSadaf Ebrahimi    xxxxabc1\=ph
665*22dc650dSSadaf Ebrahimi
666*22dc650dSSadaf Ebrahimi/abc[de]*/utf
667*22dc650dSSadaf Ebrahimi    xxxxabcde\=ps
668*22dc650dSSadaf Ebrahimi    xxxxabcde\=ph
669*22dc650dSSadaf Ebrahimi
670*22dc650dSSadaf Ebrahimi/\bthe cat\b/utf
671*22dc650dSSadaf Ebrahimi    the cat\=ps
672*22dc650dSSadaf Ebrahimi    the cat\=ph
673*22dc650dSSadaf Ebrahimi
674*22dc650dSSadaf Ebrahimi/./newline=crlf,utf
675*22dc650dSSadaf Ebrahimi    \r\=ps
676*22dc650dSSadaf Ebrahimi    \r\=ph
677*22dc650dSSadaf Ebrahimi
678*22dc650dSSadaf Ebrahimi/.{2,3}/newline=crlf,utf
679*22dc650dSSadaf Ebrahimi    \r\=ps
680*22dc650dSSadaf Ebrahimi    \r\=ph
681*22dc650dSSadaf Ebrahimi    \r\r\=ps
682*22dc650dSSadaf Ebrahimi    \r\r\=ph
683*22dc650dSSadaf Ebrahimi    \r\r\r\=ps
684*22dc650dSSadaf Ebrahimi    \r\r\r\=ph
685*22dc650dSSadaf Ebrahimi
686*22dc650dSSadaf Ebrahimi/.{2,3}?/newline=crlf,utf
687*22dc650dSSadaf Ebrahimi    \r\=ps
688*22dc650dSSadaf Ebrahimi    \r\=ph
689*22dc650dSSadaf Ebrahimi    \r\r\=ps
690*22dc650dSSadaf Ebrahimi    \r\r\=ph
691*22dc650dSSadaf Ebrahimi    \r\r\r\=ps
692*22dc650dSSadaf Ebrahimi    \r\r\r\=ph
693*22dc650dSSadaf Ebrahimi
694*22dc650dSSadaf Ebrahimi/[^\x{100}]/utf
695*22dc650dSSadaf Ebrahimi    \x{100}\x{101}X
696*22dc650dSSadaf Ebrahimi
697*22dc650dSSadaf Ebrahimi/[^\x{100}]+/utf
698*22dc650dSSadaf Ebrahimi    \x{100}\x{101}X
699*22dc650dSSadaf Ebrahimi
700*22dc650dSSadaf Ebrahimi/\pL\P{Nd}/utf
701*22dc650dSSadaf Ebrahimi    AB
702*22dc650dSSadaf Ebrahimi\= Expect no match
703*22dc650dSSadaf Ebrahimi    A0
704*22dc650dSSadaf Ebrahimi    00
705*22dc650dSSadaf Ebrahimi
706*22dc650dSSadaf Ebrahimi/\X./utf
707*22dc650dSSadaf Ebrahimi    AB
708*22dc650dSSadaf Ebrahimi    A\x{300}BC
709*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BC
710*22dc650dSSadaf Ebrahimi\= Expect no match
711*22dc650dSSadaf Ebrahimi    \x{300}
712*22dc650dSSadaf Ebrahimi
713*22dc650dSSadaf Ebrahimi/\X\X/utf
714*22dc650dSSadaf Ebrahimi    ABC
715*22dc650dSSadaf Ebrahimi    A\x{300}B\x{300}\x{301}C
716*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BC
717*22dc650dSSadaf Ebrahimi\= Expect no match
718*22dc650dSSadaf Ebrahimi    \x{300}
719*22dc650dSSadaf Ebrahimi
720*22dc650dSSadaf Ebrahimi/^\pL+/utf
721*22dc650dSSadaf Ebrahimi    abcd
722*22dc650dSSadaf Ebrahimi    a
723*22dc650dSSadaf Ebrahimi
724*22dc650dSSadaf Ebrahimi/^\PL+/utf
725*22dc650dSSadaf Ebrahimi    1234
726*22dc650dSSadaf Ebrahimi    =
727*22dc650dSSadaf Ebrahimi\= Expect no match
728*22dc650dSSadaf Ebrahimi    abcd
729*22dc650dSSadaf Ebrahimi
730*22dc650dSSadaf Ebrahimi/^\X+/utf
731*22dc650dSSadaf Ebrahimi    abcdA\x{300}\x{301}\x{302}
732*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}
733*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}
734*22dc650dSSadaf Ebrahimi    a
735*22dc650dSSadaf Ebrahimi    \x{300}\x{301}\x{302}
736*22dc650dSSadaf Ebrahimi
737*22dc650dSSadaf Ebrahimi/\X?abc/utf
738*22dc650dSSadaf Ebrahimi    abc
739*22dc650dSSadaf Ebrahimi    A\x{300}abc
740*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
741*22dc650dSSadaf Ebrahimi    \x{300}abc
742*22dc650dSSadaf Ebrahimi
743*22dc650dSSadaf Ebrahimi/^\X?abc/utf
744*22dc650dSSadaf Ebrahimi    abc
745*22dc650dSSadaf Ebrahimi    A\x{300}abc
746*22dc650dSSadaf Ebrahimi    \x{300}abc
747*22dc650dSSadaf Ebrahimi\= Expect no match
748*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
749*22dc650dSSadaf Ebrahimi
750*22dc650dSSadaf Ebrahimi/\X*abc/utf
751*22dc650dSSadaf Ebrahimi    abc
752*22dc650dSSadaf Ebrahimi    A\x{300}abc
753*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
754*22dc650dSSadaf Ebrahimi    \x{300}abc
755*22dc650dSSadaf Ebrahimi
756*22dc650dSSadaf Ebrahimi/^\X*abc/utf
757*22dc650dSSadaf Ebrahimi    abc
758*22dc650dSSadaf Ebrahimi    A\x{300}abc
759*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
760*22dc650dSSadaf Ebrahimi    \x{300}abc
761*22dc650dSSadaf Ebrahimi
762*22dc650dSSadaf Ebrahimi/^\pL?=./utf
763*22dc650dSSadaf Ebrahimi    A=b
764*22dc650dSSadaf Ebrahimi    =c
765*22dc650dSSadaf Ebrahimi\= Expect no match
766*22dc650dSSadaf Ebrahimi    1=2
767*22dc650dSSadaf Ebrahimi    AAAA=b
768*22dc650dSSadaf Ebrahimi
769*22dc650dSSadaf Ebrahimi/^\pL*=./utf
770*22dc650dSSadaf Ebrahimi    AAAA=b
771*22dc650dSSadaf Ebrahimi    =c
772*22dc650dSSadaf Ebrahimi\= Expect no match
773*22dc650dSSadaf Ebrahimi    1=2
774*22dc650dSSadaf Ebrahimi
775*22dc650dSSadaf Ebrahimi/^\X{2,3}X/utf
776*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
777*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
778*22dc650dSSadaf Ebrahimi\= Expect no match
779*22dc650dSSadaf Ebrahimi    X
780*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}X
781*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
782*22dc650dSSadaf Ebrahimi
783*22dc650dSSadaf Ebrahimi/^\pC\pL\pM\pN\pP\pS\pZ</utf
784*22dc650dSSadaf Ebrahimi    \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
785*22dc650dSSadaf Ebrahimi    \np\x{300}9!\$ <
786*22dc650dSSadaf Ebrahimi\= Expect no match
787*22dc650dSSadaf Ebrahimi    ap\x{300}9!\$ <
788*22dc650dSSadaf Ebrahimi
789*22dc650dSSadaf Ebrahimi/^\PC/utf
790*22dc650dSSadaf Ebrahimi    X
791*22dc650dSSadaf Ebrahimi\= Expect no match
792*22dc650dSSadaf Ebrahimi    \x7f
793*22dc650dSSadaf Ebrahimi
794*22dc650dSSadaf Ebrahimi/^\PL/utf
795*22dc650dSSadaf Ebrahimi    9
796*22dc650dSSadaf Ebrahimi\= Expect no match
797*22dc650dSSadaf Ebrahimi    \x{c0}
798*22dc650dSSadaf Ebrahimi
799*22dc650dSSadaf Ebrahimi/^\PM/utf
800*22dc650dSSadaf Ebrahimi    X
801*22dc650dSSadaf Ebrahimi\= Expect no match
802*22dc650dSSadaf Ebrahimi    \x{30f}
803*22dc650dSSadaf Ebrahimi
804*22dc650dSSadaf Ebrahimi/^\PN/utf
805*22dc650dSSadaf Ebrahimi    X
806*22dc650dSSadaf Ebrahimi\= Expect no match
807*22dc650dSSadaf Ebrahimi    \x{660}
808*22dc650dSSadaf Ebrahimi
809*22dc650dSSadaf Ebrahimi/^\PP/utf
810*22dc650dSSadaf Ebrahimi    X
811*22dc650dSSadaf Ebrahimi\= Expect no match
812*22dc650dSSadaf Ebrahimi    \x{66c}
813*22dc650dSSadaf Ebrahimi
814*22dc650dSSadaf Ebrahimi/^\PS/utf
815*22dc650dSSadaf Ebrahimi    X
816*22dc650dSSadaf Ebrahimi\= Expect no match
817*22dc650dSSadaf Ebrahimi    \x{f01}
818*22dc650dSSadaf Ebrahimi
819*22dc650dSSadaf Ebrahimi/^\PZ/utf
820*22dc650dSSadaf Ebrahimi    X
821*22dc650dSSadaf Ebrahimi\= Expect no match
822*22dc650dSSadaf Ebrahimi    \x{1680}
823*22dc650dSSadaf Ebrahimi
824*22dc650dSSadaf Ebrahimi/^\p{Cc}/utf
825*22dc650dSSadaf Ebrahimi    \x{017}
826*22dc650dSSadaf Ebrahimi    \x{09f}
827*22dc650dSSadaf Ebrahimi\= Expect no match
828*22dc650dSSadaf Ebrahimi    \x{0600}
829*22dc650dSSadaf Ebrahimi
830*22dc650dSSadaf Ebrahimi/^\p{Cf}/utf
831*22dc650dSSadaf Ebrahimi    \x{601}
832*22dc650dSSadaf Ebrahimi    \x{180e}
833*22dc650dSSadaf Ebrahimi    \x{061c}
834*22dc650dSSadaf Ebrahimi    \x{2066}
835*22dc650dSSadaf Ebrahimi    \x{2067}
836*22dc650dSSadaf Ebrahimi    \x{2068}
837*22dc650dSSadaf Ebrahimi    \x{2069}
838*22dc650dSSadaf Ebrahimi\= Expect no match
839*22dc650dSSadaf Ebrahimi    \x{09f}
840*22dc650dSSadaf Ebrahimi
841*22dc650dSSadaf Ebrahimi/^\p{Cn}/utf
842*22dc650dSSadaf Ebrahimi\= Expect no match
843*22dc650dSSadaf Ebrahimi    \x{09f}
844*22dc650dSSadaf Ebrahimi
845*22dc650dSSadaf Ebrahimi/^\p{Co}/utf
846*22dc650dSSadaf Ebrahimi    \x{f8ff}
847*22dc650dSSadaf Ebrahimi\= Expect no match
848*22dc650dSSadaf Ebrahimi    \x{09f}
849*22dc650dSSadaf Ebrahimi
850*22dc650dSSadaf Ebrahimi/^\p{Cs}/utf
851*22dc650dSSadaf Ebrahimi    \x{dfff}\=no_utf_check
852*22dc650dSSadaf Ebrahimi\= Expect no match
853*22dc650dSSadaf Ebrahimi    \x{09f}
854*22dc650dSSadaf Ebrahimi
855*22dc650dSSadaf Ebrahimi/^\p{Ll}/utf
856*22dc650dSSadaf Ebrahimi    a
857*22dc650dSSadaf Ebrahimi\= Expect no match
858*22dc650dSSadaf Ebrahimi    Z
859*22dc650dSSadaf Ebrahimi    \x{e000}
860*22dc650dSSadaf Ebrahimi
861*22dc650dSSadaf Ebrahimi/^\p{Lm}/utf
862*22dc650dSSadaf Ebrahimi    \x{2b0}
863*22dc650dSSadaf Ebrahimi\= Expect no match
864*22dc650dSSadaf Ebrahimi    a
865*22dc650dSSadaf Ebrahimi
866*22dc650dSSadaf Ebrahimi/^\p{Lo}/utf
867*22dc650dSSadaf Ebrahimi    \x{1bb}
868*22dc650dSSadaf Ebrahimi\= Expect no match
869*22dc650dSSadaf Ebrahimi    a
870*22dc650dSSadaf Ebrahimi    \x{2b0}
871*22dc650dSSadaf Ebrahimi
872*22dc650dSSadaf Ebrahimi/^\p{Lt}/utf
873*22dc650dSSadaf Ebrahimi    \x{1c5}
874*22dc650dSSadaf Ebrahimi\= Expect no match
875*22dc650dSSadaf Ebrahimi    a
876*22dc650dSSadaf Ebrahimi    \x{2b0}
877*22dc650dSSadaf Ebrahimi
878*22dc650dSSadaf Ebrahimi/^\p{Lu}/utf
879*22dc650dSSadaf Ebrahimi    A
880*22dc650dSSadaf Ebrahimi\= Expect no match
881*22dc650dSSadaf Ebrahimi    \x{2b0}
882*22dc650dSSadaf Ebrahimi
883*22dc650dSSadaf Ebrahimi/^\p{Mc}/utf
884*22dc650dSSadaf Ebrahimi    \x{903}
885*22dc650dSSadaf Ebrahimi\= Expect no match
886*22dc650dSSadaf Ebrahimi    X
887*22dc650dSSadaf Ebrahimi    \x{300}
888*22dc650dSSadaf Ebrahimi
889*22dc650dSSadaf Ebrahimi/^\p{Me}/utf
890*22dc650dSSadaf Ebrahimi    \x{488}
891*22dc650dSSadaf Ebrahimi\= Expect no match
892*22dc650dSSadaf Ebrahimi    X
893*22dc650dSSadaf Ebrahimi    \x{903}
894*22dc650dSSadaf Ebrahimi    \x{300}
895*22dc650dSSadaf Ebrahimi
896*22dc650dSSadaf Ebrahimi/^\p{Mn}/utf
897*22dc650dSSadaf Ebrahimi    \x{300}
898*22dc650dSSadaf Ebrahimi    \x{1a1b}
899*22dc650dSSadaf Ebrahimi\= Expect no match
900*22dc650dSSadaf Ebrahimi    X
901*22dc650dSSadaf Ebrahimi    \x{903}
902*22dc650dSSadaf Ebrahimi
903*22dc650dSSadaf Ebrahimi/^\p{Nd}+/utf,no_auto_possess
904*22dc650dSSadaf Ebrahimi    0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
905*22dc650dSSadaf Ebrahimi    \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
906*22dc650dSSadaf Ebrahimi    \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
907*22dc650dSSadaf Ebrahimi\= Expect no match
908*22dc650dSSadaf Ebrahimi    X
909*22dc650dSSadaf Ebrahimi
910*22dc650dSSadaf Ebrahimi/^\p{Nl}/utf
911*22dc650dSSadaf Ebrahimi    \x{16ee}
912*22dc650dSSadaf Ebrahimi\= Expect no match
913*22dc650dSSadaf Ebrahimi    X
914*22dc650dSSadaf Ebrahimi    \x{966}
915*22dc650dSSadaf Ebrahimi
916*22dc650dSSadaf Ebrahimi/^\p{No}/utf
917*22dc650dSSadaf Ebrahimi    \x{b2}
918*22dc650dSSadaf Ebrahimi    \x{b3}
919*22dc650dSSadaf Ebrahimi\= Expect no match
920*22dc650dSSadaf Ebrahimi    X
921*22dc650dSSadaf Ebrahimi    \x{16ee}
922*22dc650dSSadaf Ebrahimi
923*22dc650dSSadaf Ebrahimi/^\p{Pc}/utf
924*22dc650dSSadaf Ebrahimi    \x5f
925*22dc650dSSadaf Ebrahimi    \x{203f}
926*22dc650dSSadaf Ebrahimi\= Expect no match
927*22dc650dSSadaf Ebrahimi    X
928*22dc650dSSadaf Ebrahimi    -
929*22dc650dSSadaf Ebrahimi    \x{58a}
930*22dc650dSSadaf Ebrahimi
931*22dc650dSSadaf Ebrahimi/^\p{Pd}/utf
932*22dc650dSSadaf Ebrahimi    -
933*22dc650dSSadaf Ebrahimi    \x{58a}
934*22dc650dSSadaf Ebrahimi\= Expect no match
935*22dc650dSSadaf Ebrahimi    X
936*22dc650dSSadaf Ebrahimi    \x{203f}
937*22dc650dSSadaf Ebrahimi
938*22dc650dSSadaf Ebrahimi/^\p{Pe}/utf
939*22dc650dSSadaf Ebrahimi    )
940*22dc650dSSadaf Ebrahimi    ]
941*22dc650dSSadaf Ebrahimi    }
942*22dc650dSSadaf Ebrahimi    \x{f3b}
943*22dc650dSSadaf Ebrahimi    \x{2309}
944*22dc650dSSadaf Ebrahimi    \x{230b}
945*22dc650dSSadaf Ebrahimi\= Expect no match
946*22dc650dSSadaf Ebrahimi    X
947*22dc650dSSadaf Ebrahimi    \x{203f}
948*22dc650dSSadaf Ebrahimi    (
949*22dc650dSSadaf Ebrahimi    [
950*22dc650dSSadaf Ebrahimi    {
951*22dc650dSSadaf Ebrahimi    \x{f3c}
952*22dc650dSSadaf Ebrahimi
953*22dc650dSSadaf Ebrahimi/^\p{Pf}/utf
954*22dc650dSSadaf Ebrahimi    \x{bb}
955*22dc650dSSadaf Ebrahimi    \x{2019}
956*22dc650dSSadaf Ebrahimi\= Expect no match
957*22dc650dSSadaf Ebrahimi    X
958*22dc650dSSadaf Ebrahimi    \x{203f}
959*22dc650dSSadaf Ebrahimi
960*22dc650dSSadaf Ebrahimi/^\p{Pi}/utf
961*22dc650dSSadaf Ebrahimi    \x{ab}
962*22dc650dSSadaf Ebrahimi    \x{2018}
963*22dc650dSSadaf Ebrahimi\= Expect no match
964*22dc650dSSadaf Ebrahimi    X
965*22dc650dSSadaf Ebrahimi    \x{203f}
966*22dc650dSSadaf Ebrahimi
967*22dc650dSSadaf Ebrahimi/^\p{Po}/utf
968*22dc650dSSadaf Ebrahimi    !
969*22dc650dSSadaf Ebrahimi    \x{37e}
970*22dc650dSSadaf Ebrahimi\= Expect no match
971*22dc650dSSadaf Ebrahimi    X
972*22dc650dSSadaf Ebrahimi    \x{203f}
973*22dc650dSSadaf Ebrahimi
974*22dc650dSSadaf Ebrahimi/^\p{Ps}/utf
975*22dc650dSSadaf Ebrahimi    (
976*22dc650dSSadaf Ebrahimi    [
977*22dc650dSSadaf Ebrahimi    {
978*22dc650dSSadaf Ebrahimi    \x{f3c}
979*22dc650dSSadaf Ebrahimi    \x{2308}
980*22dc650dSSadaf Ebrahimi    \x{230a}
981*22dc650dSSadaf Ebrahimi\= Expect no match
982*22dc650dSSadaf Ebrahimi    X
983*22dc650dSSadaf Ebrahimi    )
984*22dc650dSSadaf Ebrahimi    ]
985*22dc650dSSadaf Ebrahimi    }
986*22dc650dSSadaf Ebrahimi    \x{f3b}
987*22dc650dSSadaf Ebrahimi
988*22dc650dSSadaf Ebrahimi/^\p{Sc}+/utf
989*22dc650dSSadaf Ebrahimi    $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
990*22dc650dSSadaf Ebrahimi    \x{9f2}
991*22dc650dSSadaf Ebrahimi\= Expect no match
992*22dc650dSSadaf Ebrahimi    X
993*22dc650dSSadaf Ebrahimi    \x{2c2}
994*22dc650dSSadaf Ebrahimi
995*22dc650dSSadaf Ebrahimi/^\p{Sk}/utf
996*22dc650dSSadaf Ebrahimi    \x{2c2}
997*22dc650dSSadaf Ebrahimi\= Expect no match
998*22dc650dSSadaf Ebrahimi    X
999*22dc650dSSadaf Ebrahimi    \x{9f2}
1000*22dc650dSSadaf Ebrahimi
1001*22dc650dSSadaf Ebrahimi/^\p{Sm}+/utf
1002*22dc650dSSadaf Ebrahimi    +<|~\x{ac}\x{2044}
1003*22dc650dSSadaf Ebrahimi\= Expect no match
1004*22dc650dSSadaf Ebrahimi    X
1005*22dc650dSSadaf Ebrahimi    \x{9f2}
1006*22dc650dSSadaf Ebrahimi
1007*22dc650dSSadaf Ebrahimi/^\p{So}/utf
1008*22dc650dSSadaf Ebrahimi    \x{a6}
1009*22dc650dSSadaf Ebrahimi    \x{482}
1010*22dc650dSSadaf Ebrahimi\= Expect no match
1011*22dc650dSSadaf Ebrahimi    X
1012*22dc650dSSadaf Ebrahimi    \x{9f2}
1013*22dc650dSSadaf Ebrahimi
1014*22dc650dSSadaf Ebrahimi/^\p{Zl}/utf
1015*22dc650dSSadaf Ebrahimi    \x{2028}
1016*22dc650dSSadaf Ebrahimi\= Expect no match
1017*22dc650dSSadaf Ebrahimi    X
1018*22dc650dSSadaf Ebrahimi    \x{2029}
1019*22dc650dSSadaf Ebrahimi
1020*22dc650dSSadaf Ebrahimi/^\p{Zp}/utf
1021*22dc650dSSadaf Ebrahimi    \x{2029}
1022*22dc650dSSadaf Ebrahimi\= Expect no match
1023*22dc650dSSadaf Ebrahimi    X
1024*22dc650dSSadaf Ebrahimi    \x{2028}
1025*22dc650dSSadaf Ebrahimi
1026*22dc650dSSadaf Ebrahimi/^\p{Zs}/utf
1027*22dc650dSSadaf Ebrahimi    \ \
1028*22dc650dSSadaf Ebrahimi    \x{a0}
1029*22dc650dSSadaf Ebrahimi    \x{1680}
1030*22dc650dSSadaf Ebrahimi    \x{2000}
1031*22dc650dSSadaf Ebrahimi    \x{2001}
1032*22dc650dSSadaf Ebrahimi\= Expect no match
1033*22dc650dSSadaf Ebrahimi    \x{2028}
1034*22dc650dSSadaf Ebrahimi    \x{200d}
1035*22dc650dSSadaf Ebrahimi
1036*22dc650dSSadaf Ebrahimi/\p{Nd}+(..)/utf
1037*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1038*22dc650dSSadaf Ebrahimi
1039*22dc650dSSadaf Ebrahimi/\p{Nd}+?(..)/utf
1040*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1041*22dc650dSSadaf Ebrahimi
1042*22dc650dSSadaf Ebrahimi/\p{Nd}{2,}(..)/utf
1043*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1044*22dc650dSSadaf Ebrahimi
1045*22dc650dSSadaf Ebrahimi/\p{Nd}{2,}?(..)/utf
1046*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1047*22dc650dSSadaf Ebrahimi
1048*22dc650dSSadaf Ebrahimi/\p{Nd}*(..)/utf
1049*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1050*22dc650dSSadaf Ebrahimi
1051*22dc650dSSadaf Ebrahimi/\p{Nd}*?(..)/utf
1052*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1053*22dc650dSSadaf Ebrahimi
1054*22dc650dSSadaf Ebrahimi/\p{Nd}{2}(..)/utf
1055*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1056*22dc650dSSadaf Ebrahimi
1057*22dc650dSSadaf Ebrahimi/\p{Nd}{2,3}(..)/utf
1058*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1059*22dc650dSSadaf Ebrahimi
1060*22dc650dSSadaf Ebrahimi/\p{Nd}{2,3}?(..)/utf
1061*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1062*22dc650dSSadaf Ebrahimi
1063*22dc650dSSadaf Ebrahimi/\p{Nd}?(..)/utf
1064*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1065*22dc650dSSadaf Ebrahimi
1066*22dc650dSSadaf Ebrahimi/\p{Nd}??(..)/utf
1067*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1068*22dc650dSSadaf Ebrahimi
1069*22dc650dSSadaf Ebrahimi/\p{Nd}*+(..)/utf
1070*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1071*22dc650dSSadaf Ebrahimi
1072*22dc650dSSadaf Ebrahimi/\p{Nd}*+(...)/utf
1073*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1074*22dc650dSSadaf Ebrahimi
1075*22dc650dSSadaf Ebrahimi/\p{Nd}*+(....)/utf
1076*22dc650dSSadaf Ebrahimi\= Expect no match
1077*22dc650dSSadaf Ebrahimi      \x{660}\x{661}\x{662}ABC
1078*22dc650dSSadaf Ebrahimi
1079*22dc650dSSadaf Ebrahimi/\p{Lu}/i,utf
1080*22dc650dSSadaf Ebrahimi    A
1081*22dc650dSSadaf Ebrahimi    a\x{10a0}B
1082*22dc650dSSadaf Ebrahimi\= Expect no match
1083*22dc650dSSadaf Ebrahimi    a
1084*22dc650dSSadaf Ebrahimi    \x{1d00}
1085*22dc650dSSadaf Ebrahimi
1086*22dc650dSSadaf Ebrahimi/\p{^Lu}/i,utf
1087*22dc650dSSadaf Ebrahimi    1234
1088*22dc650dSSadaf Ebrahimi\= Expect no match
1089*22dc650dSSadaf Ebrahimi    ABC
1090*22dc650dSSadaf Ebrahimi
1091*22dc650dSSadaf Ebrahimi/\P{Lu}/i,utf
1092*22dc650dSSadaf Ebrahimi    1234
1093*22dc650dSSadaf Ebrahimi\= Expect no match
1094*22dc650dSSadaf Ebrahimi    ABC
1095*22dc650dSSadaf Ebrahimi
1096*22dc650dSSadaf Ebrahimi/(?<=A\p{Nd})XYZ/utf
1097*22dc650dSSadaf Ebrahimi    A2XYZ
1098*22dc650dSSadaf Ebrahimi    123A5XYZPQR
1099*22dc650dSSadaf Ebrahimi    ABA\x{660}XYZpqr
1100*22dc650dSSadaf Ebrahimi\= Expect no match
1101*22dc650dSSadaf Ebrahimi    AXYZ
1102*22dc650dSSadaf Ebrahimi    XYZ
1103*22dc650dSSadaf Ebrahimi
1104*22dc650dSSadaf Ebrahimi/(?<!\pL)XYZ/utf
1105*22dc650dSSadaf Ebrahimi    1XYZ
1106*22dc650dSSadaf Ebrahimi    AB=XYZ..
1107*22dc650dSSadaf Ebrahimi    XYZ
1108*22dc650dSSadaf Ebrahimi\= Expect no match
1109*22dc650dSSadaf Ebrahimi    WXYZ
1110*22dc650dSSadaf Ebrahimi
1111*22dc650dSSadaf Ebrahimi/[\p{Nd}]/utf
1112*22dc650dSSadaf Ebrahimi    1234
1113*22dc650dSSadaf Ebrahimi
1114*22dc650dSSadaf Ebrahimi/[\p{Nd}+-]+/utf
1115*22dc650dSSadaf Ebrahimi    1234
1116*22dc650dSSadaf Ebrahimi    12-34
1117*22dc650dSSadaf Ebrahimi    12+\x{661}-34
1118*22dc650dSSadaf Ebrahimi\= Expect no match
1119*22dc650dSSadaf Ebrahimi    abcd
1120*22dc650dSSadaf Ebrahimi
1121*22dc650dSSadaf Ebrahimi/[\P{Nd}]+/utf
1122*22dc650dSSadaf Ebrahimi    abcd
1123*22dc650dSSadaf Ebrahimi\= Expect no match
1124*22dc650dSSadaf Ebrahimi    1234
1125*22dc650dSSadaf Ebrahimi
1126*22dc650dSSadaf Ebrahimi/\D+/utf,no_auto_possess
1127*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1128*22dc650dSSadaf Ebrahimi\= Expect no match
1129*22dc650dSSadaf Ebrahimi    11111111111111111111111111111111111111111111111111111111111111111111111
1130*22dc650dSSadaf Ebrahimi
1131*22dc650dSSadaf Ebrahimi/\P{Nd}+/utf,no_auto_possess
1132*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1133*22dc650dSSadaf Ebrahimi\= Expect no match
1134*22dc650dSSadaf Ebrahimi    11111111111111111111111111111111111111111111111111111111111111111111111
1135*22dc650dSSadaf Ebrahimi
1136*22dc650dSSadaf Ebrahimi/[\D]+/utf,no_auto_possess
1137*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1138*22dc650dSSadaf Ebrahimi\= Expect no match
1139*22dc650dSSadaf Ebrahimi    11111111111111111111111111111111111111111111111111111111111111111111111
1140*22dc650dSSadaf Ebrahimi
1141*22dc650dSSadaf Ebrahimi/[\P{Nd}]+/utf,no_auto_possess
1142*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1143*22dc650dSSadaf Ebrahimi\= Expect no match
1144*22dc650dSSadaf Ebrahimi    11111111111111111111111111111111111111111111111111111111111111111111111
1145*22dc650dSSadaf Ebrahimi
1146*22dc650dSSadaf Ebrahimi/[\D\P{Nd}]+/utf,no_auto_possess
1147*22dc650dSSadaf Ebrahimi    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1148*22dc650dSSadaf Ebrahimi\= Expect no match
1149*22dc650dSSadaf Ebrahimi    11111111111111111111111111111111111111111111111111111111111111111111111
1150*22dc650dSSadaf Ebrahimi
1151*22dc650dSSadaf Ebrahimi/\pL/utf
1152*22dc650dSSadaf Ebrahimi    a
1153*22dc650dSSadaf Ebrahimi    A
1154*22dc650dSSadaf Ebrahimi
1155*22dc650dSSadaf Ebrahimi/\pL/i,utf
1156*22dc650dSSadaf Ebrahimi    a
1157*22dc650dSSadaf Ebrahimi    A
1158*22dc650dSSadaf Ebrahimi
1159*22dc650dSSadaf Ebrahimi/\p{Lu}/utf
1160*22dc650dSSadaf Ebrahimi    A
1161*22dc650dSSadaf Ebrahimi    aZ
1162*22dc650dSSadaf Ebrahimi\= Expect no match
1163*22dc650dSSadaf Ebrahimi    abc
1164*22dc650dSSadaf Ebrahimi
1165*22dc650dSSadaf Ebrahimi/\p{Lu}/i,utf
1166*22dc650dSSadaf Ebrahimi    A
1167*22dc650dSSadaf Ebrahimi    aZ
1168*22dc650dSSadaf Ebrahimi\= Expect no match
1169*22dc650dSSadaf Ebrahimi    abc
1170*22dc650dSSadaf Ebrahimi
1171*22dc650dSSadaf Ebrahimi/\p{Ll}/utf
1172*22dc650dSSadaf Ebrahimi    a
1173*22dc650dSSadaf Ebrahimi    Az
1174*22dc650dSSadaf Ebrahimi\= Expect no match
1175*22dc650dSSadaf Ebrahimi    ABC
1176*22dc650dSSadaf Ebrahimi
1177*22dc650dSSadaf Ebrahimi/\p{Ll}/i,utf
1178*22dc650dSSadaf Ebrahimi    a
1179*22dc650dSSadaf Ebrahimi    Az
1180*22dc650dSSadaf Ebrahimi\= Expect no match
1181*22dc650dSSadaf Ebrahimi    ABC
1182*22dc650dSSadaf Ebrahimi
1183*22dc650dSSadaf Ebrahimi/^\x{c0}$/i,utf
1184*22dc650dSSadaf Ebrahimi    \x{c0}
1185*22dc650dSSadaf Ebrahimi    \x{e0}
1186*22dc650dSSadaf Ebrahimi
1187*22dc650dSSadaf Ebrahimi/^\x{e0}$/i,utf
1188*22dc650dSSadaf Ebrahimi    \x{c0}
1189*22dc650dSSadaf Ebrahimi    \x{e0}
1190*22dc650dSSadaf Ebrahimi
1191*22dc650dSSadaf Ebrahimi/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
1192*22dc650dSSadaf Ebrahimi    A\x{391}\x{10427}\x{ff3a}\x{1fb0}
1193*22dc650dSSadaf Ebrahimi\= Expect no match
1194*22dc650dSSadaf Ebrahimi    a\x{391}\x{10427}\x{ff3a}\x{1fb0}
1195*22dc650dSSadaf Ebrahimi    A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
1196*22dc650dSSadaf Ebrahimi    A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
1197*22dc650dSSadaf Ebrahimi    A\x{391}\x{10427}\x{ff5a}\x{1fb0}
1198*22dc650dSSadaf Ebrahimi    A\x{391}\x{10427}\x{ff3a}\x{1fb8}
1199*22dc650dSSadaf Ebrahimi
1200*22dc650dSSadaf Ebrahimi/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
1201*22dc650dSSadaf Ebrahimi    A\x{391}\x{10427}\x{ff3a}\x{1fb0}
1202*22dc650dSSadaf Ebrahimi    a\x{391}\x{10427}\x{ff3a}\x{1fb0}
1203*22dc650dSSadaf Ebrahimi    A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
1204*22dc650dSSadaf Ebrahimi    A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
1205*22dc650dSSadaf Ebrahimi    A\x{391}\x{10427}\x{ff5a}\x{1fb0}
1206*22dc650dSSadaf Ebrahimi    A\x{391}\x{10427}\x{ff3a}\x{1fb8}
1207*22dc650dSSadaf Ebrahimi
1208*22dc650dSSadaf Ebrahimi/\x{391}+/i,utf
1209*22dc650dSSadaf Ebrahimi    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
1210*22dc650dSSadaf Ebrahimi
1211*22dc650dSSadaf Ebrahimi/\x{391}{3,5}(.)/i,utf
1212*22dc650dSSadaf Ebrahimi    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1213*22dc650dSSadaf Ebrahimi
1214*22dc650dSSadaf Ebrahimi/\x{391}{3,5}?(.)/i,utf
1215*22dc650dSSadaf Ebrahimi    \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1216*22dc650dSSadaf Ebrahimi
1217*22dc650dSSadaf Ebrahimi/[\x{391}\x{ff3a}]/i,utf
1218*22dc650dSSadaf Ebrahimi    \x{391}
1219*22dc650dSSadaf Ebrahimi    \x{ff3a}
1220*22dc650dSSadaf Ebrahimi    \x{3b1}
1221*22dc650dSSadaf Ebrahimi    \x{ff5a}
1222*22dc650dSSadaf Ebrahimi
1223*22dc650dSSadaf Ebrahimi/[\x{c0}\x{391}]/i,utf
1224*22dc650dSSadaf Ebrahimi    \x{c0}
1225*22dc650dSSadaf Ebrahimi    \x{e0}
1226*22dc650dSSadaf Ebrahimi
1227*22dc650dSSadaf Ebrahimi/[\x{105}-\x{109}]/i,utf
1228*22dc650dSSadaf Ebrahimi    \x{104}
1229*22dc650dSSadaf Ebrahimi    \x{105}
1230*22dc650dSSadaf Ebrahimi    \x{109}
1231*22dc650dSSadaf Ebrahimi\= Expect no match
1232*22dc650dSSadaf Ebrahimi    \x{100}
1233*22dc650dSSadaf Ebrahimi    \x{10a}
1234*22dc650dSSadaf Ebrahimi
1235*22dc650dSSadaf Ebrahimi/[z-\x{100}]/i,utf
1236*22dc650dSSadaf Ebrahimi    Z
1237*22dc650dSSadaf Ebrahimi    z
1238*22dc650dSSadaf Ebrahimi    \x{39c}
1239*22dc650dSSadaf Ebrahimi    \x{178}
1240*22dc650dSSadaf Ebrahimi    |
1241*22dc650dSSadaf Ebrahimi    \x{80}
1242*22dc650dSSadaf Ebrahimi    \x{ff}
1243*22dc650dSSadaf Ebrahimi    \x{100}
1244*22dc650dSSadaf Ebrahimi    \x{101}
1245*22dc650dSSadaf Ebrahimi\= Expect no match
1246*22dc650dSSadaf Ebrahimi    \x{102}
1247*22dc650dSSadaf Ebrahimi    Y
1248*22dc650dSSadaf Ebrahimi    y
1249*22dc650dSSadaf Ebrahimi
1250*22dc650dSSadaf Ebrahimi/[z-\x{100}]/i,utf
1251*22dc650dSSadaf Ebrahimi
1252*22dc650dSSadaf Ebrahimi/^\X/utf
1253*22dc650dSSadaf Ebrahimi    A
1254*22dc650dSSadaf Ebrahimi    A\x{300}BC
1255*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BC
1256*22dc650dSSadaf Ebrahimi    \x{300}
1257*22dc650dSSadaf Ebrahimi
1258*22dc650dSSadaf Ebrahimi/^(\X*)C/utf
1259*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1260*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1261*22dc650dSSadaf Ebrahimi
1262*22dc650dSSadaf Ebrahimi/^(\X*?)C/utf
1263*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1264*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1265*22dc650dSSadaf Ebrahimi
1266*22dc650dSSadaf Ebrahimi/^(\X*)(.)/utf
1267*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1268*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1269*22dc650dSSadaf Ebrahimi
1270*22dc650dSSadaf Ebrahimi/^(\X*?)(.)/utf
1271*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1272*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1273*22dc650dSSadaf Ebrahimi
1274*22dc650dSSadaf Ebrahimi/^\X(.)/utf
1275*22dc650dSSadaf Ebrahimi\= Expect no match
1276*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\x{302}
1277*22dc650dSSadaf Ebrahimi
1278*22dc650dSSadaf Ebrahimi/^\X{2,3}(.)/utf
1279*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}B\x{300}X
1280*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}B\x{300}C\x{300}\x{301}
1281*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1282*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
1283*22dc650dSSadaf Ebrahimi
1284*22dc650dSSadaf Ebrahimi/^\X{2,3}?(.)/utf
1285*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}B\x{300}X
1286*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}B\x{300}C\x{300}\x{301}
1287*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1288*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
1289*22dc650dSSadaf Ebrahimi
1290*22dc650dSSadaf Ebrahimi/^\pN{2,3}X/
1291*22dc650dSSadaf Ebrahimi    12X
1292*22dc650dSSadaf Ebrahimi    123X
1293*22dc650dSSadaf Ebrahimi\= Expect no match
1294*22dc650dSSadaf Ebrahimi    X
1295*22dc650dSSadaf Ebrahimi    1X
1296*22dc650dSSadaf Ebrahimi    1234X
1297*22dc650dSSadaf Ebrahimi
1298*22dc650dSSadaf Ebrahimi/\x{100}/i,utf
1299*22dc650dSSadaf Ebrahimi    \x{100}
1300*22dc650dSSadaf Ebrahimi    \x{101}
1301*22dc650dSSadaf Ebrahimi
1302*22dc650dSSadaf Ebrahimi/^\p{Han}+/utf
1303*22dc650dSSadaf Ebrahimi    \x{2e81}\x{3007}\x{2f804}\x{31a0}
1304*22dc650dSSadaf Ebrahimi\= Expect no match
1305*22dc650dSSadaf Ebrahimi    \x{2e7f}
1306*22dc650dSSadaf Ebrahimi
1307*22dc650dSSadaf Ebrahimi/^\P{Katakana}+/utf
1308*22dc650dSSadaf Ebrahimi    \x{3105}
1309*22dc650dSSadaf Ebrahimi\= Expect no match
1310*22dc650dSSadaf Ebrahimi    \x{30ff}
1311*22dc650dSSadaf Ebrahimi
1312*22dc650dSSadaf Ebrahimi/^[\p{Arabic}]/utf
1313*22dc650dSSadaf Ebrahimi    \x{06e9}
1314*22dc650dSSadaf Ebrahimi    \x{060b}
1315*22dc650dSSadaf Ebrahimi\= Expect no match
1316*22dc650dSSadaf Ebrahimi    X\x{06e9}
1317*22dc650dSSadaf Ebrahimi
1318*22dc650dSSadaf Ebrahimi/^[\P{Yi}]/utf
1319*22dc650dSSadaf Ebrahimi    \x{2f800}
1320*22dc650dSSadaf Ebrahimi\= Expect no match
1321*22dc650dSSadaf Ebrahimi    \x{a014}
1322*22dc650dSSadaf Ebrahimi    \x{a4c6}
1323*22dc650dSSadaf Ebrahimi
1324*22dc650dSSadaf Ebrahimi/^\p{Any}X/utf
1325*22dc650dSSadaf Ebrahimi    AXYZ
1326*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1327*22dc650dSSadaf Ebrahimi\= Expect no match
1328*22dc650dSSadaf Ebrahimi    X
1329*22dc650dSSadaf Ebrahimi
1330*22dc650dSSadaf Ebrahimi/^\P{Any}X/utf
1331*22dc650dSSadaf Ebrahimi\= Expect no match
1332*22dc650dSSadaf Ebrahimi    AX
1333*22dc650dSSadaf Ebrahimi
1334*22dc650dSSadaf Ebrahimi/^\p{Any}?X/utf
1335*22dc650dSSadaf Ebrahimi    XYZ
1336*22dc650dSSadaf Ebrahimi    AXYZ
1337*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1338*22dc650dSSadaf Ebrahimi\= Expect no match
1339*22dc650dSSadaf Ebrahimi    ABXYZ
1340*22dc650dSSadaf Ebrahimi
1341*22dc650dSSadaf Ebrahimi/^\P{Any}?X/utf
1342*22dc650dSSadaf Ebrahimi    XYZ
1343*22dc650dSSadaf Ebrahimi\= Expect no match
1344*22dc650dSSadaf Ebrahimi    AXYZ
1345*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1346*22dc650dSSadaf Ebrahimi    ABXYZ
1347*22dc650dSSadaf Ebrahimi
1348*22dc650dSSadaf Ebrahimi/^\p{Any}+X/utf
1349*22dc650dSSadaf Ebrahimi    AXYZ
1350*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1351*22dc650dSSadaf Ebrahimi    A\x{1234}XYZ
1352*22dc650dSSadaf Ebrahimi\= Expect no match
1353*22dc650dSSadaf Ebrahimi    XYZ
1354*22dc650dSSadaf Ebrahimi
1355*22dc650dSSadaf Ebrahimi/^\P{Any}+X/utf
1356*22dc650dSSadaf Ebrahimi\= Expect no match
1357*22dc650dSSadaf Ebrahimi    AXYZ
1358*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1359*22dc650dSSadaf Ebrahimi    A\x{1234}XYZ
1360*22dc650dSSadaf Ebrahimi    XYZ
1361*22dc650dSSadaf Ebrahimi
1362*22dc650dSSadaf Ebrahimi/^\p{Any}*X/utf
1363*22dc650dSSadaf Ebrahimi    XYZ
1364*22dc650dSSadaf Ebrahimi    AXYZ
1365*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1366*22dc650dSSadaf Ebrahimi    A\x{1234}XYZ
1367*22dc650dSSadaf Ebrahimi
1368*22dc650dSSadaf Ebrahimi/^\P{Any}*X/utf
1369*22dc650dSSadaf Ebrahimi    XYZ
1370*22dc650dSSadaf Ebrahimi\= Expect no match
1371*22dc650dSSadaf Ebrahimi    AXYZ
1372*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1373*22dc650dSSadaf Ebrahimi    A\x{1234}XYZ
1374*22dc650dSSadaf Ebrahimi
1375*22dc650dSSadaf Ebrahimi/^[\p{Any}]X/utf
1376*22dc650dSSadaf Ebrahimi    AXYZ
1377*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1378*22dc650dSSadaf Ebrahimi\= Expect no match
1379*22dc650dSSadaf Ebrahimi    X
1380*22dc650dSSadaf Ebrahimi
1381*22dc650dSSadaf Ebrahimi/^[\P{Any}]X/utf
1382*22dc650dSSadaf Ebrahimi\= Expect no match
1383*22dc650dSSadaf Ebrahimi    AX
1384*22dc650dSSadaf Ebrahimi
1385*22dc650dSSadaf Ebrahimi/^[\p{Any}]?X/utf
1386*22dc650dSSadaf Ebrahimi    XYZ
1387*22dc650dSSadaf Ebrahimi    AXYZ
1388*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1389*22dc650dSSadaf Ebrahimi\= Expect no match
1390*22dc650dSSadaf Ebrahimi    ABXYZ
1391*22dc650dSSadaf Ebrahimi
1392*22dc650dSSadaf Ebrahimi/^[\P{Any}]?X/utf
1393*22dc650dSSadaf Ebrahimi    XYZ
1394*22dc650dSSadaf Ebrahimi\= Expect no match
1395*22dc650dSSadaf Ebrahimi    AXYZ
1396*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1397*22dc650dSSadaf Ebrahimi    ABXYZ
1398*22dc650dSSadaf Ebrahimi
1399*22dc650dSSadaf Ebrahimi/^[\p{Any}]+X/utf
1400*22dc650dSSadaf Ebrahimi    AXYZ
1401*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1402*22dc650dSSadaf Ebrahimi    A\x{1234}XYZ
1403*22dc650dSSadaf Ebrahimi\= Expect no match
1404*22dc650dSSadaf Ebrahimi    XYZ
1405*22dc650dSSadaf Ebrahimi
1406*22dc650dSSadaf Ebrahimi/^[\P{Any}]+X/utf
1407*22dc650dSSadaf Ebrahimi\= Expect no match
1408*22dc650dSSadaf Ebrahimi    AXYZ
1409*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1410*22dc650dSSadaf Ebrahimi    A\x{1234}XYZ
1411*22dc650dSSadaf Ebrahimi    XYZ
1412*22dc650dSSadaf Ebrahimi
1413*22dc650dSSadaf Ebrahimi/^[\p{Any}]*X/utf
1414*22dc650dSSadaf Ebrahimi    XYZ
1415*22dc650dSSadaf Ebrahimi    AXYZ
1416*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1417*22dc650dSSadaf Ebrahimi    A\x{1234}XYZ
1418*22dc650dSSadaf Ebrahimi
1419*22dc650dSSadaf Ebrahimi/^[\P{Any}]*X/utf
1420*22dc650dSSadaf Ebrahimi    XYZ
1421*22dc650dSSadaf Ebrahimi\= Expect no match
1422*22dc650dSSadaf Ebrahimi    AXYZ
1423*22dc650dSSadaf Ebrahimi    \x{1234}XYZ
1424*22dc650dSSadaf Ebrahimi    A\x{1234}XYZ
1425*22dc650dSSadaf Ebrahimi
1426*22dc650dSSadaf Ebrahimi/^\p{Any}{3,5}?/utf
1427*22dc650dSSadaf Ebrahimi    abcdefgh
1428*22dc650dSSadaf Ebrahimi    \x{1234}\n\r\x{3456}xyz
1429*22dc650dSSadaf Ebrahimi
1430*22dc650dSSadaf Ebrahimi/^\p{Any}{3,5}/utf
1431*22dc650dSSadaf Ebrahimi    abcdefgh
1432*22dc650dSSadaf Ebrahimi    \x{1234}\n\r\x{3456}xyz
1433*22dc650dSSadaf Ebrahimi
1434*22dc650dSSadaf Ebrahimi/^\P{Any}{3,5}?/utf
1435*22dc650dSSadaf Ebrahimi\= Expect no match
1436*22dc650dSSadaf Ebrahimi    abcdefgh
1437*22dc650dSSadaf Ebrahimi    \x{1234}\n\r\x{3456}xyz
1438*22dc650dSSadaf Ebrahimi
1439*22dc650dSSadaf Ebrahimi/^\p{L&}X/utf
1440*22dc650dSSadaf Ebrahimi     AXY
1441*22dc650dSSadaf Ebrahimi     aXY
1442*22dc650dSSadaf Ebrahimi     \x{1c5}XY
1443*22dc650dSSadaf Ebrahimi\= Expect no match
1444*22dc650dSSadaf Ebrahimi     \x{1bb}XY
1445*22dc650dSSadaf Ebrahimi     \x{2b0}XY
1446*22dc650dSSadaf Ebrahimi     !XY
1447*22dc650dSSadaf Ebrahimi
1448*22dc650dSSadaf Ebrahimi/^[\p{L&}]X/utf
1449*22dc650dSSadaf Ebrahimi     AXY
1450*22dc650dSSadaf Ebrahimi     aXY
1451*22dc650dSSadaf Ebrahimi     \x{1c5}XY
1452*22dc650dSSadaf Ebrahimi\= Expect no match
1453*22dc650dSSadaf Ebrahimi     \x{1bb}XY
1454*22dc650dSSadaf Ebrahimi     \x{2b0}XY
1455*22dc650dSSadaf Ebrahimi     !XY
1456*22dc650dSSadaf Ebrahimi
1457*22dc650dSSadaf Ebrahimi/^\p{L&}+X/utf
1458*22dc650dSSadaf Ebrahimi     AXY
1459*22dc650dSSadaf Ebrahimi     aXY
1460*22dc650dSSadaf Ebrahimi     AbcdeXyz
1461*22dc650dSSadaf Ebrahimi     \x{1c5}AbXY
1462*22dc650dSSadaf Ebrahimi     abcDEXypqreXlmn
1463*22dc650dSSadaf Ebrahimi\= Expect no match
1464*22dc650dSSadaf Ebrahimi     \x{1bb}XY
1465*22dc650dSSadaf Ebrahimi     \x{2b0}XY
1466*22dc650dSSadaf Ebrahimi     !XY
1467*22dc650dSSadaf Ebrahimi
1468*22dc650dSSadaf Ebrahimi/^[\p{L&}]+X/utf
1469*22dc650dSSadaf Ebrahimi     AXY
1470*22dc650dSSadaf Ebrahimi     aXY
1471*22dc650dSSadaf Ebrahimi     AbcdeXyz
1472*22dc650dSSadaf Ebrahimi     \x{1c5}AbXY
1473*22dc650dSSadaf Ebrahimi     abcDEXypqreXlmn
1474*22dc650dSSadaf Ebrahimi\= Expect no match
1475*22dc650dSSadaf Ebrahimi     \x{1bb}XY
1476*22dc650dSSadaf Ebrahimi     \x{2b0}XY
1477*22dc650dSSadaf Ebrahimi     !XY
1478*22dc650dSSadaf Ebrahimi
1479*22dc650dSSadaf Ebrahimi/^\p{L&}+?X/utf
1480*22dc650dSSadaf Ebrahimi     AXY
1481*22dc650dSSadaf Ebrahimi     aXY
1482*22dc650dSSadaf Ebrahimi     AbcdeXyz
1483*22dc650dSSadaf Ebrahimi     \x{1c5}AbXY
1484*22dc650dSSadaf Ebrahimi     abcDEXypqreXlmn
1485*22dc650dSSadaf Ebrahimi\= Expect no match
1486*22dc650dSSadaf Ebrahimi     \x{1bb}XY
1487*22dc650dSSadaf Ebrahimi     \x{2b0}XY
1488*22dc650dSSadaf Ebrahimi     !XY
1489*22dc650dSSadaf Ebrahimi
1490*22dc650dSSadaf Ebrahimi/^[\p{L&}]+?X/utf
1491*22dc650dSSadaf Ebrahimi     AXY
1492*22dc650dSSadaf Ebrahimi     aXY
1493*22dc650dSSadaf Ebrahimi     AbcdeXyz
1494*22dc650dSSadaf Ebrahimi     \x{1c5}AbXY
1495*22dc650dSSadaf Ebrahimi     abcDEXypqreXlmn
1496*22dc650dSSadaf Ebrahimi\= Expect no match
1497*22dc650dSSadaf Ebrahimi     \x{1bb}XY
1498*22dc650dSSadaf Ebrahimi     \x{2b0}XY
1499*22dc650dSSadaf Ebrahimi     !XY
1500*22dc650dSSadaf Ebrahimi
1501*22dc650dSSadaf Ebrahimi/^\P{L&}X/utf
1502*22dc650dSSadaf Ebrahimi     !XY
1503*22dc650dSSadaf Ebrahimi     \x{1bb}XY
1504*22dc650dSSadaf Ebrahimi     \x{2b0}XY
1505*22dc650dSSadaf Ebrahimi\= Expect no match
1506*22dc650dSSadaf Ebrahimi     \x{1c5}XY
1507*22dc650dSSadaf Ebrahimi     AXY
1508*22dc650dSSadaf Ebrahimi
1509*22dc650dSSadaf Ebrahimi/^[\P{L&}]X/utf
1510*22dc650dSSadaf Ebrahimi     !XY
1511*22dc650dSSadaf Ebrahimi     \x{1bb}XY
1512*22dc650dSSadaf Ebrahimi     \x{2b0}XY
1513*22dc650dSSadaf Ebrahimi\= Expect no match
1514*22dc650dSSadaf Ebrahimi     \x{1c5}XY
1515*22dc650dSSadaf Ebrahimi     AXY
1516*22dc650dSSadaf Ebrahimi
1517*22dc650dSSadaf Ebrahimi/^\x{023a}+?(\x{0130}+)/i,utf
1518*22dc650dSSadaf Ebrahimi  \x{023a}\x{2c65}\x{0130}
1519*22dc650dSSadaf Ebrahimi
1520*22dc650dSSadaf Ebrahimi/^\x{023a}+([^X])/i,utf
1521*22dc650dSSadaf Ebrahimi  \x{023a}\x{2c65}X
1522*22dc650dSSadaf Ebrahimi
1523*22dc650dSSadaf Ebrahimi/\x{c0}+\x{116}+/i,utf
1524*22dc650dSSadaf Ebrahimi    \x{c0}\x{e0}\x{116}\x{117}
1525*22dc650dSSadaf Ebrahimi
1526*22dc650dSSadaf Ebrahimi/[\x{c0}\x{116}]+/i,utf
1527*22dc650dSSadaf Ebrahimi    \x{c0}\x{e0}\x{116}\x{117}
1528*22dc650dSSadaf Ebrahimi
1529*22dc650dSSadaf Ebrahimi# Check property support in non-UTF-8 mode
1530*22dc650dSSadaf Ebrahimi
1531*22dc650dSSadaf Ebrahimi/\p{L}{4}/
1532*22dc650dSSadaf Ebrahimi    123abcdefg
1533*22dc650dSSadaf Ebrahimi    123abc\xc4\xc5zz
1534*22dc650dSSadaf Ebrahimi
1535*22dc650dSSadaf Ebrahimi/\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/utf
1536*22dc650dSSadaf Ebrahimi    \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
1537*22dc650dSSadaf Ebrahimi
1538*22dc650dSSadaf Ebrahimi/\x{a77d}\x{1d79}/i,utf
1539*22dc650dSSadaf Ebrahimi    \x{a77d}\x{1d79}
1540*22dc650dSSadaf Ebrahimi    \x{1d79}\x{a77d}
1541*22dc650dSSadaf Ebrahimi
1542*22dc650dSSadaf Ebrahimi/\x{a77d}\x{1d79}/utf
1543*22dc650dSSadaf Ebrahimi    \x{a77d}\x{1d79}
1544*22dc650dSSadaf Ebrahimi\= Expect no match
1545*22dc650dSSadaf Ebrahimi    \x{1d79}\x{a77d}
1546*22dc650dSSadaf Ebrahimi
1547*22dc650dSSadaf Ebrahimi/^\p{Xan}/utf
1548*22dc650dSSadaf Ebrahimi    ABCD
1549*22dc650dSSadaf Ebrahimi    1234
1550*22dc650dSSadaf Ebrahimi    \x{6ca}
1551*22dc650dSSadaf Ebrahimi    \x{a6c}
1552*22dc650dSSadaf Ebrahimi    \x{10a7}
1553*22dc650dSSadaf Ebrahimi\= Expect no match
1554*22dc650dSSadaf Ebrahimi    _ABC
1555*22dc650dSSadaf Ebrahimi
1556*22dc650dSSadaf Ebrahimi/^\p{Xan}+/utf
1557*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1558*22dc650dSSadaf Ebrahimi\= Expect no match
1559*22dc650dSSadaf Ebrahimi    _ABC
1560*22dc650dSSadaf Ebrahimi
1561*22dc650dSSadaf Ebrahimi/^\p{Xan}*/utf
1562*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1563*22dc650dSSadaf Ebrahimi
1564*22dc650dSSadaf Ebrahimi/^\p{Xan}{2,9}/utf
1565*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1566*22dc650dSSadaf Ebrahimi
1567*22dc650dSSadaf Ebrahimi/^[\p{Xan}]/utf
1568*22dc650dSSadaf Ebrahimi    ABCD1234_
1569*22dc650dSSadaf Ebrahimi    1234abcd_
1570*22dc650dSSadaf Ebrahimi    \x{6ca}
1571*22dc650dSSadaf Ebrahimi    \x{a6c}
1572*22dc650dSSadaf Ebrahimi    \x{10a7}
1573*22dc650dSSadaf Ebrahimi\= Expect no match
1574*22dc650dSSadaf Ebrahimi    _ABC
1575*22dc650dSSadaf Ebrahimi
1576*22dc650dSSadaf Ebrahimi/^[\p{Xan}]+/utf
1577*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1578*22dc650dSSadaf Ebrahimi\= Expect no match
1579*22dc650dSSadaf Ebrahimi    _ABC
1580*22dc650dSSadaf Ebrahimi
1581*22dc650dSSadaf Ebrahimi/^>\p{Xsp}/utf
1582*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
1583*22dc650dSSadaf Ebrahimi\= Expect no match
1584*22dc650dSSadaf Ebrahimi    \x{0b}
1585*22dc650dSSadaf Ebrahimi
1586*22dc650dSSadaf Ebrahimi/^>\p{Xsp}+/utf,no_auto_possess
1587*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1588*22dc650dSSadaf Ebrahimi
1589*22dc650dSSadaf Ebrahimi/^>\p{Xsp}*/utf,no_auto_possess
1590*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1591*22dc650dSSadaf Ebrahimi
1592*22dc650dSSadaf Ebrahimi/^>\p{Xsp}{2,9}/utf,no_auto_possess
1593*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1594*22dc650dSSadaf Ebrahimi
1595*22dc650dSSadaf Ebrahimi/^>[\p{Xsp}]/utf,no_auto_possess
1596*22dc650dSSadaf Ebrahimi    >\x{2028}\x{0b}
1597*22dc650dSSadaf Ebrahimi
1598*22dc650dSSadaf Ebrahimi/^>[\p{Xsp}]+/utf,no_auto_possess
1599*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1600*22dc650dSSadaf Ebrahimi
1601*22dc650dSSadaf Ebrahimi/^>\p{Xps}/utf
1602*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
1603*22dc650dSSadaf Ebrahimi    >\x{a0}
1604*22dc650dSSadaf Ebrahimi\= Expect no match
1605*22dc650dSSadaf Ebrahimi    \x{0b}
1606*22dc650dSSadaf Ebrahimi
1607*22dc650dSSadaf Ebrahimi/^>\p{Xps}+/utf
1608*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1609*22dc650dSSadaf Ebrahimi
1610*22dc650dSSadaf Ebrahimi/^>\p{Xps}+?/utf
1611*22dc650dSSadaf Ebrahimi    >\x{1680}\x{2028}\x{0b}
1612*22dc650dSSadaf Ebrahimi
1613*22dc650dSSadaf Ebrahimi/^>\p{Xps}*/utf
1614*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1615*22dc650dSSadaf Ebrahimi
1616*22dc650dSSadaf Ebrahimi/^>\p{Xps}{2,9}/utf
1617*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1618*22dc650dSSadaf Ebrahimi
1619*22dc650dSSadaf Ebrahimi/^>\p{Xps}{2,9}?/utf
1620*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1621*22dc650dSSadaf Ebrahimi
1622*22dc650dSSadaf Ebrahimi/^>[\p{Xps}]/utf
1623*22dc650dSSadaf Ebrahimi    >\x{2028}\x{0b}
1624*22dc650dSSadaf Ebrahimi
1625*22dc650dSSadaf Ebrahimi/^>[\p{Xps}]+/utf
1626*22dc650dSSadaf Ebrahimi    > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1627*22dc650dSSadaf Ebrahimi
1628*22dc650dSSadaf Ebrahimi/^\p{Xwd}/utf
1629*22dc650dSSadaf Ebrahimi    ABCD
1630*22dc650dSSadaf Ebrahimi    1234
1631*22dc650dSSadaf Ebrahimi    \x{6ca}
1632*22dc650dSSadaf Ebrahimi    \x{a6c}
1633*22dc650dSSadaf Ebrahimi    \x{10a7}
1634*22dc650dSSadaf Ebrahimi    _ABC
1635*22dc650dSSadaf Ebrahimi\= Expect no match
1636*22dc650dSSadaf Ebrahimi    []
1637*22dc650dSSadaf Ebrahimi
1638*22dc650dSSadaf Ebrahimi/^\p{Xwd}+/utf
1639*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1640*22dc650dSSadaf Ebrahimi
1641*22dc650dSSadaf Ebrahimi/^\p{Xwd}*/utf
1642*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1643*22dc650dSSadaf Ebrahimi
1644*22dc650dSSadaf Ebrahimi/^\p{Xwd}{2,9}/utf
1645*22dc650dSSadaf Ebrahimi    A_12\x{6ca}\x{a6c}\x{10a7}
1646*22dc650dSSadaf Ebrahimi
1647*22dc650dSSadaf Ebrahimi/^[\p{Xwd}]/utf
1648*22dc650dSSadaf Ebrahimi    ABCD1234_
1649*22dc650dSSadaf Ebrahimi    1234abcd_
1650*22dc650dSSadaf Ebrahimi    \x{6ca}
1651*22dc650dSSadaf Ebrahimi    \x{a6c}
1652*22dc650dSSadaf Ebrahimi    \x{10a7}
1653*22dc650dSSadaf Ebrahimi    _ABC
1654*22dc650dSSadaf Ebrahimi\= Expect no match
1655*22dc650dSSadaf Ebrahimi    []
1656*22dc650dSSadaf Ebrahimi
1657*22dc650dSSadaf Ebrahimi/^[\p{Xwd}]+/utf
1658*22dc650dSSadaf Ebrahimi    ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1659*22dc650dSSadaf Ebrahimi
1660*22dc650dSSadaf Ebrahimi# Unicode properties for \b and \B
1661*22dc650dSSadaf Ebrahimi
1662*22dc650dSSadaf Ebrahimi/\b...\B/utf,ucp
1663*22dc650dSSadaf Ebrahimi    abc_
1664*22dc650dSSadaf Ebrahimi    \x{37e}abc\x{376}
1665*22dc650dSSadaf Ebrahimi    \x{37e}\x{376}\x{371}\x{393}\x{394}
1666*22dc650dSSadaf Ebrahimi    !\x{c0}++\x{c1}\x{c2}
1667*22dc650dSSadaf Ebrahimi    !\x{c0}+++++
1668*22dc650dSSadaf Ebrahimi
1669*22dc650dSSadaf Ebrahimi# Without PCRE_UCP, non-ASCII always fail, even if < 256
1670*22dc650dSSadaf Ebrahimi
1671*22dc650dSSadaf Ebrahimi/\b...\B/utf
1672*22dc650dSSadaf Ebrahimi    abc_
1673*22dc650dSSadaf Ebrahimi\= Expect no match
1674*22dc650dSSadaf Ebrahimi    \x{37e}abc\x{376}
1675*22dc650dSSadaf Ebrahimi    \x{37e}\x{376}\x{371}\x{393}\x{394}
1676*22dc650dSSadaf Ebrahimi    !\x{c0}++\x{c1}\x{c2}
1677*22dc650dSSadaf Ebrahimi    !\x{c0}+++++
1678*22dc650dSSadaf Ebrahimi
1679*22dc650dSSadaf Ebrahimi# With PCRE_UCP, non-UTF8 chars that are < 256 still check properties
1680*22dc650dSSadaf Ebrahimi
1681*22dc650dSSadaf Ebrahimi/\b...\B/ucp
1682*22dc650dSSadaf Ebrahimi    abc_
1683*22dc650dSSadaf Ebrahimi    !\x{c0}++\x{c1}\x{c2}
1684*22dc650dSSadaf Ebrahimi    !\x{c0}+++++
1685*22dc650dSSadaf Ebrahimi
1686*22dc650dSSadaf Ebrahimi# Caseless single negated characters > 127 need UCP support
1687*22dc650dSSadaf Ebrahimi
1688*22dc650dSSadaf Ebrahimi/[^\x{100}]/i,utf
1689*22dc650dSSadaf Ebrahimi    \x{100}\x{101}X
1690*22dc650dSSadaf Ebrahimi
1691*22dc650dSSadaf Ebrahimi/[^\x{100}]+/i,utf
1692*22dc650dSSadaf Ebrahimi    \x{100}\x{101}XX
1693*22dc650dSSadaf Ebrahimi
1694*22dc650dSSadaf Ebrahimi/^\X/utf
1695*22dc650dSSadaf Ebrahimi    A\=ps
1696*22dc650dSSadaf Ebrahimi    A\=ph
1697*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ps
1698*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ph
1699*22dc650dSSadaf Ebrahimi    A\x{301}\=ps
1700*22dc650dSSadaf Ebrahimi    A\x{301}\=ph
1701*22dc650dSSadaf Ebrahimi
1702*22dc650dSSadaf Ebrahimi/^\X{2,3}/utf
1703*22dc650dSSadaf Ebrahimi    A\=ps
1704*22dc650dSSadaf Ebrahimi    A\=ph
1705*22dc650dSSadaf Ebrahimi    AA\=ps
1706*22dc650dSSadaf Ebrahimi    AA\=ph
1707*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ps
1708*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}\=ph
1709*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ps
1710*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ph
1711*22dc650dSSadaf Ebrahimi
1712*22dc650dSSadaf Ebrahimi/^\X{2}/utf
1713*22dc650dSSadaf Ebrahimi    AA\=ps
1714*22dc650dSSadaf Ebrahimi    AA\=ph
1715*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ps
1716*22dc650dSSadaf Ebrahimi    A\x{300}\x{301}A\x{300}\x{301}\=ph
1717*22dc650dSSadaf Ebrahimi
1718*22dc650dSSadaf Ebrahimi/^\X+/utf
1719*22dc650dSSadaf Ebrahimi    AA\=ps
1720*22dc650dSSadaf Ebrahimi    AA\=ph
1721*22dc650dSSadaf Ebrahimi
1722*22dc650dSSadaf Ebrahimi/^\X+?Z/utf
1723*22dc650dSSadaf Ebrahimi    AA\=ps
1724*22dc650dSSadaf Ebrahimi    AA\=ph
1725*22dc650dSSadaf Ebrahimi
1726*22dc650dSSadaf Ebrahimi# These are tests for extended grapheme clusters
1727*22dc650dSSadaf Ebrahimi
1728*22dc650dSSadaf Ebrahimi/^\X/utf,aftertext
1729*22dc650dSSadaf Ebrahimi    G\x{34e}\x{34e}X
1730*22dc650dSSadaf Ebrahimi    \x{34e}\x{34e}X
1731*22dc650dSSadaf Ebrahimi    \x04X
1732*22dc650dSSadaf Ebrahimi    \x{1100}X
1733*22dc650dSSadaf Ebrahimi    \x{1100}\x{34e}X
1734*22dc650dSSadaf Ebrahimi    \x{1b04}\x{1b04}X
1735*22dc650dSSadaf Ebrahimi\= These match up to the roman letters
1736*22dc650dSSadaf Ebrahimi    \x{1111}\x{1111}L,L
1737*22dc650dSSadaf Ebrahimi    \x{1111}\x{1111}\x{1169}L,L,V
1738*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}L, LV
1739*22dc650dSSadaf Ebrahimi    \x{1111}\x{ad89}L, LVT
1740*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1169}L, LV, V
1741*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V
1742*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T
1743*22dc650dSSadaf Ebrahimi    \x{1111}\x{ad89}\x{11fe}L, LVT, T
1744*22dc650dSSadaf Ebrahimi    \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T
1745*22dc650dSSadaf Ebrahimi    \x{ad89}\x{11fe}\x{11fe}LVT, T, T
1746*22dc650dSSadaf Ebrahimi\= These match just the first codepoint (invalid sequence)
1747*22dc650dSSadaf Ebrahimi    \x{1111}\x{11fe}L, T
1748*22dc650dSSadaf Ebrahimi    \x{ae4c}\x{1111}LV, L
1749*22dc650dSSadaf Ebrahimi    \x{ae4c}\x{ae4c}LV, LV
1750*22dc650dSSadaf Ebrahimi    \x{ae4c}\x{ad89}LV, LVT
1751*22dc650dSSadaf Ebrahimi    \x{1169}\x{1111}V, L
1752*22dc650dSSadaf Ebrahimi    \x{1169}\x{ae4c}V, LV
1753*22dc650dSSadaf Ebrahimi    \x{1169}\x{ad89}V, LVT
1754*22dc650dSSadaf Ebrahimi    \x{ad89}\x{1111}LVT, L
1755*22dc650dSSadaf Ebrahimi    \x{ad89}\x{1169}LVT, V
1756*22dc650dSSadaf Ebrahimi    \x{ad89}\x{ae4c}LVT, LV
1757*22dc650dSSadaf Ebrahimi    \x{ad89}\x{ad89}LVT, LVT
1758*22dc650dSSadaf Ebrahimi    \x{11fe}\x{1111}T, L
1759*22dc650dSSadaf Ebrahimi    \x{11fe}\x{1169}T, V
1760*22dc650dSSadaf Ebrahimi    \x{11fe}\x{ae4c}T, LV
1761*22dc650dSSadaf Ebrahimi    \x{11fe}\x{ad89}T, LVT
1762*22dc650dSSadaf Ebrahimi\= Test extend and spacing mark
1763*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{0711}L, LV, extend
1764*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark
1765*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark
1766*22dc650dSSadaf Ebrahimi\= Test CR, LF, and control
1767*22dc650dSSadaf Ebrahimi    \x0d\x{0711}CR, extend
1768*22dc650dSSadaf Ebrahimi    \x0d\x{1b04}CR, spacingmark
1769*22dc650dSSadaf Ebrahimi    \x0a\x{0711}LF, extend
1770*22dc650dSSadaf Ebrahimi    \x0a\x{1b04}LF, spacingmark
1771*22dc650dSSadaf Ebrahimi    \x0b\x{0711}Control, extend
1772*22dc650dSSadaf Ebrahimi    \x09\x{1b04}Control, spacingmark
1773*22dc650dSSadaf Ebrahimi\= There are no Prepend characters, so we can't test Prepend, CR
1774*22dc650dSSadaf Ebrahimi
1775*22dc650dSSadaf Ebrahimi/^(?>\X{2})X/utf,aftertext
1776*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1777*22dc650dSSadaf Ebrahimi
1778*22dc650dSSadaf Ebrahimi/^\X{2,4}X/utf,aftertext
1779*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1780*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1781*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1782*22dc650dSSadaf Ebrahimi
1783*22dc650dSSadaf Ebrahimi/^\X{2,4}?X/utf,aftertext
1784*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1785*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1786*22dc650dSSadaf Ebrahimi    \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1787*22dc650dSSadaf Ebrahimi
1788*22dc650dSSadaf Ebrahimi/\x{1e9e}+/i,utf
1789*22dc650dSSadaf Ebrahimi    \x{1e9e}\x{00df}
1790*22dc650dSSadaf Ebrahimi
1791*22dc650dSSadaf Ebrahimi/[z\x{1e9e}]+/i,utf
1792*22dc650dSSadaf Ebrahimi    \x{1e9e}\x{00df}
1793*22dc650dSSadaf Ebrahimi
1794*22dc650dSSadaf Ebrahimi/\x{00df}+/i,utf
1795*22dc650dSSadaf Ebrahimi    \x{1e9e}\x{00df}
1796*22dc650dSSadaf Ebrahimi
1797*22dc650dSSadaf Ebrahimi/[z\x{00df}]+/i,utf
1798*22dc650dSSadaf Ebrahimi    \x{1e9e}\x{00df}
1799*22dc650dSSadaf Ebrahimi
1800*22dc650dSSadaf Ebrahimi/\x{1f88}+/i,utf
1801*22dc650dSSadaf Ebrahimi    \x{1f88}\x{1f80}
1802*22dc650dSSadaf Ebrahimi
1803*22dc650dSSadaf Ebrahimi/[z\x{1f88}]+/i,utf
1804*22dc650dSSadaf Ebrahimi    \x{1f88}\x{1f80}
1805*22dc650dSSadaf Ebrahimi
1806*22dc650dSSadaf Ebrahimi# Perl matches these
1807*22dc650dSSadaf Ebrahimi
1808*22dc650dSSadaf Ebrahimi/\x{00b5}+/i,utf
1809*22dc650dSSadaf Ebrahimi    \x{00b5}\x{039c}\x{03bc}
1810*22dc650dSSadaf Ebrahimi
1811*22dc650dSSadaf Ebrahimi/\x{039c}+/i,utf
1812*22dc650dSSadaf Ebrahimi    \x{00b5}\x{039c}\x{03bc}
1813*22dc650dSSadaf Ebrahimi
1814*22dc650dSSadaf Ebrahimi/\x{03bc}+/i,utf
1815*22dc650dSSadaf Ebrahimi    \x{00b5}\x{039c}\x{03bc}
1816*22dc650dSSadaf Ebrahimi
1817*22dc650dSSadaf Ebrahimi
1818*22dc650dSSadaf Ebrahimi/\x{00c5}+/i,utf
1819*22dc650dSSadaf Ebrahimi    \x{00c5}\x{00e5}\x{212b}
1820*22dc650dSSadaf Ebrahimi
1821*22dc650dSSadaf Ebrahimi/\x{00e5}+/i,utf
1822*22dc650dSSadaf Ebrahimi    \x{00c5}\x{00e5}\x{212b}
1823*22dc650dSSadaf Ebrahimi
1824*22dc650dSSadaf Ebrahimi/\x{212b}+/i,utf
1825*22dc650dSSadaf Ebrahimi    \x{00c5}\x{00e5}\x{212b}
1826*22dc650dSSadaf Ebrahimi
1827*22dc650dSSadaf Ebrahimi/\x{01c4}+/i,utf
1828*22dc650dSSadaf Ebrahimi    \x{01c4}\x{01c5}\x{01c6}
1829*22dc650dSSadaf Ebrahimi
1830*22dc650dSSadaf Ebrahimi/\x{01c5}+/i,utf
1831*22dc650dSSadaf Ebrahimi    \x{01c4}\x{01c5}\x{01c6}
1832*22dc650dSSadaf Ebrahimi
1833*22dc650dSSadaf Ebrahimi/\x{01c6}+/i,utf
1834*22dc650dSSadaf Ebrahimi    \x{01c4}\x{01c5}\x{01c6}
1835*22dc650dSSadaf Ebrahimi
1836*22dc650dSSadaf Ebrahimi/\x{01c7}+/i,utf
1837*22dc650dSSadaf Ebrahimi    \x{01c7}\x{01c8}\x{01c9}
1838*22dc650dSSadaf Ebrahimi
1839*22dc650dSSadaf Ebrahimi/\x{01c8}+/i,utf
1840*22dc650dSSadaf Ebrahimi    \x{01c7}\x{01c8}\x{01c9}
1841*22dc650dSSadaf Ebrahimi
1842*22dc650dSSadaf Ebrahimi/\x{01c9}+/i,utf
1843*22dc650dSSadaf Ebrahimi    \x{01c7}\x{01c8}\x{01c9}
1844*22dc650dSSadaf Ebrahimi
1845*22dc650dSSadaf Ebrahimi
1846*22dc650dSSadaf Ebrahimi/\x{01ca}+/i,utf
1847*22dc650dSSadaf Ebrahimi    \x{01ca}\x{01cb}\x{01cc}
1848*22dc650dSSadaf Ebrahimi
1849*22dc650dSSadaf Ebrahimi/\x{01cb}+/i,utf
1850*22dc650dSSadaf Ebrahimi    \x{01ca}\x{01cb}\x{01cc}
1851*22dc650dSSadaf Ebrahimi
1852*22dc650dSSadaf Ebrahimi/\x{01cc}+/i,utf
1853*22dc650dSSadaf Ebrahimi    \x{01ca}\x{01cb}\x{01cc}
1854*22dc650dSSadaf Ebrahimi
1855*22dc650dSSadaf Ebrahimi/\x{01f1}+/i,utf
1856*22dc650dSSadaf Ebrahimi    \x{01f1}\x{01f2}\x{01f3}
1857*22dc650dSSadaf Ebrahimi
1858*22dc650dSSadaf Ebrahimi/\x{01f2}+/i,utf
1859*22dc650dSSadaf Ebrahimi    \x{01f1}\x{01f2}\x{01f3}
1860*22dc650dSSadaf Ebrahimi
1861*22dc650dSSadaf Ebrahimi/\x{01f3}+/i,utf
1862*22dc650dSSadaf Ebrahimi    \x{01f1}\x{01f2}\x{01f3}
1863*22dc650dSSadaf Ebrahimi
1864*22dc650dSSadaf Ebrahimi/\x{0345}+/i,utf
1865*22dc650dSSadaf Ebrahimi    \x{0345}\x{0399}\x{03b9}\x{1fbe}
1866*22dc650dSSadaf Ebrahimi
1867*22dc650dSSadaf Ebrahimi/\x{0399}+/i,utf
1868*22dc650dSSadaf Ebrahimi    \x{0345}\x{0399}\x{03b9}\x{1fbe}
1869*22dc650dSSadaf Ebrahimi
1870*22dc650dSSadaf Ebrahimi/\x{03b9}+/i,utf
1871*22dc650dSSadaf Ebrahimi    \x{0345}\x{0399}\x{03b9}\x{1fbe}
1872*22dc650dSSadaf Ebrahimi
1873*22dc650dSSadaf Ebrahimi/\x{1fbe}+/i,utf
1874*22dc650dSSadaf Ebrahimi    \x{0345}\x{0399}\x{03b9}\x{1fbe}
1875*22dc650dSSadaf Ebrahimi
1876*22dc650dSSadaf Ebrahimi/\x{0392}+/i,utf
1877*22dc650dSSadaf Ebrahimi    \x{0392}\x{03b2}\x{03d0}
1878*22dc650dSSadaf Ebrahimi
1879*22dc650dSSadaf Ebrahimi/\x{03b2}+/i,utf
1880*22dc650dSSadaf Ebrahimi    \x{0392}\x{03b2}\x{03d0}
1881*22dc650dSSadaf Ebrahimi
1882*22dc650dSSadaf Ebrahimi/\x{03d0}+/i,utf
1883*22dc650dSSadaf Ebrahimi    \x{0392}\x{03b2}\x{03d0}
1884*22dc650dSSadaf Ebrahimi
1885*22dc650dSSadaf Ebrahimi
1886*22dc650dSSadaf Ebrahimi/\x{0395}+/i,utf
1887*22dc650dSSadaf Ebrahimi    \x{0395}\x{03b5}\x{03f5}
1888*22dc650dSSadaf Ebrahimi
1889*22dc650dSSadaf Ebrahimi/\x{03b5}+/i,utf
1890*22dc650dSSadaf Ebrahimi    \x{0395}\x{03b5}\x{03f5}
1891*22dc650dSSadaf Ebrahimi
1892*22dc650dSSadaf Ebrahimi/\x{03f5}+/i,utf
1893*22dc650dSSadaf Ebrahimi    \x{0395}\x{03b5}\x{03f5}
1894*22dc650dSSadaf Ebrahimi
1895*22dc650dSSadaf Ebrahimi/\x{0398}+/i,utf
1896*22dc650dSSadaf Ebrahimi    \x{0398}\x{03b8}\x{03d1}\x{03f4}
1897*22dc650dSSadaf Ebrahimi
1898*22dc650dSSadaf Ebrahimi/\x{03b8}+/i,utf
1899*22dc650dSSadaf Ebrahimi    \x{0398}\x{03b8}\x{03d1}\x{03f4}
1900*22dc650dSSadaf Ebrahimi
1901*22dc650dSSadaf Ebrahimi/\x{03d1}+/i,utf
1902*22dc650dSSadaf Ebrahimi    \x{0398}\x{03b8}\x{03d1}\x{03f4}
1903*22dc650dSSadaf Ebrahimi
1904*22dc650dSSadaf Ebrahimi/\x{03f4}+/i,utf
1905*22dc650dSSadaf Ebrahimi    \x{0398}\x{03b8}\x{03d1}\x{03f4}
1906*22dc650dSSadaf Ebrahimi
1907*22dc650dSSadaf Ebrahimi/\x{039a}+/i,utf
1908*22dc650dSSadaf Ebrahimi    \x{039a}\x{03ba}\x{03f0}
1909*22dc650dSSadaf Ebrahimi
1910*22dc650dSSadaf Ebrahimi/\x{03ba}+/i,utf
1911*22dc650dSSadaf Ebrahimi    \x{039a}\x{03ba}\x{03f0}
1912*22dc650dSSadaf Ebrahimi
1913*22dc650dSSadaf Ebrahimi/\x{03f0}+/i,utf
1914*22dc650dSSadaf Ebrahimi    \x{039a}\x{03ba}\x{03f0}
1915*22dc650dSSadaf Ebrahimi
1916*22dc650dSSadaf Ebrahimi/\x{03a0}+/i,utf
1917*22dc650dSSadaf Ebrahimi    \x{03a0}\x{03c0}\x{03d6}
1918*22dc650dSSadaf Ebrahimi
1919*22dc650dSSadaf Ebrahimi/\x{03c0}+/i,utf
1920*22dc650dSSadaf Ebrahimi    \x{03a0}\x{03c0}\x{03d6}
1921*22dc650dSSadaf Ebrahimi
1922*22dc650dSSadaf Ebrahimi/\x{03d6}+/i,utf
1923*22dc650dSSadaf Ebrahimi    \x{03a0}\x{03c0}\x{03d6}
1924*22dc650dSSadaf Ebrahimi
1925*22dc650dSSadaf Ebrahimi/\x{03a1}+/i,utf
1926*22dc650dSSadaf Ebrahimi    \x{03a1}\x{03c1}\x{03f1}
1927*22dc650dSSadaf Ebrahimi
1928*22dc650dSSadaf Ebrahimi/\x{03c1}+/i,utf
1929*22dc650dSSadaf Ebrahimi    \x{03a1}\x{03c1}\x{03f1}
1930*22dc650dSSadaf Ebrahimi
1931*22dc650dSSadaf Ebrahimi/\x{03f1}+/i,utf
1932*22dc650dSSadaf Ebrahimi    \x{03a1}\x{03c1}\x{03f1}
1933*22dc650dSSadaf Ebrahimi
1934*22dc650dSSadaf Ebrahimi/\x{03a3}+/i,utf
1935*22dc650dSSadaf Ebrahimi    \x{03A3}\x{03C2}\x{03C3}
1936*22dc650dSSadaf Ebrahimi
1937*22dc650dSSadaf Ebrahimi/\x{03c2}+/i,utf
1938*22dc650dSSadaf Ebrahimi    \x{03A3}\x{03C2}\x{03C3}
1939*22dc650dSSadaf Ebrahimi
1940*22dc650dSSadaf Ebrahimi/\x{03c3}+/i,utf
1941*22dc650dSSadaf Ebrahimi    \x{03A3}\x{03C2}\x{03C3}
1942*22dc650dSSadaf Ebrahimi
1943*22dc650dSSadaf Ebrahimi/\x{03a6}+/i,utf
1944*22dc650dSSadaf Ebrahimi    \x{03a6}\x{03c6}\x{03d5}
1945*22dc650dSSadaf Ebrahimi
1946*22dc650dSSadaf Ebrahimi/\x{03c6}+/i,utf
1947*22dc650dSSadaf Ebrahimi    \x{03a6}\x{03c6}\x{03d5}
1948*22dc650dSSadaf Ebrahimi
1949*22dc650dSSadaf Ebrahimi/\x{03d5}+/i,utf
1950*22dc650dSSadaf Ebrahimi    \x{03a6}\x{03c6}\x{03d5}
1951*22dc650dSSadaf Ebrahimi
1952*22dc650dSSadaf Ebrahimi/\x{03c9}+/i,utf
1953*22dc650dSSadaf Ebrahimi    \x{03c9}\x{03a9}\x{2126}
1954*22dc650dSSadaf Ebrahimi
1955*22dc650dSSadaf Ebrahimi/\x{03a9}+/i,utf
1956*22dc650dSSadaf Ebrahimi    \x{03c9}\x{03a9}\x{2126}
1957*22dc650dSSadaf Ebrahimi
1958*22dc650dSSadaf Ebrahimi/\x{2126}+/i,utf
1959*22dc650dSSadaf Ebrahimi    \x{03c9}\x{03a9}\x{2126}
1960*22dc650dSSadaf Ebrahimi
1961*22dc650dSSadaf Ebrahimi/\x{1e60}+/i,utf
1962*22dc650dSSadaf Ebrahimi    \x{1e60}\x{1e61}\x{1e9b}
1963*22dc650dSSadaf Ebrahimi
1964*22dc650dSSadaf Ebrahimi/\x{1e61}+/i,utf
1965*22dc650dSSadaf Ebrahimi    \x{1e60}\x{1e61}\x{1e9b}
1966*22dc650dSSadaf Ebrahimi
1967*22dc650dSSadaf Ebrahimi/\x{1e9b}+/i,utf
1968*22dc650dSSadaf Ebrahimi    \x{1e60}\x{1e61}\x{1e9b}
1969*22dc650dSSadaf Ebrahimi
1970*22dc650dSSadaf Ebrahimi/\x{1e9e}+/i,utf
1971*22dc650dSSadaf Ebrahimi    \x{1e9e}\x{00df}
1972*22dc650dSSadaf Ebrahimi
1973*22dc650dSSadaf Ebrahimi/\x{00df}+/i,utf
1974*22dc650dSSadaf Ebrahimi    \x{1e9e}\x{00df}
1975*22dc650dSSadaf Ebrahimi
1976*22dc650dSSadaf Ebrahimi/\x{1f88}+/i,utf
1977*22dc650dSSadaf Ebrahimi    \x{1f88}\x{1f80}
1978*22dc650dSSadaf Ebrahimi
1979*22dc650dSSadaf Ebrahimi/\x{1f80}+/i,utf
1980*22dc650dSSadaf Ebrahimi    \x{1f88}\x{1f80}
1981*22dc650dSSadaf Ebrahimi
1982*22dc650dSSadaf Ebrahimi/\x{004b}+/i,utf
1983*22dc650dSSadaf Ebrahimi    \x{004b}\x{006b}\x{212a}
1984*22dc650dSSadaf Ebrahimi
1985*22dc650dSSadaf Ebrahimi/\x{006b}+/i,utf
1986*22dc650dSSadaf Ebrahimi    \x{004b}\x{006b}\x{212a}
1987*22dc650dSSadaf Ebrahimi
1988*22dc650dSSadaf Ebrahimi/\x{212a}+/i,utf
1989*22dc650dSSadaf Ebrahimi    \x{004b}\x{006b}\x{212a}
1990*22dc650dSSadaf Ebrahimi
1991*22dc650dSSadaf Ebrahimi/\x{0053}+/i,utf
1992*22dc650dSSadaf Ebrahimi    \x{0053}\x{0073}\x{017f}
1993*22dc650dSSadaf Ebrahimi
1994*22dc650dSSadaf Ebrahimi/\x{0073}+/i,utf
1995*22dc650dSSadaf Ebrahimi    \x{0053}\x{0073}\x{017f}
1996*22dc650dSSadaf Ebrahimi
1997*22dc650dSSadaf Ebrahimi/\x{017f}+/i,utf
1998*22dc650dSSadaf Ebrahimi    \x{0053}\x{0073}\x{017f}
1999*22dc650dSSadaf Ebrahimi
2000*22dc650dSSadaf Ebrahimi/ist/i,utf
2001*22dc650dSSadaf Ebrahimi\= Expect no match
2002*22dc650dSSadaf Ebrahimi    ikt
2003*22dc650dSSadaf Ebrahimi
2004*22dc650dSSadaf Ebrahimi/is+t/i,utf
2005*22dc650dSSadaf Ebrahimi    iSs\x{17f}t
2006*22dc650dSSadaf Ebrahimi\= Expect no match
2007*22dc650dSSadaf Ebrahimi    ikt
2008*22dc650dSSadaf Ebrahimi
2009*22dc650dSSadaf Ebrahimi/is+?t/i,utf
2010*22dc650dSSadaf Ebrahimi\= Expect no match
2011*22dc650dSSadaf Ebrahimi    ikt
2012*22dc650dSSadaf Ebrahimi
2013*22dc650dSSadaf Ebrahimi/is?t/i,utf
2014*22dc650dSSadaf Ebrahimi\= Expect no match
2015*22dc650dSSadaf Ebrahimi    ikt
2016*22dc650dSSadaf Ebrahimi
2017*22dc650dSSadaf Ebrahimi/is{2}t/i,utf
2018*22dc650dSSadaf Ebrahimi\= Expect no match
2019*22dc650dSSadaf Ebrahimi    iskt
2020*22dc650dSSadaf Ebrahimi
2021*22dc650dSSadaf Ebrahimi/^\p{Xuc}/utf
2022*22dc650dSSadaf Ebrahimi    $abc
2023*22dc650dSSadaf Ebrahimi    @abc
2024*22dc650dSSadaf Ebrahimi    `abc
2025*22dc650dSSadaf Ebrahimi    \x{1234}abc
2026*22dc650dSSadaf Ebrahimi\= Expect no match
2027*22dc650dSSadaf Ebrahimi    abc
2028*22dc650dSSadaf Ebrahimi
2029*22dc650dSSadaf Ebrahimi/^\p{Xuc}+/utf
2030*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
2031*22dc650dSSadaf Ebrahimi\= Expect no match
2032*22dc650dSSadaf Ebrahimi    \x{9f}
2033*22dc650dSSadaf Ebrahimi
2034*22dc650dSSadaf Ebrahimi/^\p{Xuc}+?/utf
2035*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
2036*22dc650dSSadaf Ebrahimi\= Expect no match
2037*22dc650dSSadaf Ebrahimi    \x{9f}
2038*22dc650dSSadaf Ebrahimi
2039*22dc650dSSadaf Ebrahimi/^\p{Xuc}+?\*/utf
2040*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
2041*22dc650dSSadaf Ebrahimi\= Expect no match
2042*22dc650dSSadaf Ebrahimi    \x{9f}
2043*22dc650dSSadaf Ebrahimi
2044*22dc650dSSadaf Ebrahimi/^\p{Xuc}++/utf
2045*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
2046*22dc650dSSadaf Ebrahimi\= Expect no match
2047*22dc650dSSadaf Ebrahimi    \x{9f}
2048*22dc650dSSadaf Ebrahimi
2049*22dc650dSSadaf Ebrahimi/^\p{Xuc}{3,5}/utf
2050*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
2051*22dc650dSSadaf Ebrahimi\= Expect no match
2052*22dc650dSSadaf Ebrahimi    \x{9f}
2053*22dc650dSSadaf Ebrahimi
2054*22dc650dSSadaf Ebrahimi/^\p{Xuc}{3,5}?/utf
2055*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
2056*22dc650dSSadaf Ebrahimi\= Expect no match
2057*22dc650dSSadaf Ebrahimi    \x{9f}
2058*22dc650dSSadaf Ebrahimi
2059*22dc650dSSadaf Ebrahimi/^[\p{Xuc}]/utf
2060*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
2061*22dc650dSSadaf Ebrahimi\= Expect no match
2062*22dc650dSSadaf Ebrahimi    \x{9f}
2063*22dc650dSSadaf Ebrahimi
2064*22dc650dSSadaf Ebrahimi/^[\p{Xuc}]+/utf
2065*22dc650dSSadaf Ebrahimi    $@`\x{a0}\x{1234}\x{e000}**
2066*22dc650dSSadaf Ebrahimi\= Expect no match
2067*22dc650dSSadaf Ebrahimi    \x{9f}
2068*22dc650dSSadaf Ebrahimi
2069*22dc650dSSadaf Ebrahimi/^\P{Xuc}/utf
2070*22dc650dSSadaf Ebrahimi    abc
2071*22dc650dSSadaf Ebrahimi\= Expect no match
2072*22dc650dSSadaf Ebrahimi    $abc
2073*22dc650dSSadaf Ebrahimi    @abc
2074*22dc650dSSadaf Ebrahimi    `abc
2075*22dc650dSSadaf Ebrahimi    \x{1234}abc
2076*22dc650dSSadaf Ebrahimi
2077*22dc650dSSadaf Ebrahimi/^[\P{Xuc}]/utf
2078*22dc650dSSadaf Ebrahimi    abc
2079*22dc650dSSadaf Ebrahimi\= Expect no match
2080*22dc650dSSadaf Ebrahimi    $abc
2081*22dc650dSSadaf Ebrahimi    @abc
2082*22dc650dSSadaf Ebrahimi    `abc
2083*22dc650dSSadaf Ebrahimi    \x{1234}abc
2084*22dc650dSSadaf Ebrahimi
2085*22dc650dSSadaf Ebrahimi/^A\s+Z/utf,ucp
2086*22dc650dSSadaf Ebrahimi    A\x{2005}Z
2087*22dc650dSSadaf Ebrahimi    A\x{85}\x{180e}\x{2005}Z
2088*22dc650dSSadaf Ebrahimi
2089*22dc650dSSadaf Ebrahimi/^A[\s]+Z/utf,ucp
2090*22dc650dSSadaf Ebrahimi    A\x{2005}Z
2091*22dc650dSSadaf Ebrahimi    A\x{85}\x{180e}\x{2005}Z
2092*22dc650dSSadaf Ebrahimi
2093*22dc650dSSadaf Ebrahimi/(?<=\x{100})\x{200}(?=\x{300})/utf,allusedtext
2094*22dc650dSSadaf Ebrahimi    \x{100}\x{200}\x{300}
2095*22dc650dSSadaf Ebrahimi
2096*22dc650dSSadaf Ebrahimi# -----------------------------------------------------------------------------
2097*22dc650dSSadaf Ebrahimi# Tests for bidi control and bidi class properties
2098*22dc650dSSadaf Ebrahimi
2099*22dc650dSSadaf Ebrahimi/\p{ bidi_control }/utf
2100*22dc650dSSadaf Ebrahimi    -->\x{202c}<--
2101*22dc650dSSadaf Ebrahimi
2102*22dc650dSSadaf Ebrahimi/\p{bidicontrol}+/utf
2103*22dc650dSSadaf Ebrahimi    -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<--
2104*22dc650dSSadaf Ebrahimi    -->\x{2066}\x{2067}\x{2068}\x{2069}<--
2105*22dc650dSSadaf Ebrahimi
2106*22dc650dSSadaf Ebrahimi/\p{bidicontrol}+?/utf
2107*22dc650dSSadaf Ebrahimi    -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<--
2108*22dc650dSSadaf Ebrahimi    -->\x{2066}\x{2067}\x{2068}\x{2069}<--
2109*22dc650dSSadaf Ebrahimi
2110*22dc650dSSadaf Ebrahimi/\p{bidicontrol}++/utf
2111*22dc650dSSadaf Ebrahimi    -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<--
2112*22dc650dSSadaf Ebrahimi    -->\x{2066}\x{2067}\x{2068}\x{2069}<--
2113*22dc650dSSadaf Ebrahimi
2114*22dc650dSSadaf Ebrahimi/[\p{bidi_control}]/utf
2115*22dc650dSSadaf Ebrahimi    -->\x{202c}<--
2116*22dc650dSSadaf Ebrahimi
2117*22dc650dSSadaf Ebrahimi/[\p{bidicontrol}]+/utf
2118*22dc650dSSadaf Ebrahimi    -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<--
2119*22dc650dSSadaf Ebrahimi    -->\x{2066}\x{2067}\x{2068}\x{2069}<--
2120*22dc650dSSadaf Ebrahimi
2121*22dc650dSSadaf Ebrahimi/[\p{bidicontrol}]+?/utf
2122*22dc650dSSadaf Ebrahimi    -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<--
2123*22dc650dSSadaf Ebrahimi    -->\x{2066}\x{2067}\x{2068}\x{2069}<--
2124*22dc650dSSadaf Ebrahimi
2125*22dc650dSSadaf Ebrahimi/[\p{bidicontrol}]++/utf
2126*22dc650dSSadaf Ebrahimi    -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<--
2127*22dc650dSSadaf Ebrahimi    -->\x{2066}\x{2067}\x{2068}\x{2069}<--
2128*22dc650dSSadaf Ebrahimi
2129*22dc650dSSadaf Ebrahimi/[\p{bidicontrol}<>]+/utf
2130*22dc650dSSadaf Ebrahimi    -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<--
2131*22dc650dSSadaf Ebrahimi    -->\x{2066}\x{2067}\x{2068}\x{2069}<--
2132*22dc650dSSadaf Ebrahimi
2133*22dc650dSSadaf Ebrahimi/\P{bidicontrol}+/g,utf
2134*22dc650dSSadaf Ebrahimi    -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<--
2135*22dc650dSSadaf Ebrahimi    -->\x{2066}\x{2067}\x{2068}\x{2069}<--
2136*22dc650dSSadaf Ebrahimi
2137*22dc650dSSadaf Ebrahimi/\p{^bidicontrol}+/g,utf
2138*22dc650dSSadaf Ebrahimi    -->\x{061c}\x{200e}\x{200f}\x{202a}\x{202b}\x{202c}\x{202d}<--
2139*22dc650dSSadaf Ebrahimi    -->\x{2066}\x{2067}\x{2068}\x{2069}<--
2140*22dc650dSSadaf Ebrahimi
2141*22dc650dSSadaf Ebrahimi/\p{bidi class = al}/utf
2142*22dc650dSSadaf Ebrahimi    -->\x{061D}<--
2143*22dc650dSSadaf Ebrahimi
2144*22dc650dSSadaf Ebrahimi/\p{bidi class = al}+/utf
2145*22dc650dSSadaf Ebrahimi    -->\x{061D}\x{061e}\x{061f}<--
2146*22dc650dSSadaf Ebrahimi
2147*22dc650dSSadaf Ebrahimi/\p{bidi_class : AL}+?/utf
2148*22dc650dSSadaf Ebrahimi    -->\x{061D}\x{061e}\x{061f}<--
2149*22dc650dSSadaf Ebrahimi
2150*22dc650dSSadaf Ebrahimi/\p{Bidi_Class : AL}++/utf
2151*22dc650dSSadaf Ebrahimi    -->\x{061D}\x{061e}\x{061f}<--
2152*22dc650dSSadaf Ebrahimi
2153*22dc650dSSadaf Ebrahimi/\p{bidi class = aN}+/utf
2154*22dc650dSSadaf Ebrahimi    -->\x{061D}\x{0602}\x{0604}\x{061f}<--
2155*22dc650dSSadaf Ebrahimi
2156*22dc650dSSadaf Ebrahimi/\p{bidi class = B}+/utf
2157*22dc650dSSadaf Ebrahimi    -->\x{0a}\x{0d}\x{01c}\x{01e}\x{085}\x{2029}<--
2158*22dc650dSSadaf Ebrahimi
2159*22dc650dSSadaf Ebrahimi/\p{bidi class:BN}+/utf
2160*22dc650dSSadaf Ebrahimi    -->\x{0}\x{08}\x{200c}\x{fffe}\x{dfffe}\x{10ffff}<--
2161*22dc650dSSadaf Ebrahimi
2162*22dc650dSSadaf Ebrahimi/\p{bidiclass:cs}+/utf
2163*22dc650dSSadaf Ebrahimi    -->,.\x{060c}\x{ff1a}<--
2164*22dc650dSSadaf Ebrahimi
2165*22dc650dSSadaf Ebrahimi/\p{bidiclass:En}+/utf
2166*22dc650dSSadaf Ebrahimi    -->09\x{b2}\x{2074}\x{1fbf9}<--
2167*22dc650dSSadaf Ebrahimi
2168*22dc650dSSadaf Ebrahimi/\p{bidiclass:es}+/utf
2169*22dc650dSSadaf Ebrahimi    ==>+-\x{207a}\x{ff0d}<==
2170*22dc650dSSadaf Ebrahimi
2171*22dc650dSSadaf Ebrahimi/\p{bidiclass:et}+/utf
2172*22dc650dSSadaf Ebrahimi    -->#\{24}%\x{a2}\x{A838}\x{1e2ff}<--
2173*22dc650dSSadaf Ebrahimi
2174*22dc650dSSadaf Ebrahimi/\p{bidiclass:FSI}+/utf
2175*22dc650dSSadaf Ebrahimi    -->\x{2068}<--
2176*22dc650dSSadaf Ebrahimi
2177*22dc650dSSadaf Ebrahimi/\p{bidi class:L}+/utf
2178*22dc650dSSadaf Ebrahimi    -->ABC<--
2179*22dc650dSSadaf Ebrahimi
2180*22dc650dSSadaf Ebrahimi/\P{bidi class:L}+/utf
2181*22dc650dSSadaf Ebrahimi    -->ABC<--
2182*22dc650dSSadaf Ebrahimi
2183*22dc650dSSadaf Ebrahimi/\p{bidi class:LRE}+\p{bidiclass=lri}*\p{bidiclass:lro}/utf
2184*22dc650dSSadaf Ebrahimi    -->\x{202a}\x{2066}\x{202d}<--
2185*22dc650dSSadaf Ebrahimi
2186*22dc650dSSadaf Ebrahimi/\p{bidi class:NSM}+/utf
2187*22dc650dSSadaf Ebrahimi    -->\x{9bc}\x{a71}\x{e31}<--
2188*22dc650dSSadaf Ebrahimi
2189*22dc650dSSadaf Ebrahimi/\p{bidi class:ON}+/utf
2190*22dc650dSSadaf Ebrahimi    -->\x{21}'()*;@\x{384}\x{2039}<=-
2191*22dc650dSSadaf Ebrahimi
2192*22dc650dSSadaf Ebrahimi/\p{bidiclass:pdf}\p{bidiclass:pdi}/utf
2193*22dc650dSSadaf Ebrahimi    -->\x{202c}\x{2069}<--
2194*22dc650dSSadaf Ebrahimi
2195*22dc650dSSadaf Ebrahimi/\p{bidi class:R}+/utf
2196*22dc650dSSadaf Ebrahimi    -->\x{590}\x{5c6}\x{200f}\x{10805}<--
2197*22dc650dSSadaf Ebrahimi
2198*22dc650dSSadaf Ebrahimi/\p{bidi class:RLE}+\p{bidi class:RLI}*\p{bidi class:RLO}+/utf
2199*22dc650dSSadaf Ebrahimi    -->\x{202b}\x{2067}\x{202e}<--
2200*22dc650dSSadaf Ebrahimi
2201*22dc650dSSadaf Ebrahimi/\p{bidi class:S}+\p{bidiclass:WS}+/utf
2202*22dc650dSSadaf Ebrahimi    -->\x{9}\x{b}\x{1f}  \x{c} \x{2000} \x{3000}<--
2203*22dc650dSSadaf Ebrahimi
2204*22dc650dSSadaf Ebrahimi# -----------------------------------------------------------------------------
2205*22dc650dSSadaf Ebrahimi
2206*22dc650dSSadaf Ebrahimi/\p{katakana}/utf
2207*22dc650dSSadaf Ebrahimi    \x{30a1}
2208*22dc650dSSadaf Ebrahimi    \x{3001}
2209*22dc650dSSadaf Ebrahimi
2210*22dc650dSSadaf Ebrahimi/\p{scx:katakana}/utf
2211*22dc650dSSadaf Ebrahimi    \x{30a1}
2212*22dc650dSSadaf Ebrahimi    \x{3001}
2213*22dc650dSSadaf Ebrahimi
2214*22dc650dSSadaf Ebrahimi/\p{script extensions:katakana}/utf
2215*22dc650dSSadaf Ebrahimi    \x{30a1}
2216*22dc650dSSadaf Ebrahimi    \x{3001}
2217*22dc650dSSadaf Ebrahimi
2218*22dc650dSSadaf Ebrahimi/\p{sc:katakana}/utf
2219*22dc650dSSadaf Ebrahimi    \x{30a1}
2220*22dc650dSSadaf Ebrahimi\= Expect no match
2221*22dc650dSSadaf Ebrahimi    \x{3001}
2222*22dc650dSSadaf Ebrahimi
2223*22dc650dSSadaf Ebrahimi/\p{script:katakana}/utf
2224*22dc650dSSadaf Ebrahimi    \x{30a1}
2225*22dc650dSSadaf Ebrahimi\= Expect no match
2226*22dc650dSSadaf Ebrahimi    \x{3001}
2227*22dc650dSSadaf Ebrahimi
2228*22dc650dSSadaf Ebrahimi/\p{sc:katakana}{3,}/utf
2229*22dc650dSSadaf Ebrahimi    \x{30a1}\x{30fa}\x{32d0}\x{1b122}\x{ff66}\x{3001}ABC
2230*22dc650dSSadaf Ebrahimi
2231*22dc650dSSadaf Ebrahimi/\p{sc:katakana}{3,}?/utf
2232*22dc650dSSadaf Ebrahimi    \x{30a1}\x{30fa}\x{32d0}\x{1b122}\x{ff66}\x{3001}ABC
2233*22dc650dSSadaf Ebrahimi
2234*22dc650dSSadaf Ebrahimi# Tests for PCRE2_EXTRA_CASELESS_RESTRICT. Compare each test with and without
2235*22dc650dSSadaf Ebrahimi# the restriction.
2236*22dc650dSSadaf Ebrahimi
2237*22dc650dSSadaf Ebrahimi/AskZ/i,utf,caseless_restrict
2238*22dc650dSSadaf Ebrahimi    AskZ
2239*22dc650dSSadaf Ebrahimi    aSKz
2240*22dc650dSSadaf Ebrahimi\= Expect no match
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/A\x{17f}\x{212a}Z/ir,utf
2251*22dc650dSSadaf Ebrahimi    \= Expect no match
2252*22dc650dSSadaf Ebrahimi    AskZ
2253*22dc650dSSadaf Ebrahimi
2254*22dc650dSSadaf Ebrahimi/A\x{17f}\x{212a}Z/i,utf
2255*22dc650dSSadaf Ebrahimi    AskZ
2256*22dc650dSSadaf Ebrahimi
2257*22dc650dSSadaf Ebrahimi/[AskZ]+/i,utf,caseless_restrict
2258*22dc650dSSadaf Ebrahimi    AskZ
2259*22dc650dSSadaf Ebrahimi    aSKz
2260*22dc650dSSadaf Ebrahimi    A\x{17f}kZ
2261*22dc650dSSadaf Ebrahimi    As\x{212a}Z
2262*22dc650dSSadaf Ebrahimi
2263*22dc650dSSadaf Ebrahimi/[AskZ]+/i,utf
2264*22dc650dSSadaf Ebrahimi    AskZ
2265*22dc650dSSadaf Ebrahimi    aSKz
2266*22dc650dSSadaf Ebrahimi    A\x{17f}kZ
2267*22dc650dSSadaf Ebrahimi    As\x{212a}Z
2268*22dc650dSSadaf Ebrahimi
2269*22dc650dSSadaf Ebrahimi/[\x{17f}\x{212a}]+/ir,utf
2270*22dc650dSSadaf Ebrahimi\= Expect no match
2271*22dc650dSSadaf Ebrahimi    AskZ
2272*22dc650dSSadaf Ebrahimi
2273*22dc650dSSadaf Ebrahimi/[\x{17f}\x{212a}]+/i,utf
2274*22dc650dSSadaf Ebrahimi    AskZ
2275*22dc650dSSadaf Ebrahimi
2276*22dc650dSSadaf Ebrahimi/[^s]+/ir,utf
2277*22dc650dSSadaf Ebrahimi    A\x{17f}Z
2278*22dc650dSSadaf Ebrahimi
2279*22dc650dSSadaf Ebrahimi/[^s]+/i,utf
2280*22dc650dSSadaf Ebrahimi    A\x{17f}Z
2281*22dc650dSSadaf Ebrahimi
2282*22dc650dSSadaf Ebrahimi/[^k]+/ir,utf
2283*22dc650dSSadaf Ebrahimi    A\x{212a}Z
2284*22dc650dSSadaf Ebrahimi
2285*22dc650dSSadaf Ebrahimi/[^k]+/i,utf
2286*22dc650dSSadaf Ebrahimi    A\x{212a}Z
2287*22dc650dSSadaf Ebrahimi
2288*22dc650dSSadaf Ebrahimi/[^sk]+/ir,utf
2289*22dc650dSSadaf Ebrahimi    A\x{17f}\x{212a}Z
2290*22dc650dSSadaf Ebrahimi
2291*22dc650dSSadaf Ebrahimi/[^sk]+/i,utf
2292*22dc650dSSadaf Ebrahimi    A\x{17f}\x{212a}Z
2293*22dc650dSSadaf Ebrahimi
2294*22dc650dSSadaf Ebrahimi/[^\x{17f}]+/ir,utf
2295*22dc650dSSadaf Ebrahimi    AsSZ
2296*22dc650dSSadaf Ebrahimi
2297*22dc650dSSadaf Ebrahimi/[^\x{17f}]+/i,utf
2298*22dc650dSSadaf Ebrahimi    AsSZ
2299*22dc650dSSadaf Ebrahimi
2300*22dc650dSSadaf Ebrahimi/[Ss]+/irB,utf
2301*22dc650dSSadaf Ebrahimi    Sss\x{17f}ss
2302*22dc650dSSadaf Ebrahimi
2303*22dc650dSSadaf Ebrahimi/[Ss]+/iB,utf
2304*22dc650dSSadaf Ebrahimi    Sss\x{17f}ss
2305*22dc650dSSadaf Ebrahimi
2306*22dc650dSSadaf Ebrahimi/[S\x{17f}]/irB,utf
2307*22dc650dSSadaf Ebrahimi
2308*22dc650dSSadaf Ebrahimi/[S\x{17f}]/iB,utf
2309*22dc650dSSadaf Ebrahimi
2310*22dc650dSSadaf Ebrahimi/[\x{17f}s]/irB,utf
2311*22dc650dSSadaf Ebrahimi
2312*22dc650dSSadaf Ebrahimi/[\x{17f}s]/iB,utf
2313*22dc650dSSadaf Ebrahimi
2314*22dc650dSSadaf Ebrahimi/[\x{4b}\x{6b}]/irB,utf
2315*22dc650dSSadaf Ebrahimi
2316*22dc650dSSadaf Ebrahimi/[\x{4b}\x{6b}]/iB,utf
2317*22dc650dSSadaf Ebrahimi
2318*22dc650dSSadaf Ebrahimi/s(?r)s(?-r)s(?r:s)s/i,utf
2319*22dc650dSSadaf Ebrahimi    \x{17f}S\x{17f}S\x{17f}
2320*22dc650dSSadaf Ebrahimi\= Expect no match
2321*22dc650dSSadaf Ebrahimi    \x{17f}\x{17f}\x{17f}S\x{17f}
2322*22dc650dSSadaf Ebrahimi    \x{17f}S\x{17f}\x{17f}\x{17f}
2323*22dc650dSSadaf Ebrahimi
2324*22dc650dSSadaf Ebrahimi/k(?^i)k/ir,utf
2325*22dc650dSSadaf Ebrahimi    K\x{212a}
2326*22dc650dSSadaf Ebrahimi\= Expect no match
2327*22dc650dSSadaf Ebrahimi    \x{212a}\x{212a}
2328*22dc650dSSadaf Ebrahimi
2329*22dc650dSSadaf Ebrahimi# End caseless restrict tests
2330*22dc650dSSadaf Ebrahimi
2331*22dc650dSSadaf Ebrahimi# TESTS for PCRE2_EXTRA_ASCII_xxx - again, tests with and without.
2332*22dc650dSSadaf Ebrahimi
2333*22dc650dSSadaf Ebrahimi# DIGITS
2334*22dc650dSSadaf Ebrahimi
2335*22dc650dSSadaf Ebrahimi/\d+/i,utf
2336*22dc650dSSadaf Ebrahimi    123\x{660}456
2337*22dc650dSSadaf Ebrahimi
2338*22dc650dSSadaf Ebrahimi/\d+/i,utf,ucp
2339*22dc650dSSadaf Ebrahimi    123\x{660}456
2340*22dc650dSSadaf Ebrahimi
2341*22dc650dSSadaf Ebrahimi/\d+/i,utf,ucp,ascii_bsd
2342*22dc650dSSadaf Ebrahimi    123\x{660}456
2343*22dc650dSSadaf Ebrahimi
2344*22dc650dSSadaf Ebrahimi/[\d]+/i,utf
2345*22dc650dSSadaf Ebrahimi    123\x{660}456
2346*22dc650dSSadaf Ebrahimi
2347*22dc650dSSadaf Ebrahimi/[\d]+/i,utf,ucp
2348*22dc650dSSadaf Ebrahimi    123\x{660}456
2349*22dc650dSSadaf Ebrahimi
2350*22dc650dSSadaf Ebrahimi/[\d]+/i,utf,ucp,ascii_bsd
2351*22dc650dSSadaf Ebrahimi    123\x{660}456
2352*22dc650dSSadaf Ebrahimi
2353*22dc650dSSadaf Ebrahimi/\d(?aD)\d(?-aD)\d/utf,ucp
2354*22dc650dSSadaf Ebrahimi    \x{660}9\x{660}
2355*22dc650dSSadaf Ebrahimi\= Expect no match
2356*22dc650dSSadaf Ebrahimi    \x{660}\x{660}\x{660}
2357*22dc650dSSadaf Ebrahimi
2358*22dc650dSSadaf Ebrahimi/\d(?-aD)\d(?aD)\d/utf,ucp,ascii_bsd
2359*22dc650dSSadaf Ebrahimi    999
2360*22dc650dSSadaf Ebrahimi    9\x{660}9
2361*22dc650dSSadaf Ebrahimi
2362*22dc650dSSadaf Ebrahimi/\d(?a)\d(?-a)\d/utf,ucp
2363*22dc650dSSadaf Ebrahimi    \x{660}9\x{660}
2364*22dc650dSSadaf Ebrahimi\= Expect no match
2365*22dc650dSSadaf Ebrahimi    \x{660}\x{660}\x{660}
2366*22dc650dSSadaf Ebrahimi
2367*22dc650dSSadaf Ebrahimi/\d(?-aD)\d(?aD)\d/utf,ucp,ascii_bsd
2368*22dc650dSSadaf Ebrahimi    999
2369*22dc650dSSadaf Ebrahimi    9\x{660}9
2370*22dc650dSSadaf Ebrahimi
2371*22dc650dSSadaf Ebrahimi# SPACES
2372*22dc650dSSadaf Ebrahimi
2373*22dc650dSSadaf Ebrahimi/>\s+</i,utf
2374*22dc650dSSadaf Ebrahimi    >  <
2375*22dc650dSSadaf Ebrahimi\= Expect no match
2376*22dc650dSSadaf Ebrahimi    >\x{a0} <
2377*22dc650dSSadaf Ebrahimi
2378*22dc650dSSadaf Ebrahimi/>\s+</i,utf,ucp
2379*22dc650dSSadaf Ebrahimi    >  <
2380*22dc650dSSadaf Ebrahimi    >\x{a0} <
2381*22dc650dSSadaf Ebrahimi
2382*22dc650dSSadaf Ebrahimi/>\s+</i,utf,ucp,ascii_bss
2383*22dc650dSSadaf Ebrahimi    >  <
2384*22dc650dSSadaf Ebrahimi\= Expect no match
2385*22dc650dSSadaf Ebrahimi    >\x{a0} <
2386*22dc650dSSadaf Ebrahimi
2387*22dc650dSSadaf Ebrahimi/>[\s]+</i,utf
2388*22dc650dSSadaf Ebrahimi    >  <
2389*22dc650dSSadaf Ebrahimi\= Expect no match
2390*22dc650dSSadaf Ebrahimi    >\x{a0} <
2391*22dc650dSSadaf Ebrahimi
2392*22dc650dSSadaf Ebrahimi/>[\s]+</i,utf,ucp
2393*22dc650dSSadaf Ebrahimi    >  <
2394*22dc650dSSadaf Ebrahimi    >\x{a0} <
2395*22dc650dSSadaf Ebrahimi
2396*22dc650dSSadaf Ebrahimi/>[\s]+</i,utf,ucp,ascii_bss
2397*22dc650dSSadaf Ebrahimi    >  <
2398*22dc650dSSadaf Ebrahimi\= Expect no match
2399*22dc650dSSadaf Ebrahimi    >\x{a0} <
2400*22dc650dSSadaf Ebrahimi
2401*22dc650dSSadaf Ebrahimi/>\s(?aS)\s(?-aS)\s</utf,ucp
2402*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
2403*22dc650dSSadaf Ebrahimi\= Expect no match
2404*22dc650dSSadaf Ebrahimi    >\x{a0}\x{a0}\x{a0}<
2405*22dc650dSSadaf Ebrahimi
2406*22dc650dSSadaf Ebrahimi/>\s(?a)\s(?-a)\s</utf,ucp
2407*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
2408*22dc650dSSadaf Ebrahimi\= Expect no match
2409*22dc650dSSadaf Ebrahimi    >\x{a0}\x{a0}\x{a0}<
2410*22dc650dSSadaf Ebrahimi
2411*22dc650dSSadaf Ebrahimi# WORDS
2412*22dc650dSSadaf Ebrahimi
2413*22dc650dSSadaf Ebrahimi/\w+/i,utf
2414*22dc650dSSadaf Ebrahimi    123\x{660}abc
2415*22dc650dSSadaf Ebrahimi
2416*22dc650dSSadaf Ebrahimi/\w+/i,utf,ucp
2417*22dc650dSSadaf Ebrahimi    123\x{660}abc
2418*22dc650dSSadaf Ebrahimi
2419*22dc650dSSadaf Ebrahimi/\w+/i,utf,ucp,ascii_bsw
2420*22dc650dSSadaf Ebrahimi    123\x{660}abc
2421*22dc650dSSadaf Ebrahimi
2422*22dc650dSSadaf Ebrahimi/[\w]+/i,utf
2423*22dc650dSSadaf Ebrahimi    123\x{660}abc
2424*22dc650dSSadaf Ebrahimi
2425*22dc650dSSadaf Ebrahimi/[\w]+/i,utf,ucp
2426*22dc650dSSadaf Ebrahimi    123\x{660}abc
2427*22dc650dSSadaf Ebrahimi
2428*22dc650dSSadaf Ebrahimi/[\w]+/i,utf,ucp,ascii_bsw
2429*22dc650dSSadaf Ebrahimi    123\x{660}abc
2430*22dc650dSSadaf Ebrahimi
2431*22dc650dSSadaf Ebrahimi/\w(?aW)\w(?-aW)\w/utf,ucp
2432*22dc650dSSadaf Ebrahimi    \x{660}A\x{c0}
2433*22dc650dSSadaf Ebrahimi\= Expect no match
2434*22dc650dSSadaf Ebrahimi    \x{660}\x{c0}\x{c0}
2435*22dc650dSSadaf Ebrahimi
2436*22dc650dSSadaf Ebrahimi/\w(?a)\w(?-a)\w/utf,ucp
2437*22dc650dSSadaf Ebrahimi    \x{660}A\x{c0}
2438*22dc650dSSadaf Ebrahimi\= Expect no match
2439*22dc650dSSadaf Ebrahimi    \x{660}\x{c0}\x{c0}
2440*22dc650dSSadaf Ebrahimi
2441*22dc650dSSadaf Ebrahimi# POSIX
2442*22dc650dSSadaf Ebrahimi
2443*22dc650dSSadaf Ebrahimi/^[[:digit:]]+$/utf,ucp
2444*22dc650dSSadaf Ebrahimi    123456
2445*22dc650dSSadaf Ebrahimi    123\x{660}456
2446*22dc650dSSadaf Ebrahimi
2447*22dc650dSSadaf Ebrahimi/^[[:digit:]]+$/utf,ucp,ascii_digit
2448*22dc650dSSadaf Ebrahimi    123456
2449*22dc650dSSadaf Ebrahimi\= Expect no match
2450*22dc650dSSadaf Ebrahimi    123\x{660}456
2451*22dc650dSSadaf Ebrahimi
2452*22dc650dSSadaf Ebrahimi/[[:digit:]]+/g,utf,ucp,ascii_digit
2453*22dc650dSSadaf Ebrahimi    123\x{660}456
2454*22dc650dSSadaf Ebrahimi
2455*22dc650dSSadaf Ebrahimi/(?-aT)[[:digit:]](?aT)[[:digit:]]/utf,ucp,ascii_digit
2456*22dc650dSSadaf Ebrahimi    11
2457*22dc650dSSadaf Ebrahimi    \x{ff11}1
2458*22dc650dSSadaf Ebrahimi\= Expect no match
2459*22dc650dSSadaf Ebrahimi    1\x{ff11}
2460*22dc650dSSadaf Ebrahimi
2461*22dc650dSSadaf Ebrahimi/(?-aT:[[:digit:]])[[:digit:]]/utf,ucp,ascii_digit
2462*22dc650dSSadaf Ebrahimi    11
2463*22dc650dSSadaf Ebrahimi    \x{ff11}1
2464*22dc650dSSadaf Ebrahimi\= Expect no match
2465*22dc650dSSadaf Ebrahimi    1\x{ff11}
2466*22dc650dSSadaf Ebrahimi
2467*22dc650dSSadaf Ebrahimi/(?-aT:[[:digit:]])[[:digit:]]/utf,never_ucp,ascii_digit
2468*22dc650dSSadaf Ebrahimi    11
2469*22dc650dSSadaf Ebrahimi\= Expect no match
2470*22dc650dSSadaf Ebrahimi    \x{ff11}1
2471*22dc650dSSadaf Ebrahimi    1\x{ff11}
2472*22dc650dSSadaf Ebrahimi
2473*22dc650dSSadaf Ebrahimi/[[:digit:]]+/utf,ucp,ascii_posix
2474*22dc650dSSadaf Ebrahimi    123\x{660}456
2475*22dc650dSSadaf Ebrahimi
2476*22dc650dSSadaf Ebrahimi/(?-aP)[[:digit:]](?aP)[[:digit:]]/utf,ucp,ascii_posix
2477*22dc650dSSadaf Ebrahimi    11
2478*22dc650dSSadaf Ebrahimi    \x{ff11}1
2479*22dc650dSSadaf Ebrahimi\= Expect no match
2480*22dc650dSSadaf Ebrahimi    1\x{ff11}
2481*22dc650dSSadaf Ebrahimi
2482*22dc650dSSadaf Ebrahimi/(?-aP:[[:digit:]])[[:digit:]]/utf,ucp,ascii_posix
2483*22dc650dSSadaf Ebrahimi    11
2484*22dc650dSSadaf Ebrahimi    \x{ff11}1
2485*22dc650dSSadaf Ebrahimi\= Expect no match
2486*22dc650dSSadaf Ebrahimi    1\x{ff11}
2487*22dc650dSSadaf Ebrahimi
2488*22dc650dSSadaf Ebrahimi/(?-a:[[:digit:]])[[:digit:]]/a,utf,ucp
2489*22dc650dSSadaf Ebrahimi    11
2490*22dc650dSSadaf Ebrahimi    \x{ff11}1
2491*22dc650dSSadaf Ebrahimi\= Expect no match
2492*22dc650dSSadaf Ebrahimi    1\x{ff11}
2493*22dc650dSSadaf Ebrahimi
2494*22dc650dSSadaf Ebrahimi/>[[:space:]]+</utf,ucp
2495*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
2496*22dc650dSSadaf Ebrahimi    >\x{a0}\x{a0}\x{a0}<
2497*22dc650dSSadaf Ebrahimi
2498*22dc650dSSadaf Ebrahimi/>[[:space:]]+</utf,ucp,ascii_posix
2499*22dc650dSSadaf Ebrahimi\= Expect no match
2500*22dc650dSSadaf Ebrahimi    >\x{a0} \x{a0}<
2501*22dc650dSSadaf Ebrahimi
2502*22dc650dSSadaf Ebrahimi/(?aP)[[:alnum:]]+/i,ucp,utf
2503*22dc650dSSadaf Ebrahimi    abcáxyz
2504*22dc650dSSadaf Ebrahimi    abc\x{660}xyz
2505*22dc650dSSadaf Ebrahimi
2506*22dc650dSSadaf Ebrahimi/(?aP)[[:alnum:]\d]+/i,ucp,utf
2507*22dc650dSSadaf Ebrahimi    abc\x{660}xyz
2508*22dc650dSSadaf Ebrahimi
2509*22dc650dSSadaf Ebrahimi/(*UCP)(*UTF)[[:alnum:]](?aP:[[:alnum:]])[[:alnum:]]/
2510*22dc650dSSadaf Ebrahimi    \x{660}A\x{660}
2511*22dc650dSSadaf Ebrahimi\= Expect no match
2512*22dc650dSSadaf Ebrahimi    \x{660}\x{660}\x{660}
2513*22dc650dSSadaf Ebrahimi
2514*22dc650dSSadaf Ebrahimi# VARIOUS
2515*22dc650dSSadaf Ebrahimi
2516*22dc650dSSadaf Ebrahimi/[\d\s\w]+/a,ucp,utf
2517*22dc650dSSadaf Ebrahimi    9 A\x{660}À
2518*22dc650dSSadaf Ebrahimi    9 AÀ\x{660}
2519*22dc650dSSadaf Ebrahimi
2520*22dc650dSSadaf Ebrahimi# End PCRE2_EXTRA_ASCII_xxx tests
2521*22dc650dSSadaf Ebrahimi
2522*22dc650dSSadaf Ebrahimi/\w+/utf,ucp
2523*22dc650dSSadaf Ebrahimi    --cafe\x{300}_au\x{203f}lait!
2524*22dc650dSSadaf Ebrahimi
2525*22dc650dSSadaf Ebrahimi/[\w]+/utf,ucp
2526*22dc650dSSadaf Ebrahimi    --cafe\x{300}_au\x{203f}lait!
2527*22dc650dSSadaf Ebrahimi
2528*22dc650dSSadaf Ebrahimi/\b.+?\b/utf,ucp
2529*22dc650dSSadaf Ebrahimi    --cafe\x{300}_au\x{203f}lait!
2530*22dc650dSSadaf Ebrahimi
2531*22dc650dSSadaf Ebrahimi/caf\B.+?\B/utf,ucp
2532*22dc650dSSadaf Ebrahimi    --cafe\x{300}_au\x{203f}lait!
2533*22dc650dSSadaf Ebrahimi
2534*22dc650dSSadaf Ebrahimi# End of testinput7
2535