xref: /aosp_15_r20/external/pcre/testdata/testinput8 (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi# There are two sorts of patterns in this test. A number of them are
2*22dc650dSSadaf Ebrahimi# representative patterns whose lengths and offsets are checked. This is just a
3*22dc650dSSadaf Ebrahimi# doublecheck test to ensure the sizes don't go horribly wrong when something
4*22dc650dSSadaf Ebrahimi# is changed. The operation of these patterns is checked in other tests.
5*22dc650dSSadaf Ebrahimi#
6*22dc650dSSadaf Ebrahimi# This file also contains tests whose output varies with code unit size and/or
7*22dc650dSSadaf Ebrahimi# link size. Unicode support is required for these tests. There are separate
8*22dc650dSSadaf Ebrahimi# output files for each code unit size and link size.
9*22dc650dSSadaf Ebrahimi
10*22dc650dSSadaf Ebrahimi#pattern fullbincode,memory
11*22dc650dSSadaf Ebrahimi
12*22dc650dSSadaf Ebrahimi/((?i)b)/
13*22dc650dSSadaf Ebrahimi
14*22dc650dSSadaf Ebrahimi/(?s)(.*X|^B)/
15*22dc650dSSadaf Ebrahimi
16*22dc650dSSadaf Ebrahimi/(?s:.*X|^B)/
17*22dc650dSSadaf Ebrahimi
18*22dc650dSSadaf Ebrahimi/^[[:alnum:]]/
19*22dc650dSSadaf Ebrahimi
20*22dc650dSSadaf Ebrahimi/#/Ix
21*22dc650dSSadaf Ebrahimi
22*22dc650dSSadaf Ebrahimi/a#/Ix
23*22dc650dSSadaf Ebrahimi
24*22dc650dSSadaf Ebrahimi/x?+/
25*22dc650dSSadaf Ebrahimi
26*22dc650dSSadaf Ebrahimi/x++/
27*22dc650dSSadaf Ebrahimi
28*22dc650dSSadaf Ebrahimi/x{1,3}+/
29*22dc650dSSadaf Ebrahimi
30*22dc650dSSadaf Ebrahimi/(x)*+/
31*22dc650dSSadaf Ebrahimi
32*22dc650dSSadaf Ebrahimi/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
33*22dc650dSSadaf Ebrahimi
34*22dc650dSSadaf Ebrahimi"8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b"
35*22dc650dSSadaf Ebrahimi
36*22dc650dSSadaf Ebrahimi"\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b"
37*22dc650dSSadaf Ebrahimi
38*22dc650dSSadaf Ebrahimi/(a(?1)b)/
39*22dc650dSSadaf Ebrahimi
40*22dc650dSSadaf Ebrahimi/(a(?1)+b)/
41*22dc650dSSadaf Ebrahimi
42*22dc650dSSadaf Ebrahimi/a(?P<name1>b|c)d(?P<longername2>e)/
43*22dc650dSSadaf Ebrahimi
44*22dc650dSSadaf Ebrahimi/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/
45*22dc650dSSadaf Ebrahimi
46*22dc650dSSadaf Ebrahimi/(?P<a>a)...(?P=a)bbb(?P>a)d/
47*22dc650dSSadaf Ebrahimi
48*22dc650dSSadaf Ebrahimi/abc(?C255)de(?C)f/
49*22dc650dSSadaf Ebrahimi
50*22dc650dSSadaf Ebrahimi/abcde/auto_callout
51*22dc650dSSadaf Ebrahimi
52*22dc650dSSadaf Ebrahimi/\x{100}/utf
53*22dc650dSSadaf Ebrahimi
54*22dc650dSSadaf Ebrahimi/\x{1000}/utf
55*22dc650dSSadaf Ebrahimi
56*22dc650dSSadaf Ebrahimi/\x{10000}/utf
57*22dc650dSSadaf Ebrahimi
58*22dc650dSSadaf Ebrahimi/\x{100000}/utf
59*22dc650dSSadaf Ebrahimi
60*22dc650dSSadaf Ebrahimi/\x{10ffff}/utf
61*22dc650dSSadaf Ebrahimi
62*22dc650dSSadaf Ebrahimi/\x{110000}/utf
63*22dc650dSSadaf Ebrahimi
64*22dc650dSSadaf Ebrahimi/[\x{ff}]/utf
65*22dc650dSSadaf Ebrahimi
66*22dc650dSSadaf Ebrahimi/[\x{100}]/utf
67*22dc650dSSadaf Ebrahimi
68*22dc650dSSadaf Ebrahimi/\x80/utf
69*22dc650dSSadaf Ebrahimi
70*22dc650dSSadaf Ebrahimi/\xff/utf
71*22dc650dSSadaf Ebrahimi
72*22dc650dSSadaf Ebrahimi/\x{0041}\x{2262}\x{0391}\x{002e}/I,utf
73*22dc650dSSadaf Ebrahimi
74*22dc650dSSadaf Ebrahimi/\x{D55c}\x{ad6d}\x{C5B4}/I,utf
75*22dc650dSSadaf Ebrahimi
76*22dc650dSSadaf Ebrahimi/\x{65e5}\x{672c}\x{8a9e}/I,utf
77*22dc650dSSadaf Ebrahimi
78*22dc650dSSadaf Ebrahimi/[\x{100}]/utf
79*22dc650dSSadaf Ebrahimi
80*22dc650dSSadaf Ebrahimi/[Z\x{100}]/utf
81*22dc650dSSadaf Ebrahimi
82*22dc650dSSadaf Ebrahimi/^[\x{100}\E-\Q\E\x{150}]/utf
83*22dc650dSSadaf Ebrahimi
84*22dc650dSSadaf Ebrahimi/^[\QĀ\E-\QŐ\E]/utf
85*22dc650dSSadaf Ebrahimi
86*22dc650dSSadaf Ebrahimi/^[\QĀ\E-\QŐ\E/utf
87*22dc650dSSadaf Ebrahimi
88*22dc650dSSadaf Ebrahimi/[\p{L}]/
89*22dc650dSSadaf Ebrahimi
90*22dc650dSSadaf Ebrahimi/[\p{^L}]/
91*22dc650dSSadaf Ebrahimi
92*22dc650dSSadaf Ebrahimi/[\P{L}]/
93*22dc650dSSadaf Ebrahimi
94*22dc650dSSadaf Ebrahimi/[\P{^L}]/
95*22dc650dSSadaf Ebrahimi
96*22dc650dSSadaf Ebrahimi/[abc\p{L}\x{0660}]/utf
97*22dc650dSSadaf Ebrahimi
98*22dc650dSSadaf Ebrahimi/[\p{Nd}]/utf
99*22dc650dSSadaf Ebrahimi
100*22dc650dSSadaf Ebrahimi/[\p{Nd}+-]+/utf
101*22dc650dSSadaf Ebrahimi
102*22dc650dSSadaf Ebrahimi/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
103*22dc650dSSadaf Ebrahimi
104*22dc650dSSadaf Ebrahimi/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
105*22dc650dSSadaf Ebrahimi
106*22dc650dSSadaf Ebrahimi/[\x{105}-\x{109}]/i,utf
107*22dc650dSSadaf Ebrahimi
108*22dc650dSSadaf Ebrahimi/( ( (?(1)0|) )*   )/x
109*22dc650dSSadaf Ebrahimi
110*22dc650dSSadaf Ebrahimi/(  (?(1)0|)*   )/x
111*22dc650dSSadaf Ebrahimi
112*22dc650dSSadaf Ebrahimi/[a]/
113*22dc650dSSadaf Ebrahimi
114*22dc650dSSadaf Ebrahimi/[a]/utf
115*22dc650dSSadaf Ebrahimi
116*22dc650dSSadaf Ebrahimi/[\xaa]/
117*22dc650dSSadaf Ebrahimi
118*22dc650dSSadaf Ebrahimi/[\xaa]/utf
119*22dc650dSSadaf Ebrahimi
120*22dc650dSSadaf Ebrahimi/[^a]/
121*22dc650dSSadaf Ebrahimi
122*22dc650dSSadaf Ebrahimi/[^a]/utf
123*22dc650dSSadaf Ebrahimi
124*22dc650dSSadaf Ebrahimi/[^\xaa]/
125*22dc650dSSadaf Ebrahimi
126*22dc650dSSadaf Ebrahimi/[^\xaa]/utf
127*22dc650dSSadaf Ebrahimi
128*22dc650dSSadaf Ebrahimi#pattern -memory
129*22dc650dSSadaf Ebrahimi
130*22dc650dSSadaf Ebrahimi/[^\d]/utf,ucp
131*22dc650dSSadaf Ebrahimi
132*22dc650dSSadaf Ebrahimi/[[:^alpha:][:^cntrl:]]+/utf,ucp
133*22dc650dSSadaf Ebrahimi
134*22dc650dSSadaf Ebrahimi/[[:^cntrl:][:^alpha:]]+/utf,ucp
135*22dc650dSSadaf Ebrahimi
136*22dc650dSSadaf Ebrahimi/[[:alpha:]]+/utf,ucp
137*22dc650dSSadaf Ebrahimi
138*22dc650dSSadaf Ebrahimi/[[:^alpha:]\S]+/utf,ucp
139*22dc650dSSadaf Ebrahimi
140*22dc650dSSadaf Ebrahimi/abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/
141*22dc650dSSadaf Ebrahimi
142*22dc650dSSadaf Ebrahimi/(((a\2)|(a*)\g<-1>))*a?/
143*22dc650dSSadaf Ebrahimi
144*22dc650dSSadaf Ebrahimi/((?+1)(\1))/
145*22dc650dSSadaf Ebrahimi
146*22dc650dSSadaf Ebrahimi"(?1)(?#?'){2}(a)"
147*22dc650dSSadaf Ebrahimi
148*22dc650dSSadaf Ebrahimi/.((?2)(?R)|\1|$)()/
149*22dc650dSSadaf Ebrahimi
150*22dc650dSSadaf Ebrahimi/.((?3)(?R)()(?2)|\1|$)()/
151*22dc650dSSadaf Ebrahimi
152*22dc650dSSadaf Ebrahimi/(?1)()((((((\1++))\x85)+)|))/
153*22dc650dSSadaf Ebrahimi
154*22dc650dSSadaf Ebrahimi# Check the absolute limit on nesting (?| etc. This varies with code unit
155*22dc650dSSadaf Ebrahimi# width because the workspace is a different number of bytes. It will fail
156*22dc650dSSadaf Ebrahimi# with link size 2 in 8-bit and 16-bit but not in 32-bit.
157*22dc650dSSadaf Ebrahimi
158*22dc650dSSadaf Ebrahimi/(?|(?|(?J:(?|(?x:(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|
159*22dc650dSSadaf Ebrahimi)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
160*22dc650dSSadaf Ebrahimi/parens_nest_limit=1000,-fullbincode
161*22dc650dSSadaf Ebrahimi
162*22dc650dSSadaf Ebrahimi# Use "expand" to create some very long patterns with nested parentheses, in
163*22dc650dSSadaf Ebrahimi# order to test workspace overflow. Again, this varies with code unit width,
164*22dc650dSSadaf Ebrahimi# and even when it fails in two modes, the error offset differs. It also varies
165*22dc650dSSadaf Ebrahimi# with link size - hence multiple tests with different values.
166*22dc650dSSadaf Ebrahimi
167*22dc650dSSadaf Ebrahimi/(?'ABC'\[[bar](]{792}*THEN:\[A]{255}\[)]{793}/expand,-fullbincode,parens_nest_limit=1000
168*22dc650dSSadaf Ebrahimi
169*22dc650dSSadaf Ebrahimi/(?'ABC'\[[bar](]{793}*THEN:\[A]{255}\[)]{794}/expand,-fullbincode,parens_nest_limit=1000
170*22dc650dSSadaf Ebrahimi
171*22dc650dSSadaf Ebrahimi/(?'ABC'\[[bar](]{1793}*THEN:\[A]{255}\[)]{1794}/expand,-fullbincode,parens_nest_limit=2000
172*22dc650dSSadaf Ebrahimi
173*22dc650dSSadaf Ebrahimi/(?(1)(?1)){8,}+()/debug
174*22dc650dSSadaf Ebrahimi    abcd
175*22dc650dSSadaf Ebrahimi
176*22dc650dSSadaf Ebrahimi/(?(1)|a(?1)b){2,}+()/debug
177*22dc650dSSadaf Ebrahimi    abcde
178*22dc650dSSadaf Ebrahimi
179*22dc650dSSadaf Ebrahimi/((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug
180*22dc650dSSadaf Ebrahimi
181*22dc650dSSadaf Ebrahimi/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
182*22dc650dSSadaf Ebrahimi
183*22dc650dSSadaf Ebrahimi/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode
184*22dc650dSSadaf Ebrahimi
185*22dc650dSSadaf Ebrahimi#pattern -fullbincode
186*22dc650dSSadaf Ebrahimi
187*22dc650dSSadaf Ebrahimi/\[()]{65535}/expand
188*22dc650dSSadaf Ebrahimi
189*22dc650dSSadaf Ebrahimi# End of testinput8
190