Commit | Line | Data |
---|---|---|
5a51db05 | 1 | # This stops me getting screenfulls of syntax errors every time I accidentally |
1380b51d DM |
2 | # run this file via a shell glob. The full format of this file is given |
3 | # in regexp.t | |
2258fb6a | 4 | # Prior to the implementation of autoloading of \N{}, tests that used \N{name} |
538b2691 KW |
5 | # could not go in this file, and were farmed out to other .t's, where they |
6 | # remain | |
1380b51d DM |
7 | # |
8 | # pat string y/n/etc expr expected-expr skip-reason | |
5a51db05 | 9 | __END__ |
378cc40b | 10 | abc abc y $& abc |
301f462a MJD |
11 | abc abc y $-[0] 0 |
12 | abc abc y $+[0] 3 | |
378cc40b LW |
13 | abc xbc n - - |
14 | abc axc n - - | |
15 | abc abx n - - | |
16 | abc xabcy y $& abc | |
301f462a MJD |
17 | abc xabcy y $-[0] 1 |
18 | abc xabcy y $+[0] 4 | |
378cc40b | 19 | abc ababc y $& abc |
301f462a MJD |
20 | abc ababc y $-[0] 2 |
21 | abc ababc y $+[0] 5 | |
378cc40b | 22 | ab*c abc y $& abc |
301f462a MJD |
23 | ab*c abc y $-[0] 0 |
24 | ab*c abc y $+[0] 3 | |
378cc40b | 25 | ab*bc abc y $& abc |
301f462a MJD |
26 | ab*bc abc y $-[0] 0 |
27 | ab*bc abc y $+[0] 3 | |
378cc40b | 28 | ab*bc abbc y $& abbc |
301f462a MJD |
29 | ab*bc abbc y $-[0] 0 |
30 | ab*bc abbc y $+[0] 4 | |
378cc40b | 31 | ab*bc abbbbc y $& abbbbc |
301f462a MJD |
32 | ab*bc abbbbc y $-[0] 0 |
33 | ab*bc abbbbc y $+[0] 6 | |
c277df42 | 34 | .{1} abbbbc y $& a |
301f462a MJD |
35 | .{1} abbbbc y $-[0] 0 |
36 | .{1} abbbbc y $+[0] 1 | |
c277df42 | 37 | .{3,4} abbbbc y $& abbb |
301f462a MJD |
38 | .{3,4} abbbbc y $-[0] 0 |
39 | .{3,4} abbbbc y $+[0] 4 | |
afefe6bf RGS |
40 | \N{1} abbbbc y $& a |
41 | \N{1} abbbbc y $-[0] 0 | |
42 | \N{1} abbbbc y $+[0] 1 | |
c3c41406 KW |
43 | /\N {1}/x abbbbc y $& a |
44 | /\N {1}/x abbbbc y $-[0] 0 | |
45 | /\N {1}/x abbbbc y $+[0] 1 | |
afefe6bf RGS |
46 | \N{3,4} abbbbc y $& abbb |
47 | \N{3,4} abbbbc y $-[0] 0 | |
48 | \N{3,4} abbbbc y $+[0] 4 | |
c3c41406 KW |
49 | /\N {3,4}/x abbbbc y $& abbb |
50 | /\N {3,4}/x abbbbc y $-[0] 0 | |
51 | /\N {3,4}/x abbbbc y $+[0] 4 | |
a687059c | 52 | ab{0,}bc abbbbc y $& abbbbc |
301f462a MJD |
53 | ab{0,}bc abbbbc y $-[0] 0 |
54 | ab{0,}bc abbbbc y $+[0] 6 | |
378cc40b | 55 | ab+bc abbc y $& abbc |
301f462a MJD |
56 | ab+bc abbc y $-[0] 0 |
57 | ab+bc abbc y $+[0] 4 | |
378cc40b LW |
58 | ab+bc abc n - - |
59 | ab+bc abq n - - | |
a687059c | 60 | ab{1,}bc abq n - - |
378cc40b | 61 | ab+bc abbbbc y $& abbbbc |
301f462a MJD |
62 | ab+bc abbbbc y $-[0] 0 |
63 | ab+bc abbbbc y $+[0] 6 | |
a687059c | 64 | ab{1,}bc abbbbc y $& abbbbc |
301f462a MJD |
65 | ab{1,}bc abbbbc y $-[0] 0 |
66 | ab{1,}bc abbbbc y $+[0] 6 | |
a687059c | 67 | ab{1,3}bc abbbbc y $& abbbbc |
301f462a MJD |
68 | ab{1,3}bc abbbbc y $-[0] 0 |
69 | ab{1,3}bc abbbbc y $+[0] 6 | |
a687059c | 70 | ab{3,4}bc abbbbc y $& abbbbc |
301f462a MJD |
71 | ab{3,4}bc abbbbc y $-[0] 0 |
72 | ab{3,4}bc abbbbc y $+[0] 6 | |
a687059c | 73 | ab{4,5}bc abbbbc n - - |
378cc40b LW |
74 | ab?bc abbc y $& abbc |
75 | ab?bc abc y $& abc | |
a687059c | 76 | ab{0,1}bc abc y $& abc |
378cc40b LW |
77 | ab?bc abbbbc n - - |
78 | ab?c abc y $& abc | |
a687059c | 79 | ab{0,1}c abc y $& abc |
378cc40b LW |
80 | ^abc$ abc y $& abc |
81 | ^abc$ abcc n - - | |
82 | ^abc abcc y $& abc | |
83 | ^abc$ aabc n - - | |
84 | abc$ aabc y $& abc | |
c277df42 | 85 | abc$ aabcd n - - |
378cc40b LW |
86 | ^ abc y $& |
87 | $ abc y $& | |
88 | a.c abc y $& abc | |
89 | a.c axc y $& axc | |
afefe6bf | 90 | a\Nc abc y $& abc |
c3c41406 | 91 | /a\N c/x abc y $& abc |
378cc40b | 92 | a.*c axyzc y $& axyzc |
cbf4a129 | 93 | a\N*c axyzc y $& axyzc |
c3c41406 | 94 | /a\N *c/x axyzc y $& axyzc |
378cc40b | 95 | a.*c axyzd n - - |
afefe6bf | 96 | a\N*c axyzd n - - |
c3c41406 | 97 | /a\N *c/x axyzd n - - |
378cc40b LW |
98 | a[bc]d abc n - - |
99 | a[bc]d abd y $& abd | |
3b968408 YO |
100 | a[b]d abd y $& abd |
101 | [a][b][d] abd y $& abd | |
102 | .[b]. abd y $& abd | |
103 | .[b]. aBd n - - | |
104 | (?i:.[b].) abd y $& abd | |
afefe6bf | 105 | (?i:\N[b]\N) abd y $& abd |
378cc40b LW |
106 | a[b-d]e abd n - - |
107 | a[b-d]e ace y $& ace | |
108 | a[b-d] aac y $& ac | |
109 | a[-b] a- y $& a- | |
110 | a[b-] a- y $& a- | |
b2a156bd | 111 | a[b-a] - c - Invalid [] range \"b-a\" |
24b61696 RK |
112 | a[]b - c - Unmatched [ |
113 | a[ - c - Unmatched [ | |
378cc40b LW |
114 | a] a] y $& a] |
115 | a[]]b a]b y $& a]b | |
116 | a[^bc]d aed y $& aed | |
117 | a[^bc]d abd n - - | |
118 | a[^-b]c adc y $& adc | |
119 | a[^-b]c a-c n - - | |
120 | a[^]b]c a]c n - - | |
121 | a[^]b]c adc y $& adc | |
bbce6d69 | 122 | \ba\b a- y - - |
123 | \ba\b -a y - - | |
124 | \ba\b -a- y - - | |
125 | \by\b xy n - - | |
126 | \by\b yz n - - | |
127 | \by\b xyz n - - | |
128 | \Ba\B a- n - - | |
129 | \Ba\B -a n - - | |
130 | \Ba\B -a- n - - | |
131 | \By\b xy y - - | |
301f462a MJD |
132 | \By\b xy y $-[0] 1 |
133 | \By\b xy y $+[0] 2 | |
134 | \By\b xy y - - | |
bbce6d69 | 135 | \by\B yz y - - |
136 | \By\B xyz y - - | |
137 | \w a y - - | |
138 | \w - n - - | |
139 | \W a n - - | |
140 | \W - y - - | |
141 | a\sb a b y - - | |
142 | a\sb a-b n - - | |
143 | a\Sb a b n - - | |
144 | a\Sb a-b y - - | |
145 | \d 1 y - - | |
146 | \d - n - - | |
147 | \D 1 n - - | |
148 | \D - y - - | |
149 | [\w] a y - - | |
150 | [\w] - n - - | |
151 | [\W] a n - - | |
152 | [\W] - y - - | |
153 | a[\s]b a b y - - | |
154 | a[\s]b a-b n - - | |
155 | a[\S]b a b n - - | |
156 | a[\S]b a-b y - - | |
157 | [\d] 1 y - - | |
158 | [\d] - n - - | |
159 | [\D] 1 n - - | |
160 | [\D] - y - - | |
378cc40b LW |
161 | ab|cd abc y $& ab |
162 | ab|cd abcd y $& ab | |
163 | ()ef def y $&-$1 ef- | |
301f462a MJD |
164 | ()ef def y $-[0] 1 |
165 | ()ef def y $+[0] 3 | |
166 | ()ef def y $-[1] 1 | |
167 | ()ef def y $+[1] 1 | |
24b61696 | 168 | *a - c - Quantifier follows nothing |
e2e6a0f1 YO |
169 | (|*)b - c - Quantifier follows nothing |
170 | (*)b - c - Unknown verb | |
378cc40b | 171 | $b b n - - |
1b1626e4 | 172 | a\ - c - Search pattern not terminated |
378cc40b LW |
173 | a\(b a(b y $&-$1 a(b- |
174 | a\(*b ab y $& ab | |
175 | a\(*b a((b y $& a((b | |
b2a156bd | 176 | a\\b a\\b y $& a\\b |
24b61696 RK |
177 | abc) - c - Unmatched ) |
178 | (abc - c - Unmatched ( | |
378cc40b | 179 | ((a)) abc y $&-$1-$2 a-a-a |
301f462a MJD |
180 | ((a)) abc y $-[0]-$-[1]-$-[2] 0-0-0 |
181 | ((a)) abc y $+[0]-$+[1]-$+[2] 1-1-1 | |
182 | ((a)) abc b @- 0 0 0 | |
183 | ((a)) abc b @+ 1 1 1 | |
378cc40b | 184 | (a)b(c) abc y $&-$1-$2 abc-a-c |
301f462a MJD |
185 | (a)b(c) abc y $-[0]-$-[1]-$-[2] 0-0-2 |
186 | (a)b(c) abc y $+[0]-$+[1]-$+[2] 3-1-3 | |
378cc40b | 187 | a+b+c aabbabc y $& abc |
a687059c | 188 | a{1,}b{1,}c aabbabc y $& abc |
24b61696 | 189 | a** - c - Nested quantifiers |
a0d0e21e | 190 | a.+?c abcabc y $& abc |
378cc40b | 191 | (a+|b)* ab y $&-$1 ab-b |
301f462a MJD |
192 | (a+|b)* ab y $-[0] 0 |
193 | (a+|b)* ab y $+[0] 2 | |
194 | (a+|b)* ab y $-[1] 1 | |
195 | (a+|b)* ab y $+[1] 2 | |
a687059c | 196 | (a+|b){0,} ab y $&-$1 ab-b |
378cc40b | 197 | (a+|b)+ ab y $&-$1 ab-b |
a687059c | 198 | (a+|b){1,} ab y $&-$1 ab-b |
378cc40b | 199 | (a+|b)? ab y $&-$1 a-a |
a687059c | 200 | (a+|b){0,1} ab y $&-$1 a-a |
24b61696 | 201 | )( - c - Unmatched ) |
378cc40b LW |
202 | [^ab]* cde y $& cde |
203 | abc n - - | |
204 | a* y $& | |
205 | ([abc])*d abbbcd y $&-$1 abbbcd-c | |
206 | ([abc])*bcd abcd y $&-$1 abcd-a | |
207 | a|b|c|d|e e y $& e | |
208 | (a|b|c|d|e)f ef y $&-$1 ef-e | |
301f462a MJD |
209 | (a|b|c|d|e)f ef y $-[0] 0 |
210 | (a|b|c|d|e)f ef y $+[0] 2 | |
211 | (a|b|c|d|e)f ef y $-[1] 0 | |
212 | (a|b|c|d|e)f ef y $+[1] 1 | |
378cc40b LW |
213 | abcd*efg abcdefg y $& abcdefg |
214 | ab* xabyabbbz y $& ab | |
215 | ab* xayabbbz y $& a | |
216 | (ab|cd)e abcde y $&-$1 cde-cd | |
217 | [abhgefdc]ij hij y $& hij | |
218 | ^(ab|cd)e abcde n x$1y xy | |
219 | (abc|)ef abcdef y $&-$1 ef- | |
220 | (a|b)c*d abcd y $&-$1 bcd-b | |
221 | (ab|ab*)bc abc y $&-$1 abc-a | |
222 | a([bc]*)c* abc y $&-$1 abc-bc | |
223 | a([bc]*)(c*d) abcd y $&-$1-$2 abcd-bc-d | |
301f462a MJD |
224 | a([bc]*)(c*d) abcd y $-[0] 0 |
225 | a([bc]*)(c*d) abcd y $+[0] 4 | |
226 | a([bc]*)(c*d) abcd y $-[1] 1 | |
227 | a([bc]*)(c*d) abcd y $+[1] 3 | |
228 | a([bc]*)(c*d) abcd y $-[2] 3 | |
229 | a([bc]*)(c*d) abcd y $+[2] 4 | |
378cc40b LW |
230 | a([bc]+)(c*d) abcd y $&-$1-$2 abcd-bc-d |
231 | a([bc]*)(c+d) abcd y $&-$1-$2 abcd-b-cd | |
301f462a MJD |
232 | a([bc]*)(c+d) abcd y $-[0] 0 |
233 | a([bc]*)(c+d) abcd y $+[0] 4 | |
234 | a([bc]*)(c+d) abcd y $-[1] 1 | |
235 | a([bc]*)(c+d) abcd y $+[1] 2 | |
236 | a([bc]*)(c+d) abcd y $-[2] 2 | |
237 | a([bc]*)(c+d) abcd y $+[2] 4 | |
378cc40b LW |
238 | a[bcd]*dcdcde adcdcde y $& adcdcde |
239 | a[bcd]+dcdcde adcdcde n - - | |
240 | (ab|a)b*c abc y $&-$1 abc-ab | |
301f462a MJD |
241 | (ab|a)b*c abc y $-[0] 0 |
242 | (ab|a)b*c abc y $+[0] 3 | |
243 | (ab|a)b*c abc y $-[1] 0 | |
244 | (ab|a)b*c abc y $+[1] 2 | |
378cc40b | 245 | ((a)(b)c)(d) abcd y $1-$2-$3-$4 abc-a-b-d |
301f462a MJD |
246 | ((a)(b)c)(d) abcd y $-[0] 0 |
247 | ((a)(b)c)(d) abcd y $+[0] 4 | |
248 | ((a)(b)c)(d) abcd y $-[1] 0 | |
249 | ((a)(b)c)(d) abcd y $+[1] 3 | |
250 | ((a)(b)c)(d) abcd y $-[2] 0 | |
251 | ((a)(b)c)(d) abcd y $+[2] 1 | |
252 | ((a)(b)c)(d) abcd y $-[3] 1 | |
253 | ((a)(b)c)(d) abcd y $+[3] 2 | |
254 | ((a)(b)c)(d) abcd y $-[4] 3 | |
255 | ((a)(b)c)(d) abcd y $+[4] 4 | |
378cc40b LW |
256 | [a-zA-Z_][a-zA-Z0-9_]* alpha y $& alpha |
257 | ^a(bc+|b[eh])g|.h$ abh y $&-$1 bh- | |
258 | (bc+d$|ef*g.|h?i(j|k)) effgz y $&-$1-$2 effgz-effgz- | |
259 | (bc+d$|ef*g.|h?i(j|k)) ij y $&-$1-$2 ij-ij-j | |
260 | (bc+d$|ef*g.|h?i(j|k)) effg n - - | |
261 | (bc+d$|ef*g.|h?i(j|k)) bcdd n - - | |
262 | (bc+d$|ef*g.|h?i(j|k)) reffgz y $&-$1-$2 effgz-effgz- | |
fe14fcc3 | 263 | ((((((((((a)))))))))) a y $10 a |
301f462a MJD |
264 | ((((((((((a)))))))))) a y $-[0] 0 |
265 | ((((((((((a)))))))))) a y $+[0] 1 | |
266 | ((((((((((a)))))))))) a y $-[10] 0 | |
267 | ((((((((((a)))))))))) a y $+[10] 1 | |
fe14fcc3 | 268 | ((((((((((a))))))))))\10 aa y $& aa |
9d116dd7 JH |
269 | ((((((((((a))))))))))${bang} aa n - - |
270 | ((((((((((a))))))))))${bang} a! y $& a! | |
378cc40b LW |
271 | (((((((((a))))))))) a y $& a |
272 | multiple words of text uh-uh n - - | |
273 | multiple words multiple words, yeah y $& multiple words | |
274 | (.*)c(.*) abcde y $&-$1-$2 abcde-ab-de | |
275 | \((.*), (.*)\) (a, b) y ($2, $1) (b, a) | |
276 | [k] ab n - - | |
b2a156bd DM |
277 | abcd abcd y $&-\$&-\\$& abcd-\$&-\\abcd |
278 | a(bc)d abcd y $1-\$1-\\$1 bc-\$1-\\bc | |
378cc40b LW |
279 | a[-]?c ac y $& ac |
280 | (abc)\1 abcabc y $1 abc | |
281 | ([a-c]*)\1 abcabc y $1 abc | |
9baa0206 HS |
282 | \1 - c - Reference to nonexistent group |
283 | \2 - c - Reference to nonexistent group | |
88307081 RGS |
284 | \g1 - c - Reference to nonexistent group |
285 | \g-1 - c - Reference to nonexistent or unclosed group | |
286 | \g{1} - c - Reference to nonexistent group | |
287 | \g{-1} - c - Reference to nonexistent or unclosed group | |
288 | \g0 - c - Reference to invalid group 0 | |
289 | \g-0 - c - Reference to invalid group 0 | |
290 | \g{0} - c - Reference to invalid group 0 | |
291 | \g{-0} - c - Reference to invalid group 0 | |
ef64f398 | 292 | (a)|\1 a y - - |
40863337 ML |
293 | (a)|\1 x n - Reference to group in different branch |
294 | (?:(b)?a)\1 a n - Reference to group that did not match | |
9baa0206 | 295 | (a)|\2 - c - Reference to nonexistent group |
ef64f398 HS |
296 | (([a-c])b*?\2)* ababbbcbc y $&-$1-$2 ababb-bb-b |
297 | (([a-c])b*?\2){3} ababbbcbc y $&-$1-$2 ababbbcbc-cbc-c | |
298 | ((\3|b)\2(a)x)+ aaxabxbaxbbx n - - | |
299 | ((\3|b)\2(a)x)+ aaaxabaxbaaxbbax y $&-$1-$2-$3 bbax-bbax-b-a | |
300 | ((\3|b)\2(a)){2,} bbaababbabaaaaabbaaaabba y $&-$1-$2-$3 bbaaaabba-bba-b-a | |
ee1d8f2a RU |
301 | #Bug #3589 - up to perl-5.6.0 matches incorrectly, from 5.6.1 not anymore |
302 | ^((.)?a\2)+$ babadad n - - | |
301f462a MJD |
303 | (a)|(b) b y $-[0] 0 |
304 | (a)|(b) b y $+[0] 1 | |
305 | (a)|(b) b y x$-[1] x | |
306 | (a)|(b) b y x$+[1] x | |
307 | (a)|(b) b y $-[2] 0 | |
308 | (a)|(b) b y $+[2] 1 | |
1462b684 LW |
309 | 'abc'i ABC y $& ABC |
310 | 'abc'i XBC n - - | |
311 | 'abc'i AXC n - - | |
312 | 'abc'i ABX n - - | |
313 | 'abc'i XABCY y $& ABC | |
314 | 'abc'i ABABC y $& ABC | |
315 | 'ab*c'i ABC y $& ABC | |
316 | 'ab*bc'i ABC y $& ABC | |
317 | 'ab*bc'i ABBC y $& ABBC | |
a0d0e21e LW |
318 | 'ab*?bc'i ABBBBC y $& ABBBBC |
319 | 'ab{0,}?bc'i ABBBBC y $& ABBBBC | |
320 | 'ab+?bc'i ABBC y $& ABBC | |
1462b684 LW |
321 | 'ab+bc'i ABC n - - |
322 | 'ab+bc'i ABQ n - - | |
323 | 'ab{1,}bc'i ABQ n - - | |
324 | 'ab+bc'i ABBBBC y $& ABBBBC | |
a0d0e21e LW |
325 | 'ab{1,}?bc'i ABBBBC y $& ABBBBC |
326 | 'ab{1,3}?bc'i ABBBBC y $& ABBBBC | |
327 | 'ab{3,4}?bc'i ABBBBC y $& ABBBBC | |
328 | 'ab{4,5}?bc'i ABBBBC n - - | |
329 | 'ab??bc'i ABBC y $& ABBC | |
330 | 'ab??bc'i ABC y $& ABC | |
331 | 'ab{0,1}?bc'i ABC y $& ABC | |
332 | 'ab??bc'i ABBBBC n - - | |
333 | 'ab??c'i ABC y $& ABC | |
334 | 'ab{0,1}?c'i ABC y $& ABC | |
1462b684 LW |
335 | '^abc$'i ABC y $& ABC |
336 | '^abc$'i ABCC n - - | |
337 | '^abc'i ABCC y $& ABC | |
338 | '^abc$'i AABC n - - | |
339 | 'abc$'i AABC y $& ABC | |
340 | '^'i ABC y $& | |
341 | '$'i ABC y $& | |
342 | 'a.c'i ABC y $& ABC | |
343 | 'a.c'i AXC y $& AXC | |
afefe6bf | 344 | 'a\Nc'i ABC y $& ABC |
a0d0e21e | 345 | 'a.*?c'i AXYZC y $& AXYZC |
1462b684 LW |
346 | 'a.*c'i AXYZD n - - |
347 | 'a[bc]d'i ABC n - - | |
348 | 'a[bc]d'i ABD y $& ABD | |
349 | 'a[b-d]e'i ABD n - - | |
350 | 'a[b-d]e'i ACE y $& ACE | |
351 | 'a[b-d]'i AAC y $& AC | |
352 | 'a[-b]'i A- y $& A- | |
353 | 'a[b-]'i A- y $& A- | |
b2a156bd | 354 | 'a[b-a]'i - c - Invalid [] range \"b-a\" |
24b61696 RK |
355 | 'a[]b'i - c - Unmatched [ |
356 | 'a['i - c - Unmatched [ | |
1462b684 LW |
357 | 'a]'i A] y $& A] |
358 | 'a[]]b'i A]B y $& A]B | |
359 | 'a[^bc]d'i AED y $& AED | |
360 | 'a[^bc]d'i ABD n - - | |
361 | 'a[^-b]c'i ADC y $& ADC | |
362 | 'a[^-b]c'i A-C n - - | |
363 | 'a[^]b]c'i A]C n - - | |
364 | 'a[^]b]c'i ADC y $& ADC | |
365 | 'ab|cd'i ABC y $& AB | |
366 | 'ab|cd'i ABCD y $& AB | |
367 | '()ef'i DEF y $&-$1 EF- | |
24b61696 | 368 | '*a'i - c - Quantifier follows nothing |
e2e6a0f1 YO |
369 | '(|*)b'i - c - Quantifier follows nothing |
370 | '(*)b'i - c - Unknown verb | |
1462b684 | 371 | '$b'i B n - - |
1b1626e4 | 372 | 'a\'i - c - Search pattern not terminated |
1462b684 LW |
373 | 'a\(b'i A(B y $&-$1 A(B- |
374 | 'a\(*b'i AB y $& AB | |
375 | 'a\(*b'i A((B y $& A((B | |
b2a156bd | 376 | 'a\\b'i A\\B y $& A\\B |
24b61696 RK |
377 | 'abc)'i - c - Unmatched ) |
378 | '(abc'i - c - Unmatched ( | |
1462b684 LW |
379 | '((a))'i ABC y $&-$1-$2 A-A-A |
380 | '(a)b(c)'i ABC y $&-$1-$2 ABC-A-C | |
381 | 'a+b+c'i AABBABC y $& ABC | |
382 | 'a{1,}b{1,}c'i AABBABC y $& ABC | |
24b61696 | 383 | 'a**'i - c - Nested quantifiers |
a0d0e21e LW |
384 | 'a.+?c'i ABCABC y $& ABC |
385 | 'a.*?c'i ABCABC y $& ABC | |
386 | 'a.{0,5}?c'i ABCABC y $& ABC | |
1462b684 LW |
387 | '(a+|b)*'i AB y $&-$1 AB-B |
388 | '(a+|b){0,}'i AB y $&-$1 AB-B | |
389 | '(a+|b)+'i AB y $&-$1 AB-B | |
390 | '(a+|b){1,}'i AB y $&-$1 AB-B | |
391 | '(a+|b)?'i AB y $&-$1 A-A | |
392 | '(a+|b){0,1}'i AB y $&-$1 A-A | |
a0d0e21e | 393 | '(a+|b){0,1}?'i AB y $&-$1 - |
24b61696 | 394 | ')('i - c - Unmatched ) |
1462b684 LW |
395 | '[^ab]*'i CDE y $& CDE |
396 | 'abc'i n - - | |
397 | 'a*'i y $& | |
398 | '([abc])*d'i ABBBCD y $&-$1 ABBBCD-C | |
399 | '([abc])*bcd'i ABCD y $&-$1 ABCD-A | |
400 | 'a|b|c|d|e'i E y $& E | |
401 | '(a|b|c|d|e)f'i EF y $&-$1 EF-E | |
1462b684 LW |
402 | 'abcd*efg'i ABCDEFG y $& ABCDEFG |
403 | 'ab*'i XABYABBBZ y $& AB | |
404 | 'ab*'i XAYABBBZ y $& A | |
405 | '(ab|cd)e'i ABCDE y $&-$1 CDE-CD | |
406 | '[abhgefdc]ij'i HIJ y $& HIJ | |
407 | '^(ab|cd)e'i ABCDE n x$1y XY | |
408 | '(abc|)ef'i ABCDEF y $&-$1 EF- | |
409 | '(a|b)c*d'i ABCD y $&-$1 BCD-B | |
410 | '(ab|ab*)bc'i ABC y $&-$1 ABC-A | |
411 | 'a([bc]*)c*'i ABC y $&-$1 ABC-BC | |
412 | 'a([bc]*)(c*d)'i ABCD y $&-$1-$2 ABCD-BC-D | |
413 | 'a([bc]+)(c*d)'i ABCD y $&-$1-$2 ABCD-BC-D | |
414 | 'a([bc]*)(c+d)'i ABCD y $&-$1-$2 ABCD-B-CD | |
415 | 'a[bcd]*dcdcde'i ADCDCDE y $& ADCDCDE | |
416 | 'a[bcd]+dcdcde'i ADCDCDE n - - | |
417 | '(ab|a)b*c'i ABC y $&-$1 ABC-AB | |
418 | '((a)(b)c)(d)'i ABCD y $1-$2-$3-$4 ABC-A-B-D | |
419 | '[a-zA-Z_][a-zA-Z0-9_]*'i ALPHA y $& ALPHA | |
420 | '^a(bc+|b[eh])g|.h$'i ABH y $&-$1 BH- | |
421 | '(bc+d$|ef*g.|h?i(j|k))'i EFFGZ y $&-$1-$2 EFFGZ-EFFGZ- | |
422 | '(bc+d$|ef*g.|h?i(j|k))'i IJ y $&-$1-$2 IJ-IJ-J | |
423 | '(bc+d$|ef*g.|h?i(j|k))'i EFFG n - - | |
424 | '(bc+d$|ef*g.|h?i(j|k))'i BCDD n - - | |
425 | '(bc+d$|ef*g.|h?i(j|k))'i REFFGZ y $&-$1-$2 EFFGZ-EFFGZ- | |
426 | '((((((((((a))))))))))'i A y $10 A | |
427 | '((((((((((a))))))))))\10'i AA y $& AA | |
9d116dd7 JH |
428 | '((((((((((a))))))))))${bang}'i AA n - - |
429 | '((((((((((a))))))))))${bang}'i A! y $& A! | |
1462b684 | 430 | '(((((((((a)))))))))'i A y $& A |
a0d0e21e LW |
431 | '(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))'i A y $1 A |
432 | '(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))'i C y $1 C | |
1462b684 LW |
433 | 'multiple words of text'i UH-UH n - - |
434 | 'multiple words'i MULTIPLE WORDS, YEAH y $& MULTIPLE WORDS | |
435 | '(.*)c(.*)'i ABCDE y $&-$1-$2 ABCDE-AB-DE | |
436 | '\((.*), (.*)\)'i (A, B) y ($2, $1) (B, A) | |
437 | '[k]'i AB n - - | |
b2a156bd DM |
438 | 'abcd'i ABCD y $&-\$&-\\$& ABCD-\$&-\\ABCD |
439 | 'a(bc)d'i ABCD y $1-\$1-\\$1 BC-\$1-\\BC | |
1462b684 LW |
440 | 'a[-]?c'i AC y $& AC |
441 | '(abc)\1'i ABCABC y $1 ABC | |
442 | '([a-c]*)\1'i ABCABC y $1 ABC | |
a0d0e21e | 443 | a(?!b). abad y $& ad |
89c6a13e | 444 | (?=)a a y $& a |
a0d0e21e LW |
445 | a(?=d). abad y $& ad |
446 | a(?=c|d). abad y $& ad | |
447 | a(?:b|c|d)(.) ace y $1 e | |
448 | a(?:b|c|d)*(.) ace y $1 e | |
449 | a(?:b|c|d)+?(.) ace y $1 e | |
c277df42 IZ |
450 | a(?:b|c|d)+?(.) acdbcdbe y $1 d |
451 | a(?:b|c|d)+(.) acdbcdbe y $1 e | |
452 | a(?:b|c|d){2}(.) acdbcdbe y $1 b | |
453 | a(?:b|c|d){4,5}(.) acdbcdbe y $1 b | |
454 | a(?:b|c|d){4,5}?(.) acdbcdbe y $1 d | |
455 | ((foo)|(bar))* foobar y $1-$2-$3 bar-foo-bar | |
9baa0206 | 456 | :(?: - c - Sequence (? incomplete |
c277df42 IZ |
457 | a(?:b|c|d){6,7}(.) acdbcdbe y $1 e |
458 | a(?:b|c|d){6,7}?(.) acdbcdbe y $1 e | |
459 | a(?:b|c|d){5,6}(.) acdbcdbe y $1 e | |
460 | a(?:b|c|d){5,6}?(.) acdbcdbe y $1 b | |
461 | a(?:b|c|d){5,7}(.) acdbcdbe y $1 e | |
462 | a(?:b|c|d){5,7}?(.) acdbcdbe y $1 b | |
a0d0e21e LW |
463 | a(?:b|(c|e){1,2}?|d)+?(.) ace y $1$2 ce |
464 | ^(.+)?B AB y $1 A | |
c277df42 IZ |
465 | ^([^a-z])|(\^)$ . y $1 . |
466 | ^[<>]& <&OUT y $& <& | |
467 | ^(a\1?){4}$ aaaaaaaaaa y $1 aaaa | |
468 | ^(a\1?){4}$ aaaaaaaaa n - - | |
469 | ^(a\1?){4}$ aaaaaaaaaaa n - - | |
af3f8c16 IZ |
470 | ^(a(?(1)\1)){4}$ aaaaaaaaaa y $1 aaaa |
471 | ^(a(?(1)\1)){4}$ aaaaaaaaa n - - | |
472 | ^(a(?(1)\1)){4}$ aaaaaaaaaaa n - - | |
708e3b05 IZ |
473 | ((a{4})+) aaaaaaaaa y $1 aaaaaaaa |
474 | (((aa){2})+) aaaaaaaaaa y $1 aaaaaaaa | |
475 | (((a{2}){2})+) aaaaaaaaaa y $1 aaaaaaaa | |
c277df42 IZ |
476 | (?:(f)(o)(o)|(b)(a)(r))* foobar y $1:$2:$3:$4:$5:$6 f:o:o:b:a:r |
477 | (?<=a)b ab y $& b | |
478 | (?<=a)b cb n - - | |
479 | (?<=a)b b n - - | |
480 | (?<!c)b ab y $& b | |
481 | (?<!c)b cb n - - | |
482 | (?<!c)b b y - - | |
483 | (?<!c)b b y $& b | |
1f4f6bf1 | 484 | (?<%)b - c - Group name must start with a non-digit word character |
c277df42 IZ |
485 | (?:..)*a aba y $& aba |
486 | (?:..)*?a aba y $& a | |
487 | ^(?:b|a(?=(.)))*\1 abc y $& ab | |
488 | ^(){3,5} abc y a$1 a | |
489 | ^(a+)*ax aax y $1 a | |
490 | ^((a|b)+)*ax aax y $1 a | |
491 | ^((a|bc)+)*ax aax y $1 a | |
492 | (a|x)*ab cab y y$1 y | |
493 | (a)*ab cab y y$1 y | |
494 | (?:(?i)a)b ab y $& ab | |
495 | ((?i)a)b ab y $&:$1 ab:a | |
496 | (?:(?i)a)b Ab y $& Ab | |
497 | ((?i)a)b Ab y $&:$1 Ab:A | |
498 | (?:(?i)a)b aB n - - | |
499 | ((?i)a)b aB n - - | |
ca9dfc88 IZ |
500 | (?i:a)b ab y $& ab |
501 | ((?i:a))b ab y $&:$1 ab:a | |
502 | (?i:a)b Ab y $& Ab | |
503 | ((?i:a))b Ab y $&:$1 Ab:A | |
504 | (?i:a)b aB n - - | |
505 | ((?i:a))b aB n - - | |
506 | '(?:(?-i)a)b'i ab y $& ab | |
507 | '((?-i)a)b'i ab y $&:$1 ab:a | |
508 | '(?:(?-i)a)b'i aB y $& aB | |
509 | '((?-i)a)b'i aB y $&:$1 aB:a | |
510 | '(?:(?-i)a)b'i Ab n - - | |
511 | '((?-i)a)b'i Ab n - - | |
512 | '(?:(?-i)a)b'i aB y $& aB | |
513 | '((?-i)a)b'i aB y $1 a | |
514 | '(?:(?-i)a)b'i AB n - - | |
515 | '((?-i)a)b'i AB n - - | |
516 | '(?-i:a)b'i ab y $& ab | |
517 | '((?-i:a))b'i ab y $&:$1 ab:a | |
518 | '(?-i:a)b'i aB y $& aB | |
519 | '((?-i:a))b'i aB y $&:$1 aB:a | |
520 | '(?-i:a)b'i Ab n - - | |
521 | '((?-i:a))b'i Ab n - - | |
522 | '(?-i:a)b'i aB y $& aB | |
523 | '((?-i:a))b'i aB y $1 a | |
524 | '(?-i:a)b'i AB n - - | |
525 | '((?-i:a))b'i AB n - - | |
526 | '((?-i:a.))b'i a\nB n - - | |
afefe6bf | 527 | '((?-i:a\N))b'i a\nB n - - |
ca9dfc88 | 528 | '((?s-i:a.))b'i a\nB y $1 a\n |
afefe6bf | 529 | '((?s-i:a\N))b'i a\nB n - - |
ca9dfc88 | 530 | '((?s-i:a.))b'i B\nB n - - |
afefe6bf | 531 | '((?s-i:a\N))b'i B\nB n - - |
c277df42 IZ |
532 | (?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b))) cabbbb y $& cabbbb |
533 | (?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb))) caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb y $& caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb | |
534 | '(ab)\d\1'i Ab4ab y $1 Ab | |
535 | '(ab)\d\1'i ab4Ab y $1 ab | |
ad4f75a6 | 536 | foo\w*\d{4}baz foobar1234baz y $& foobar1234baz |
61525e55 | 537 | a(?{})b cabd y $& ab |
9da1dd8f DM |
538 | a(?{f()+ - c - Missing right curly or square bracket |
539 | a(?{{1}+ - c - Missing right curly or square bracket | |
380a0633 | 540 | a(?{}})b - c - |
b30fcab9 | 541 | a(?{"{"})b ab y - - |
61525e55 | 542 | a(?{"\{"})b cabd y $& ab |
9da1dd8f | 543 | a(?{"{"}})b - c - Sequence (?{...}) not terminated with ')' |
94c1d7aa | 544 | a(?{$::bl="\{"}).b caxbd y $::bl { |
c277df42 IZ |
545 | x(~~)*(?:(?:F)?)? x~~ y - - |
546 | ^a(?#xxx){3}c aaac y $& aaac | |
547 | '^a (?#xxx) (?#yyy) {3}c'x aaac y $& aaac | |
548 | (?<![cd])b dbcb n - - | |
549 | (?<![cd])[ab] dbaacb y $& a | |
550 | (?<!(c|d))b dbcb n - - | |
551 | (?<!(c|d))[ab] dbaacb y $& a | |
552 | (?<!cd)[ab] cdaccb y $& b | |
553 | ^(?:a?b?)*$ a-- n - - | |
554 | ((?s)^a(.))((?m)^b$) a\nb\nc\n y $1;$2;$3 a\n;\n;b | |
555 | ((?m)^b$) a\nb\nc\n y $1 b | |
556 | (?m)^b a\nb\n y $& b | |
557 | (?m)^(b) a\nb\n y $1 b | |
558 | ((?m)^b) a\nb\n y $1 b | |
559 | \n((?m)^b) a\nb\n y $1 b | |
560 | ((?s).)c(?!.) a\nb\nc\n y $1 \n | |
561 | ((?s).)c(?!.) a\nb\nc\n y $1:$& \n:\nc | |
562 | ((?s)b.)c(?!.) a\nb\nc\n y $1 b\n | |
563 | ((?s)b.)c(?!.) a\nb\nc\n y $1:$& b\n:b\nc | |
cbf4a129 RGS |
564 | ((?s)b.)c(?!\N) a\nb\nc\n y $1:$& b\n:b\nc |
565 | '(b.)c(?!\N)'s a\nb\nc\n y $1:$& b\n:b\nc | |
c277df42 IZ |
566 | ^b a\nb\nc\n n - - |
567 | ()^b a\nb\nc\n n - - | |
568 | ((?m)^b) a\nb\nc\n y $1 b | |
569 | (?(1)a|b) a n - - | |
570 | (?(1)b|a) a y $& a | |
571 | (x)?(?(1)a|b) a n - - | |
572 | (x)?(?(1)b|a) a y $& a | |
573 | ()?(?(1)b|a) a y $& a | |
574 | ()(?(1)b|a) a n - - | |
575 | ()?(?(1)a|b) a y $& a | |
576 | ^(\()?blah(?(1)(\)))$ (blah) y $2 ) | |
577 | ^(\()?blah(?(1)(\)))$ blah y ($2) () | |
578 | ^(\()?blah(?(1)(\)))$ blah) n - - | |
579 | ^(\()?blah(?(1)(\)))$ (blah n - - | |
580 | ^(\(+)?blah(?(1)(\)))$ (blah) y $2 ) | |
581 | ^(\(+)?blah(?(1)(\)))$ blah y ($2) () | |
582 | ^(\(+)?blah(?(1)(\)))$ blah) n - - | |
583 | ^(\(+)?blah(?(1)(\)))$ (blah n - - | |
24b61696 RK |
584 | (?(1?)a|b) a c - Switch condition not recognized |
585 | (?(1)a|b|c) a c - Switch (?(condition)... contains too many branches | |
61525e55 NC |
586 | (?(?{0})a|b) a n - - |
587 | (?(?{0})b|a) a y $& a | |
588 | (?(?{1})b|a) a n - - | |
589 | (?(?{1})a|b) a y $& a | |
c277df42 IZ |
590 | (?(?!a)a|b) a n - - |
591 | (?(?!a)b|a) a y $& a | |
592 | (?(?=a)b|a) a n - - | |
593 | (?(?=a)a|b) a y $& a | |
594 | (?=(a+?))(\1ab) aaab y $2 aab | |
595 | ^(?=(a+?))\1ab aaab n - - | |
596 | (\w+:)+ one: y $1 one: | |
597 | $(?<=^(a)) a y $1 a | |
598 | (?=(a+?))(\1ab) aaab y $2 aab | |
599 | ^(?=(a+?))\1ab aaab n - - | |
600 | ([\w:]+::)?(\w+)$ abcd: n - - | |
601 | ([\w:]+::)?(\w+)$ abcd y $1-$2 -abcd | |
602 | ([\w:]+::)?(\w+)$ xy:z:::abcd y $1-$2 xy:z:::-abcd | |
603 | ^[^bcd]*(c+) aexycd y $1 c | |
604 | (a*)b+ caab y $1 aa | |
605 | ([\w:]+::)?(\w+)$ abcd: n - - | |
606 | ([\w:]+::)?(\w+)$ abcd y $1-$2 -abcd | |
607 | ([\w:]+::)?(\w+)$ xy:z:::abcd y $1-$2 xy:z:::-abcd | |
608 | ^[^bcd]*(c+) aexycd y $1 c | |
94c1d7aa DM |
609 | (?{$a=2})a*aa(?{local$a=$a+1})k*c(?{$b=$a}) yaaxxaaaacd y $b 3 |
610 | (?{$a=2})(a(?{local$a=$a+1}))*aak*c(?{$b=$a}) yaaxxaaaacd y $b 4 | |
c277df42 | 611 | (>a+)ab aaab n - - |
fe44a5e8 | 612 | (?>a+)b aaab y - - |
4599a1de JH |
613 | ([[:]+) a:[b]: y $1 :[ |
614 | ([[=]+) a=[b]= y $1 =[ | |
615 | ([[.]+) a.[b]. y $1 .[ | |
24b61696 RK |
616 | [a[:xyz: - c - Unmatched [ |
617 | [a[:xyz:] - c - POSIX class [:xyz:] unknown | |
767d463e | 618 | [a[:]b[:c] abc y $& abc |
24b61696 | 619 | ([a[:xyz:]b]+) pbaq c - POSIX class [:xyz:] unknown |
b8c5462f JH |
620 | [a[:]b[:c] abc y $& abc |
621 | ([[:alpha:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd | |
622 | ([[:alnum:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy | |
623 | ([[:ascii:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy__-- ${nulnul} | |
624 | ([[:cntrl:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ${nulnul} | |
625 | ([[:digit:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 01 | |
626 | ([[:graph:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy__-- | |
627 | ([[:lower:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 cd | |
628 | ([[:print:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy__-- | |
629 | ([[:punct:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 __-- | |
630 | ([[:space:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 | |
631 | ([[:word:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy__ | |
632 | ([[:upper:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 AB | |
633 | ([[:xdigit:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01 | |
634 | ([[:^alpha:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 01 | |
cfaf538b | 635 | ((?a)[[:^alnum:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 __-- ${nulnul}${ffff} |
b8c5462f JH |
636 | ([[:^ascii:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ${ffff} |
637 | ([[:^cntrl:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy__-- | |
638 | ([[:^digit:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd | |
639 | ([[:^lower:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 AB | |
cfaf538b | 640 | ((?a)[[:^print:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ${nulnul}${ffff} |
b8c5462f JH |
641 | ([[:^punct:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy |
642 | ([[:^space:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy__-- | |
cfaf538b | 643 | ((?a)[[:^word:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 -- ${nulnul}${ffff} |
b8c5462f JH |
644 | ([[:^upper:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 cd01 |
645 | ([[:^xdigit:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 Xy__-- ${nulnul}${ffff} | |
24b61696 RK |
646 | [[:foo:]] - c - POSIX class [:foo:] unknown |
647 | [[:^foo:]] - c - POSIX class [:^foo:] unknown | |
fe44a5e8 IZ |
648 | ((?>a+)b) aaab y $1 aaab |
649 | (?>(a+))b aaab y $1 aaa | |
c277df42 | 650 | ((?>[^()]+)|\([^()]*\))+ ((abc(ade)ufh()()x y $& abc(ade)ufh()()x |
24b61696 | 651 | (?<=x+)y - c - Variable length lookbehind not implemented |
9baa0206 | 652 | a{37,17} - c - Can't do {n,m} with n > m |
8fa23287 | 653 | a{37,0} - c - Can't do {n,m} with n > m |
cf93c79d IZ |
654 | \Z a\nb\n y $-[0] 3 |
655 | \z a\nb\n y $-[0] 4 | |
656 | $ a\nb\n y $-[0] 3 | |
657 | \Z b\na\n y $-[0] 3 | |
658 | \z b\na\n y $-[0] 4 | |
659 | $ b\na\n y $-[0] 3 | |
660 | \Z b\na y $-[0] 3 | |
661 | \z b\na y $-[0] 3 | |
662 | $ b\na y $-[0] 3 | |
663 | '\Z'm a\nb\n y $-[0] 3 | |
664 | '\z'm a\nb\n y $-[0] 4 | |
665 | '$'m a\nb\n y $-[0] 1 | |
666 | '\Z'm b\na\n y $-[0] 3 | |
667 | '\z'm b\na\n y $-[0] 4 | |
668 | '$'m b\na\n y $-[0] 1 | |
669 | '\Z'm b\na y $-[0] 3 | |
670 | '\z'm b\na y $-[0] 3 | |
671 | '$'m b\na y $-[0] 1 | |
b85d18e9 | 672 | a\Z a\nb\n n - - |
cf93c79d IZ |
673 | a\z a\nb\n n - - |
674 | a$ a\nb\n n - - | |
675 | a\Z b\na\n y $-[0] 2 | |
676 | a\z b\na\n n - - | |
677 | a$ b\na\n y $-[0] 2 | |
678 | a\Z b\na y $-[0] 2 | |
679 | a\z b\na y $-[0] 2 | |
680 | a$ b\na y $-[0] 2 | |
a1917ab9 | 681 | 'a\Z'm a\nb\n n - - |
cf93c79d IZ |
682 | 'a\z'm a\nb\n n - - |
683 | 'a$'m a\nb\n y $-[0] 0 | |
684 | 'a\Z'm b\na\n y $-[0] 2 | |
685 | 'a\z'm b\na\n n - - | |
686 | 'a$'m b\na\n y $-[0] 2 | |
687 | 'a\Z'm b\na y $-[0] 2 | |
688 | 'a\z'm b\na y $-[0] 2 | |
689 | 'a$'m b\na y $-[0] 2 | |
690 | aa\Z aa\nb\n n - - | |
691 | aa\z aa\nb\n n - - | |
692 | aa$ aa\nb\n n - - | |
693 | aa\Z b\naa\n y $-[0] 2 | |
694 | aa\z b\naa\n n - - | |
695 | aa$ b\naa\n y $-[0] 2 | |
696 | aa\Z b\naa y $-[0] 2 | |
697 | aa\z b\naa y $-[0] 2 | |
698 | aa$ b\naa y $-[0] 2 | |
a1917ab9 | 699 | 'aa\Z'm aa\nb\n n - - |
cf93c79d IZ |
700 | 'aa\z'm aa\nb\n n - - |
701 | 'aa$'m aa\nb\n y $-[0] 0 | |
702 | 'aa\Z'm b\naa\n y $-[0] 2 | |
703 | 'aa\z'm b\naa\n n - - | |
704 | 'aa$'m b\naa\n y $-[0] 2 | |
705 | 'aa\Z'm b\naa y $-[0] 2 | |
706 | 'aa\z'm b\naa y $-[0] 2 | |
707 | 'aa$'m b\naa y $-[0] 2 | |
708 | aa\Z ac\nb\n n - - | |
709 | aa\z ac\nb\n n - - | |
710 | aa$ ac\nb\n n - - | |
711 | aa\Z b\nac\n n - - | |
712 | aa\z b\nac\n n - - | |
713 | aa$ b\nac\n n - - | |
714 | aa\Z b\nac n - - | |
715 | aa\z b\nac n - - | |
716 | aa$ b\nac n - - | |
717 | 'aa\Z'm ac\nb\n n - - | |
718 | 'aa\z'm ac\nb\n n - - | |
719 | 'aa$'m ac\nb\n n - - | |
720 | 'aa\Z'm b\nac\n n - - | |
721 | 'aa\z'm b\nac\n n - - | |
722 | 'aa$'m b\nac\n n - - | |
723 | 'aa\Z'm b\nac n - - | |
724 | 'aa\z'm b\nac n - - | |
725 | 'aa$'m b\nac n - - | |
726 | aa\Z ca\nb\n n - - | |
727 | aa\z ca\nb\n n - - | |
728 | aa$ ca\nb\n n - - | |
729 | aa\Z b\nca\n n - - | |
730 | aa\z b\nca\n n - - | |
731 | aa$ b\nca\n n - - | |
732 | aa\Z b\nca n - - | |
733 | aa\z b\nca n - - | |
734 | aa$ b\nca n - - | |
735 | 'aa\Z'm ca\nb\n n - - | |
736 | 'aa\z'm ca\nb\n n - - | |
737 | 'aa$'m ca\nb\n n - - | |
738 | 'aa\Z'm b\nca\n n - - | |
739 | 'aa\z'm b\nca\n n - - | |
740 | 'aa$'m b\nca\n n - - | |
741 | 'aa\Z'm b\nca n - - | |
742 | 'aa\z'm b\nca n - - | |
743 | 'aa$'m b\nca n - - | |
744 | ab\Z ab\nb\n n - - | |
745 | ab\z ab\nb\n n - - | |
746 | ab$ ab\nb\n n - - | |
747 | ab\Z b\nab\n y $-[0] 2 | |
748 | ab\z b\nab\n n - - | |
749 | ab$ b\nab\n y $-[0] 2 | |
750 | ab\Z b\nab y $-[0] 2 | |
751 | ab\z b\nab y $-[0] 2 | |
752 | ab$ b\nab y $-[0] 2 | |
a1917ab9 | 753 | 'ab\Z'm ab\nb\n n - - |
cf93c79d IZ |
754 | 'ab\z'm ab\nb\n n - - |
755 | 'ab$'m ab\nb\n y $-[0] 0 | |
756 | 'ab\Z'm b\nab\n y $-[0] 2 | |
757 | 'ab\z'm b\nab\n n - - | |
758 | 'ab$'m b\nab\n y $-[0] 2 | |
759 | 'ab\Z'm b\nab y $-[0] 2 | |
760 | 'ab\z'm b\nab y $-[0] 2 | |
761 | 'ab$'m b\nab y $-[0] 2 | |
762 | ab\Z ac\nb\n n - - | |
763 | ab\z ac\nb\n n - - | |
764 | ab$ ac\nb\n n - - | |
765 | ab\Z b\nac\n n - - | |
766 | ab\z b\nac\n n - - | |
767 | ab$ b\nac\n n - - | |
768 | ab\Z b\nac n - - | |
769 | ab\z b\nac n - - | |
770 | ab$ b\nac n - - | |
771 | 'ab\Z'm ac\nb\n n - - | |
772 | 'ab\z'm ac\nb\n n - - | |
773 | 'ab$'m ac\nb\n n - - | |
774 | 'ab\Z'm b\nac\n n - - | |
775 | 'ab\z'm b\nac\n n - - | |
776 | 'ab$'m b\nac\n n - - | |
777 | 'ab\Z'm b\nac n - - | |
778 | 'ab\z'm b\nac n - - | |
779 | 'ab$'m b\nac n - - | |
780 | ab\Z ca\nb\n n - - | |
781 | ab\z ca\nb\n n - - | |
782 | ab$ ca\nb\n n - - | |
783 | ab\Z b\nca\n n - - | |
784 | ab\z b\nca\n n - - | |
785 | ab$ b\nca\n n - - | |
786 | ab\Z b\nca n - - | |
787 | ab\z b\nca n - - | |
788 | ab$ b\nca n - - | |
789 | 'ab\Z'm ca\nb\n n - - | |
790 | 'ab\z'm ca\nb\n n - - | |
791 | 'ab$'m ca\nb\n n - - | |
792 | 'ab\Z'm b\nca\n n - - | |
793 | 'ab\z'm b\nca\n n - - | |
794 | 'ab$'m b\nca\n n - - | |
795 | 'ab\Z'm b\nca n - - | |
796 | 'ab\z'm b\nca n - - | |
797 | 'ab$'m b\nca n - - | |
798 | abb\Z abb\nb\n n - - | |
799 | abb\z abb\nb\n n - - | |
800 | abb$ abb\nb\n n - - | |
801 | abb\Z b\nabb\n y $-[0] 2 | |
802 | abb\z b\nabb\n n - - | |
803 | abb$ b\nabb\n y $-[0] 2 | |
804 | abb\Z b\nabb y $-[0] 2 | |
805 | abb\z b\nabb y $-[0] 2 | |
806 | abb$ b\nabb y $-[0] 2 | |
a1917ab9 | 807 | 'abb\Z'm abb\nb\n n - - |
cf93c79d IZ |
808 | 'abb\z'm abb\nb\n n - - |
809 | 'abb$'m abb\nb\n y $-[0] 0 | |
810 | 'abb\Z'm b\nabb\n y $-[0] 2 | |
811 | 'abb\z'm b\nabb\n n - - | |
812 | 'abb$'m b\nabb\n y $-[0] 2 | |
813 | 'abb\Z'm b\nabb y $-[0] 2 | |
814 | 'abb\z'm b\nabb y $-[0] 2 | |
815 | 'abb$'m b\nabb y $-[0] 2 | |
816 | abb\Z ac\nb\n n - - | |
817 | abb\z ac\nb\n n - - | |
818 | abb$ ac\nb\n n - - | |
819 | abb\Z b\nac\n n - - | |
820 | abb\z b\nac\n n - - | |
821 | abb$ b\nac\n n - - | |
822 | abb\Z b\nac n - - | |
823 | abb\z b\nac n - - | |
824 | abb$ b\nac n - - | |
825 | 'abb\Z'm ac\nb\n n - - | |
826 | 'abb\z'm ac\nb\n n - - | |
827 | 'abb$'m ac\nb\n n - - | |
828 | 'abb\Z'm b\nac\n n - - | |
829 | 'abb\z'm b\nac\n n - - | |
830 | 'abb$'m b\nac\n n - - | |
831 | 'abb\Z'm b\nac n - - | |
832 | 'abb\z'm b\nac n - - | |
833 | 'abb$'m b\nac n - - | |
834 | abb\Z ca\nb\n n - - | |
835 | abb\z ca\nb\n n - - | |
836 | abb$ ca\nb\n n - - | |
837 | abb\Z b\nca\n n - - | |
838 | abb\z b\nca\n n - - | |
839 | abb$ b\nca\n n - - | |
840 | abb\Z b\nca n - - | |
841 | abb\z b\nca n - - | |
842 | abb$ b\nca n - - | |
843 | 'abb\Z'm ca\nb\n n - - | |
844 | 'abb\z'm ca\nb\n n - - | |
845 | 'abb$'m ca\nb\n n - - | |
846 | 'abb\Z'm b\nca\n n - - | |
847 | 'abb\z'm b\nca\n n - - | |
848 | 'abb$'m b\nca\n n - - | |
849 | 'abb\Z'm b\nca n - - | |
850 | 'abb\z'm b\nca n - - | |
851 | 'abb$'m b\nca n - - | |
8e680dc3 | 852 | (^|x)(c) ca y $2 c |
aca2d497 | 853 | a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz x n - - |
94c1d7aa | 854 | a(?{$a=2;$b=3;($b)=$a})b yabz y $b 2 |
9fe1d20c | 855 | round\(((?>[^()]+))\) _I(round(xs * sz),1) y $1 xs * sz |
ce3e6498 HS |
856 | '((?x:.) )' x y $1- x - |
857 | '((?-x:.) )'x x y $1- x- | |
adac82c7 | 858 | foo.bart foo.bart y - - |
2c2d71f5 JH |
859 | '^d[x][x][x]'m abcd\ndxxx y - - |
860 | .X(.+)+X bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y - - | |
861 | .X(.+)+XX bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y - - | |
862 | .XX(.+)+X bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y - - | |
863 | .X(.+)+X bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - - | |
864 | .X(.+)+XX bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - - | |
865 | .XX(.+)+X bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - - | |
866 | .X(.+)+[X] bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y - - | |
867 | .X(.+)+[X][X] bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y - - | |
868 | .XX(.+)+[X] bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y - - | |
869 | .X(.+)+[X] bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - - | |
870 | .X(.+)+[X][X] bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - - | |
871 | .XX(.+)+[X] bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - - | |
872 | .[X](.+)+[X] bbbbXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y - - | |
873 | .[X](.+)+[X][X] bbbbXcXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y - - | |
874 | .[X][X](.+)+[X] bbbbXXcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y - - | |
875 | .[X](.+)+[X] bbbbXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - - | |
876 | .[X](.+)+[X][X] bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - - | |
877 | .[X][X](.+)+[X] bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa n - - | |
878 | tt+$ xxxtt y - - | |
1209ba90 | 879 | ([a-\d]+) za-9z y $1 a-9 |
1209ba90 | 880 | ([\d-z]+) a0-za y $1 0-z |
73b437c8 | 881 | ([\d-\s]+) a0- z y $1 0- |
1209ba90 | 882 | ([a-[:digit:]]+) za-9z y $1 a-9 |
1209ba90 | 883 | ([[:digit:]-z]+) =0-z= y $1 0-z |
73b437c8 | 884 | ([[:digit:]-[:alpha:]]+) =0-z= y $1 0-z |
30382c73 | 885 | \GX.*X aaaXbX n - - |
6eb5f6b9 JH |
886 | (\d+\.\d+) 3.1415926 y $1 3.1415926 |
887 | (\ba.{0,10}br) have a web browser y $1 a web br | |
66e933ab GS |
888 | '\.c(pp|xx|c)?$'i Changes n - - |
889 | '\.c(pp|xx|c)?$'i IO.c y - - | |
890 | '(\.c(pp|xx|c)?$)'i IO.c y $1 .c | |
653099ff | 891 | ^([a-z]:) C:/ n - - |
60e71179 | 892 | '^\S\s+aa$'m \nx aa y - - |
de0c8cb8 | 893 | (^|a)b ab y - - |
f06a1d4e | 894 | ^([ab]*?)(b)?(c)$ abac y -$2- -- |
29d1e993 | 895 | (\w)?(abc)\1b abcab n - - |
2a8d9689 HS |
896 | ^(?:.,){2}c a,b,c y - - |
897 | ^(.,){2}c a,b,c y $1 b, | |
898 | ^(?:[^,]*,){2}c a,b,c y - - | |
899 | ^([^,]*,){2}c a,b,c y $1 b, | |
4b2cff9a HS |
900 | ^([^,]*,){3}d aaa,b,c,d y $1 c, |
901 | ^([^,]*,){3,}d aaa,b,c,d y $1 c, | |
902 | ^([^,]*,){0,3}d aaa,b,c,d y $1 c, | |
903 | ^([^,]{1,3},){3}d aaa,b,c,d y $1 c, | |
904 | ^([^,]{1,3},){3,}d aaa,b,c,d y $1 c, | |
905 | ^([^,]{1,3},){0,3}d aaa,b,c,d y $1 c, | |
906 | ^([^,]{1,},){3}d aaa,b,c,d y $1 c, | |
907 | ^([^,]{1,},){3,}d aaa,b,c,d y $1 c, | |
908 | ^([^,]{1,},){0,3}d aaa,b,c,d y $1 c, | |
909 | ^([^,]{0,3},){3}d aaa,b,c,d y $1 c, | |
910 | ^([^,]{0,3},){3,}d aaa,b,c,d y $1 c, | |
911 | ^([^,]{0,3},){0,3}d aaa,b,c,d y $1 c, | |
bf93d4cc | 912 | (?i) y - - |
cfaf538b | 913 | (?a:((?u)\w)\W) \xC0\xC0 y $& \xC0\xC0 |
c2a73568 | 914 | '(?!\A)x'm a\nxb\n y - - |
c1d44abf JH |
915 | ^(a(b)?)+$ aba y -$1-$2- -a-- |
916 | ^(aa(bb)?)+$ aabbaa y -$1-$2- -aa-- | |
0e41cd87 | 917 | '^.{9}abc.*\n'm 123\nabcabcabcabc\n y - - |
66417f84 HS |
918 | ^(a)?a$ a y -$1- -- |
919 | ^(a)?(?(1)a|b)+$ a n - - | |
cb434fcc IZ |
920 | ^(a\1?)(a\1?)(a\2?)(a\3?)$ aaaaaa y $1,$2,$3,$4 a,aa,a,aa |
921 | ^(a\1?){4}$ aaaaaa y $1 aa | |
922 | ^(0+)?(?:x(1))? x1 y - - | |
923 | ^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))? 012cxx0190 y - - | |
e1901655 IZ |
924 | ^(b+?|a){1,2}c bbbac y $1 a |
925 | ^(b+?|a){1,2}c bbbbac y $1 a | |
2e36c929 | 926 | \((\w\. \w+)\) cd. (A. Tw) y -$1- -A. Tw- |
f49d4d0f HS |
927 | ((?:aaaa|bbbb)cccc)? aaaacccc y - - |
928 | ((?:aaaa|bbbb)cccc)? bbbbcccc y - - | |
36670241 JH |
929 | (a)?(a)+ a y $1:$2 :a - |
930 | (ab)?(ab)+ ab y $1:$2 :ab - | |
931 | (abc)?(abc)+ abc y $1:$2 :abc - | |
12d33761 | 932 | 'b\s^'m a\nb\n n - - |
ee0b7718 | 933 | \ba a y - - |
61525e55 | 934 | ^(a(??{"(?!)"})|(a)(?{1}))b ab y $2 a # [ID 20010811.006] |
055bb491 HS |
935 | ab(?i)cd AbCd n - - # [ID 20010809.023] |
936 | ab(?i)cd abCd y - - | |
f31a99c8 HS |
937 | (A|B)*(?(1)(CD)|(CD)) CD y $2-$3 -CD |
938 | (A|B)*(?(1)(CD)|(CD)) ABCD y $2-$3 CD- | |
939 | (A|B)*?(?(1)(CD)|(CD)) CD y $2-$3 -CD # [ID 20010803.016] | |
940 | (A|B)*?(?(1)(CD)|(CD)) ABCD y $2-$3 CD- | |
f65d3ee7 | 941 | '^(o)(?!.*\1)'i Oo n - - |
24ba5a3c | 942 | (.*)\d+\1 abc12bc y $1 bc |
1ac24cf0 | 943 | (?m:(foo\s*$)) foo\n bar y $1 foo |
a84d97b6 HS |
944 | (.*)c abcd y $1 ab |
945 | (.*)(?=c) abcd y $1 ab | |
946 | (.*)(?=c)c abcd yB $1 ab | |
947 | (.*)(?=b|c) abcd y $1 ab | |
948 | (.*)(?=b|c)c abcd y $1 ab | |
949 | (.*)(?=c|b) abcd y $1 ab | |
950 | (.*)(?=c|b)c abcd y $1 ab | |
951 | (.*)(?=[bc]) abcd y $1 ab | |
952 | (.*)(?=[bc])c abcd yB $1 ab | |
953 | (.*)(?<=b) abcd y $1 ab | |
954 | (.*)(?<=b)c abcd y $1 ab | |
955 | (.*)(?<=b|c) abcd y $1 abc | |
956 | (.*)(?<=b|c)c abcd y $1 ab | |
957 | (.*)(?<=c|b) abcd y $1 abc | |
958 | (.*)(?<=c|b)c abcd y $1 ab | |
959 | (.*)(?<=[bc]) abcd y $1 abc | |
960 | (.*)(?<=[bc])c abcd y $1 ab | |
961 | (.*?)c abcd y $1 ab | |
962 | (.*?)(?=c) abcd y $1 ab | |
963 | (.*?)(?=c)c abcd yB $1 ab | |
964 | (.*?)(?=b|c) abcd y $1 a | |
965 | (.*?)(?=b|c)c abcd y $1 ab | |
966 | (.*?)(?=c|b) abcd y $1 a | |
967 | (.*?)(?=c|b)c abcd y $1 ab | |
968 | (.*?)(?=[bc]) abcd y $1 a | |
969 | (.*?)(?=[bc])c abcd yB $1 ab | |
970 | (.*?)(?<=b) abcd y $1 ab | |
971 | (.*?)(?<=b)c abcd y $1 ab | |
972 | (.*?)(?<=b|c) abcd y $1 ab | |
973 | (.*?)(?<=b|c)c abcd y $1 ab | |
974 | (.*?)(?<=c|b) abcd y $1 ab | |
975 | (.*?)(?<=c|b)c abcd y $1 ab | |
976 | (.*?)(?<=[bc]) abcd y $1 ab | |
977 | (.*?)(?<=[bc])c abcd y $1 ab | |
d3aea5f7 | 978 | 2(]*)?$\1 2 y $& 2 |
61525e55 | 979 | (??{}) x y - - |
ecc99935 | 980 | a(b)?? abc y <$1> <> # undef [perl #16773] |
c152dc43 | 981 | (\d{1,3}\.){3,} 128.134.142.8 y <$1> <142.> # [perl #18019] |
b0e70d55 HS |
982 | ^.{3,4}(.+)\1\z foobarbar y $1 bar # 16 tests for [perl #23171] |
983 | ^(?:f|o|b){3,4}(.+)\1\z foobarbar y $1 bar | |
984 | ^.{3,4}((?:b|a|r)+)\1\z foobarbar y $1 bar | |
985 | ^(?:f|o|b){3,4}((?:b|a|r)+)\1\z foobarbar y $1 bar | |
986 | ^.{3,4}(.+?)\1\z foobarbar y $1 bar | |
987 | ^(?:f|o|b){3,4}(.+?)\1\z foobarbar y $1 bar | |
988 | ^.{3,4}((?:b|a|r)+?)\1\z foobarbar y $1 bar | |
989 | ^(?:f|o|b){3,4}((?:b|a|r)+?)\1\z foobarbar y $1 bar | |
990 | ^.{2,3}?(.+)\1\z foobarbar y $1 bar | |
991 | ^(?:f|o|b){2,3}?(.+)\1\z foobarbar y $1 bar | |
992 | ^.{2,3}?((?:b|a|r)+)\1\z foobarbar y $1 bar | |
993 | ^(?:f|o|b){2,3}?((?:b|a|r)+)\1\z foobarbar y $1 bar | |
994 | ^.{2,3}?(.+?)\1\z foobarbar y $1 bar | |
995 | ^(?:f|o|b){2,3}?(.+?)\1\z foobarbar y $1 bar | |
996 | ^.{2,3}?((?:b|a|r)+?)\1\z foobarbar y $1 bar | |
997 | ^(?:f|o|b){2,3}?((?:b|a|r)+?)\1\z foobarbar y $1 bar | |
c2b0868c | 998 | .*a(?!(b|cd)*e).*f ......abef n - - # [perl #23030] |
e994fd66 AE |
999 | x(?# x c - Sequence (?#... not terminated |
1000 | :x(?#: x c - Sequence (?#... not terminated | |
a3621e74 YO |
1001 | (WORDS|WORD)S WORDS y $1 WORD |
1002 | (X.|WORDS|X.|WORD)S WORDS y $1 WORD | |
1003 | (WORDS|WORLD|WORD)S WORDS y $1 WORD | |
1004 | (X.|WORDS|WORD|Y.)S WORDS y $1 WORD | |
1005 | (foo|fool|x.|money|parted)$ fool y $1 fool | |
1006 | (x.|foo|fool|x.|money|parted|y.)$ fool y $1 fool | |
1007 | (foo|fool|money|parted)$ fool y $1 fool | |
1008 | (foo|fool|x.|money|parted)$ fools n - - | |
1009 | (x.|foo|fool|x.|money|parted|y.)$ fools n - - | |
1010 | (foo|fool|money|parted)$ fools n - - | |
3dab1dad | 1011 | (a|aa|aaa||aaaa|aaaaa|aaaaaa)(b|c) aaaaaaaaaaaaaaab y $1$2 aaaaaab |
61525e55 NC |
1012 | (a|aa|aaa||aaaa|aaaaa|aaaaaa)(??{$1&&""})(b|c) aaaaaaaaaaaaaaab y $1$2 aaaaaab |
1013 | (a|aa|aaa|aaaa|aaaaa|aaaaaa)(??{$1&&"foo"})(b|c) aaaaaaaaaaaaaaab n - - | |
3ab3c9b4 HS |
1014 | ^(a*?)(?!(aa|aaaa)*$) aaaaaaaaaaaaaaaaaaaa y $1 a # [perl #34195] |
1015 | ^(a*?)(?!(aa|aaaa)*$)(?=a\z) aaaaaaaa y $1 aaaaaaa | |
c315bfe8 | 1016 | ^(.)\s+.$(?(1)) A B y $1 A # [perl #37688] |
3a2830be A |
1017 | (?:r?)*?r|(.{2,4}) abcde y $1 abcd |
1018 | (?!)+?|(.{2,4}) abcde y $1 abcd | |
7409bbd3 | 1019 | ^(a*?)(?!(a{6}|a{5})*$) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa y $+[1] 12 # super-linear cache bug may return 18 |
dad79028 DM |
1020 | ^((?>(?:aa)?b)?) aab y $1 aab |
1021 | ^((?:aa)*)(?:X+((?:\d+|-)(?:X+(.+))?))?$ aaaaX5 y $1 aaaa | |
3dab1dad YO |
1022 | X(A|B||C|D)Y XXXYYY y $& XY # Trie w/ NOTHING |
1023 | (?i:X([A]|[B]|y[Y]y|[D]|)Y) XXXYYYB y $& XY # Trie w/ NOTHING | |
40a82448 | 1024 | ^([a]{1})*$ aa y $1 a |
3298f257 DM |
1025 | a(?!b(?!c))(..) abababc y $1 bc # test nested negatives |
1026 | a(?!b(?=a))(..) abababc y $1 bc # test nested lookaheads | |
1027 | a(?!b(?!c(?!d(?!e))))...(.) abxabcdxabcde y $1 e | |
1028 | X(?!b+(?!(c+)*(?!(c+)*d))).*X aXbbbbbbbcccccccccccccaaaX y - - | |
786e8c11 YO |
1029 | ^(XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P): ZEQQQQQQQQQQQQQQQQQQP: y $1 ZEQQQQQQQQQQQQQQQQQQP |
1030 | ^(XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P): ZEQQQX: y $1 ZEQQQX | |
1031 | ^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P): ZEQQQQQQQQQQQQQQQQQQP: y $1 ZEQQQQQQQQQQQQQQQQQQP | |
1032 | ^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P): ZEQQQX: y $1 ZEQQQX | |
1033 | ^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P|[MKJ]): ZEQQQQQQQQQQQQQQQQQQP: y $1 ZEQQQQQQQQQQQQQQQQQQP | |
1034 | ^([TUV]+|XXXXXXXXXX|YYYYYYYYYY|Z.Q*X|Z[TE]Q*P|[MKJ]): ZEQQQX: y $1 ZEQQQX | |
1035 | ^(XXX|YYY|Z.Q*X|Z[TE]Q*P): ZEQQQQQQQQQQQQQQQQQQP: y $1 ZEQQQQQQQQQQQQQQQQQQP | |
1036 | ^(XXX|YYY|Z.Q*X|Z[TE]Q*P): ZEQQQX: y $1 ZEQQQX | |
1037 | ^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P): ZEQQQQQQQQQQQQQQQQQQP: y $1 ZEQQQQQQQQQQQQQQQQQQP | |
1038 | ^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P): ZEQQQX: y $1 ZEQQQX | |
1039 | ^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P|[MKJ]): ZEQQQQQQQQQQQQQQQQQQP: y $1 ZEQQQQQQQQQQQQQQQQQQP | |
1040 | ^([TUV]+|XXX|YYY|Z.Q*X|Z[TE]Q*P|[MKJ]): ZEQQQX: y $1 ZEQQQX | |
1041 | X(?:ABCF[cC]x*|ABCD|ABCF):(?:DIT|DID|DIM) XABCFCxxxxxxxxxx:DIM y $& XABCFCxxxxxxxxxx:DIM | |
1042 | (((ABCD|ABCE|ABCF)))(A|B|C[xy]*): ABCFCxxxxxxxxxx:DIM y $& ABCFCxxxxxxxxxx: | |
1de06328 YO |
1043 | (?=foo) foo y pos 0 |
1044 | (?=foo) XfooY y pos 1 | |
1045 | .*(?=foo) XfooY y pos 1 | |
1046 | (?<=foo) foo y pos 3 | |
1047 | (?<=foo) XfooY y pos 4 | |
1048 | .*(?<=foo) foo y pos 3 | |
1049 | .*(?<=foo) XfooY y pos 4 | |
1050 | (?<=foo)Y XfooY y pos 5 | |
1051 | o(?<=foo)Y ..XfooY.. y pos 7 | |
1052 | X(?=foo)f ..XfooY.. y pos 4 | |
1053 | X(?=foo) ..XfooY.. y pos 3 | |
1054 | X(?<=foo.)[YZ] ..XfooXY.. y pos 8 | |
1055 | (?=XY*foo) Xfoo y pos 0 | |
1056 | ^(?=XY*foo) Xfoo y pos 0 | |
61525e55 NC |
1057 | ^(??{"a+"})a aa y $& aa |
1058 | ^(?:(??{"a+"})|b)a aa y $& aa | |
1059 | ^(??{chr 0x100}).$ \x{100}\x{100} y $& \x{100}\x{100} | |
1060 | ^(??{q(\x{100})}). \x{100}\x{100} y $& \x{100}\x{100} | |
1061 | ^(??{q(.+)})\x{100} \x{100}\x{100} y $& \x{100}\x{100} | |
1062 | ^(??{q(.)})\x{100} \x{100}\x{100} y $& \x{100}\x{100} | |
1063 | ^(??{chr 0x100})\xbb \x{100}\x{bb} y $& \x{100}\x{bb} | |
1064 | ^(.)(??{"(.)(.)"})(.)$ abcd y $1-$2 a-d | |
1065 | ^(.)(??{"(bz+|.)(.)"})(.)$ abcd y $1-$2 a-d | |
1066 | ^(.)((??{"(.)(cz+)"})|.) abcd y $1-$2 a-b | |
1067 | ^a(?>(??{q(b)}))(??{q(c)})d abcd y - - | |
1068 | ^x(??{""})+$ x y $& x | |
6bda09f9 YO |
1069 | ^(<(?:[^<>]+|(?3)|(?1))*>)()(!>!>!>)$ <<!>!>!>><>>!>!>!> y $1 <<!>!>!>><>> |
1070 | ^(<(?:[^<>]+|(?1))*>)$ <<><<<><>>>> y $1 <<><<<><>>>> | |
1071 | ((?2)*)([fF]o+) fooFoFoo y $1-$2 fooFo-Foo | |
1072 | (<(?:[^<>]+|(?R))*>) <<><<<><>>>> y $1 <<><<<><>>>> | |
81714fb9 | 1073 | (?<n>foo|bar|baz) snofooewa y $1 foo |
cb6fa888 NC |
1074 | (?<n>foo|bar|baz) snofooewa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
1075 | (?<n>foo|bar|baz)(?<m>[ew]+) snofooewa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture | |
1076 | (?<n>foo|bar|baz)(?<m>[ew]+) snofooewa yM $+{m} ew miniperl cannot load Tie::Hash::NamedCapture | |
1077 | (?<n>foo)|(?<n>bar)|(?<n>baz) snofooewa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture | |
1078 | (?<n>foo)(??{ $+{n} }) snofooefoofoowaa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture | |
1f1031fe | 1079 | (?P<n>foo|bar|baz) snofooewa y $1 foo |
cb6fa888 NC |
1080 | (?P<n>foo|bar|baz) snofooewa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
1081 | (?P<n>foo|bar|baz)(?P<m>[ew]+) snofooewa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture | |
1082 | (?P<n>foo|bar|baz)(?P<m>[ew]+) snofooewa yM $+{m} ew miniperl cannot load Tie::Hash::NamedCapture | |
1083 | (?P<n>foo)|(?P<n>bar)|(?P<n>baz) snofooewa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture | |
1084 | (?P<n>foo)(??{ $+{n} }) snofooefoofoowaa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture | |
1f4f6bf1 YO |
1085 | (?P<=n>foo|bar|baz) snofooewa c - Group name must start with a non-digit word character |
1086 | (?P<!n>foo|bar|baz) snofooewa c - Group name must start with a non-digit word character | |
1f1031fe | 1087 | (?PX<n>foo|bar|baz) snofooewa c - Sequence (?PX<...) not recognized |
81714fb9 | 1088 | /(?'n'foo|bar|baz)/ snofooewa y $1 foo |
cb6fa888 NC |
1089 | /(?'n'foo|bar|baz)/ snofooewa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
1090 | /(?'n'foo|bar|baz)(?'m'[ew]+)/ snofooewa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture | |
1091 | /(?'n'foo|bar|baz)(?'m'[ew]+)/ snofooewa yM $+{m} ew miniperl cannot load Tie::Hash::NamedCapture | |
1092 | /(?'n'foo)|(?'n'bar)|(?<n>baz)/ snobazewa yM $+{n} baz miniperl cannot load Tie::Hash::NamedCapture | |
1093 | /(?'n'foo)(??{ $+{n} })/ snofooefoofoowaa yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture | |
81714fb9 | 1094 | /(?'n'foo)\k<n>/ ..foofoo.. y $1 foo |
cb6fa888 | 1095 | /(?'n'foo)\k<n>/ ..foofoo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
81714fb9 | 1096 | /(?<n>foo)\k'n'/ ..foofoo.. y $1 foo |
cb6fa888 NC |
1097 | /(?<n>foo)\k'n'/ ..foofoo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
1098 | /(?:(?<n>foo)|(?<n>bar))\k<n>/ ..barbar.. yM $+{n} bar miniperl cannot load Tie::Hash::NamedCapture | |
1099 | /^(?'main'<(?:[^<>]+|(?&crap)|(?&main))*>)(?'empty')(?'crap'!>!>!>)$/ <<!>!>!>><>>!>!>!> yM $+{main} <<!>!>!>><>> miniperl cannot load Tie::Hash::NamedCapture | |
894be9b7 | 1100 | /^(?'main'<(?:[^<>]+|(?&main))*>)$/ <<><<<><>>>> y $1 <<><<<><>>>> |
cb6fa888 NC |
1101 | /(?'first'(?&second)*)(?'second'[fF]o+)/ fooFoFoo yM $+{first}-$+{second} fooFo-Foo miniperl cannot load Tie::Hash::NamedCapture |
1102 | (?<A>foo)?(?(<A>)bar|nada) foobar yM $+{A} foo miniperl cannot load Tie::Hash::NamedCapture | |
0a4db386 YO |
1103 | (?<A>foo)?(?(<A>)bar|nada) foo-barnada y $& nada |
1104 | (?<A>foo)?(?(1)bar|nada) foo-barnada y $& nada | |
1105 | (?<A>foo(?(R)bar))?(?1) foofoobar y $1 foo | |
1106 | (?<A>foo(?(R)bar))?(?1) foofoobar y $& foofoobar | |
1107 | (x)(?<A>foo(?(R&A)bar))?(?&A) xfoofoobar y $2 foo | |
1108 | (x)(?<A>foo(?(R&A)bar))?(?&A) xfoofoobar y $& xfoofoobar | |
1109 | (x)(?<A>foo(?(R2)bar))?(?&A) xfoofoobar y $2 foo | |
1110 | (x)(?<A>foo(?(R2)bar))?(?&A) xfoofoobar y $& xfoofoobar | |
1111 | (?1)(?(DEFINE)(blah)) blah y $& blah | |
1112 | /^(?<PAL>(?<CHAR>.)((?&PAL)|.?)\k<CHAR>)$/ madamimadam y $& madamimadam | |
1113 | /^(?<PAL>(?<CHAR>.)((?&PAL)|.?)\k<CHAR>)$/ madamiamadam n - - | |
1114 | /(a)?((?1))(fox)/ aafox y $1-$2-$3 a-a-fox | |
1115 | /(a)*((?1))(fox)/ aafox y $1-$2-$3 a-a-fox | |
1116 | /(a)+((?1))(fox)/ aafox y $1-$2-$3 a-a-fox | |
1117 | /(a){1,100}((?1))(fox)/ aafox y $1-$2-$3 a-a-fox | |
1118 | /(a){0,100}((?1))(fox)/ aafox y $1-$2-$3 a-a-fox | |
1119 | /(ab)?((?1))(fox)/ ababfox y $1-$2-$3 ab-ab-fox | |
1120 | /(ab)*((?1))(fox)/ ababfox y $1-$2-$3 ab-ab-fox | |
1121 | /(ab)+((?1))(fox)/ ababfox y $1-$2-$3 ab-ab-fox | |
1122 | /(ab){1,100}((?1))(fox)/ ababfox y $1-$2-$3 ab-ab-fox | |
1123 | /(ab){0,100}((?1))(fox)/ ababfox y $1-$2-$3 ab-ab-fox | |
b9b4dddf YO |
1124 | # possessive captures |
1125 | a++a aaaaa n - - | |
1126 | a*+a aaaaa n - - | |
1127 | a{1,5}+a aaaaa n - - | |
1128 | a?+a ab n - - | |
1129 | a++b aaaaab y $& aaaaab | |
1130 | a*+b aaaaab y $& aaaaab | |
1131 | a{1,5}+b aaaaab y $& aaaaab | |
1132 | a?+b ab y $& ab | |
1133 | fooa++a fooaaaaa n - - | |
1134 | fooa*+a fooaaaaa n - - | |
1135 | fooa{1,5}+a fooaaaaa n - - | |
1136 | fooa?+a fooab n - - | |
1137 | fooa++b fooaaaaab y $& fooaaaaab | |
1138 | fooa*+b fooaaaaab y $& fooaaaaab | |
1139 | fooa{1,5}+b fooaaaaab y $& fooaaaaab | |
1140 | fooa?+b fooab y $& fooab | |
1141 | (?:aA)++(?:aA) aAaAaAaAaA n - aAaAaAaAaA | |
1142 | (aA)++(aA) aAaAaAaAaA n - aAaAaAaAaA | |
1143 | (aA|bB)++(aA|bB) aAaAbBaAbB n - aAaAbBaAbB | |
1144 | (?:aA|bB)++(?:aA|bB) aAbBbBbBaA n - aAbBbBbBaA | |
1145 | (?:aA)*+(?:aA) aAaAaAaAaA n - aAaAaAaAaA | |
1146 | (aA)*+(aA) aAaAaAaAaA n - aAaAaAaAaA | |
1147 | (aA|bB)*+(aA|bB) aAaAbBaAaA n - aAaAbBaAaA | |
1148 | (?:aA|bB)*+(?:aA|bB) aAaAaAbBaA n - aAaAaAbBaA | |
1149 | (?:aA){1,5}+(?:aA) aAaAaAaAaA n - aAaAaAaAaA | |
1150 | (aA){1,5}+(aA) aAaAaAaAaA n - aAaAaAaAaA | |
1151 | (aA|bB){1,5}+(aA|bB) aAaAbBaAaA n - aAaAbBaAaA | |
1152 | (?:aA|bB){1,5}+(?:aA|bB) bBbBbBbBbB n - bBbBbBbBbB | |
1153 | (?:aA)?+(?:aA) aAb n - aAb | |
1154 | (aA)?+(aA) aAb n - aAb | |
1155 | (aA|bB)?+(aA|bB) bBb n - bBb | |
1156 | (?:aA|bB)?+(?:aA|bB) aAb n - aAb | |
1157 | (?:aA)++b aAaAaAaAaAb y $& aAaAaAaAaAb | |
1158 | (aA)++b aAaAaAaAaAb y $& aAaAaAaAaAb | |
1159 | (aA|bB)++b aAbBaAaAbBb y $& aAbBaAaAbBb | |
1160 | (?:aA|bB)++b aAbBbBaAaAb y $& aAbBbBaAaAb | |
1161 | (?:aA)*+b aAaAaAaAaAb y $& aAaAaAaAaAb | |
1162 | (aA)*+b aAaAaAaAaAb y $& aAaAaAaAaAb | |
1163 | (aA|bB)*+b bBbBbBbBbBb y $& bBbBbBbBbBb | |
1164 | (?:aA|bB)*+b bBaAbBbBaAb y $& bBaAbBbBaAb | |
1165 | (?:aA){1,5}+b aAaAaAaAaAb y $& aAaAaAaAaAb | |
1166 | (aA){1,5}+b aAaAaAaAaAb y $& aAaAaAaAaAb | |
1167 | (aA|bB){1,5}+b bBaAbBaAbBb y $& bBaAbBaAbBb | |
1168 | (?:aA|bB){1,5}+b aAbBaAbBbBb y $& aAbBaAbBbBb | |
1169 | (?:aA)?+b aAb y $& aAb | |
1170 | (aA)?+b aAb y $& aAb | |
1171 | (aA|bB)?+b bBb y $& bBb | |
1172 | (?:aA|bB)?+b bBb y $& bBb | |
1173 | foo(?:aA)++(?:aA) fooaAaAaAaAaA n - fooaAaAaAaAaA | |
1174 | foo(aA)++(aA) fooaAaAaAaAaA n - fooaAaAaAaAaA | |
1175 | foo(aA|bB)++(aA|bB) foobBbBbBaAaA n - foobBbBbBaAaA | |
1176 | foo(?:aA|bB)++(?:aA|bB) fooaAaAaAaAaA n - fooaAaAaAaAaA | |
1177 | foo(?:aA)*+(?:aA) fooaAaAaAaAaA n - fooaAaAaAaAaA | |
1178 | foo(aA)*+(aA) fooaAaAaAaAaA n - fooaAaAaAaAaA | |
1179 | foo(aA|bB)*+(aA|bB) foobBaAbBaAaA n - foobBaAbBaAaA | |
1180 | foo(?:aA|bB)*+(?:aA|bB) fooaAaAbBbBaA n - fooaAaAbBbBaA | |
1181 | foo(?:aA){1,5}+(?:aA) fooaAaAaAaAaA n - fooaAaAaAaAaA | |
1182 | foo(aA){1,5}+(aA) fooaAaAaAaAaA n - fooaAaAaAaAaA | |
1183 | foo(aA|bB){1,5}+(aA|bB) fooaAbBbBaAaA n - fooaAbBbBaAaA | |
1184 | foo(?:aA|bB){1,5}+(?:aA|bB) fooaAbBbBaAbB n - fooaAbBbBaAbB | |
1185 | foo(?:aA)?+(?:aA) fooaAb n - fooaAb | |
1186 | foo(aA)?+(aA) fooaAb n - fooaAb | |
1187 | foo(aA|bB)?+(aA|bB) foobBb n - foobBb | |
1188 | foo(?:aA|bB)?+(?:aA|bB) fooaAb n - fooaAb | |
1189 | foo(?:aA)++b fooaAaAaAaAaAb y $& fooaAaAaAaAaAb | |
1190 | foo(aA)++b fooaAaAaAaAaAb y $& fooaAaAaAaAaAb | |
1191 | foo(aA|bB)++b foobBaAbBaAbBb y $& foobBaAbBaAbBb | |
1192 | foo(?:aA|bB)++b fooaAaAbBaAaAb y $& fooaAaAbBaAaAb | |
1193 | foo(?:aA)*+b fooaAaAaAaAaAb y $& fooaAaAaAaAaAb | |
1194 | foo(aA)*+b fooaAaAaAaAaAb y $& fooaAaAaAaAaAb | |
1195 | foo(aA|bB)*+b foobBbBaAaAaAb y $& foobBbBaAaAaAb | |
1196 | foo(?:aA|bB)*+b foobBaAaAbBaAb y $& foobBaAaAbBaAb | |
1197 | foo(?:aA){1,5}+b fooaAaAaAaAaAb y $& fooaAaAaAaAaAb | |
1198 | foo(aA){1,5}+b fooaAaAaAaAaAb y $& fooaAaAaAaAaAb | |
1199 | foo(aA|bB){1,5}+b foobBaAaAaAaAb y $& foobBaAaAaAaAb | |
1200 | foo(?:aA|bB){1,5}+b fooaAbBaAbBbBb y $& fooaAbBaAbBbBb | |
1201 | foo(?:aA)?+b fooaAb y $& fooaAb | |
1202 | foo(aA)?+b fooaAb y $& fooaAb | |
1203 | foo(aA|bB)?+b foobBb y $& foobBb | |
1204 | foo(?:aA|bB)?+b foobBb y $& foobBb | |
1205 | ||
1206 | ([^()]++|\([^()]*\))+ ((abc(ade)ufh()()x y $& abc(ade)ufh()()x | |
1207 | round\(([^()]++)\) _I(round(xs * sz),1) y $1 xs * sz | |
1208 | ||
7f69552c YO |
1209 | (foo[1x]|bar[2x]|baz[3x])+y foo1bar2baz3y y $1 baz3 |
1210 | (foo[1x]|bar[2x]|baz[3x])+y foo1bar2baz3y y $& foo1bar2baz3y | |
1211 | (foo[1x]|bar[2x]|baz[3x])*y foo1bar2baz3y y $1 baz3 | |
1212 | (foo[1x]|bar[2x]|baz[3x])*y foo1bar2baz3y y $& foo1bar2baz3y | |
1213 | ||
1214 | ([yX].|WORDS|[yX].|WORD)S WORDS y $1 WORD | |
1215 | (WORDS|WORLD|WORD)S WORDS y $1 WORD | |
1216 | ([yX].|WORDS|WORD|[xY].)S WORDS y $1 WORD | |
1217 | (foo|fool|[zx].|money|parted)$ fool y $1 fool | |
1218 | ([zx].|foo|fool|[zq].|money|parted|[yx].)$ fool y $1 fool | |
1219 | (foo|fool|[zx].|money|parted)$ fools n - - | |
1220 | ([zx].|foo|fool|[qx].|money|parted|[py].)$ fools n - - | |
1221 | ||
1222 | ([yX].|WORDS|[yX].|WORD)+S WORDS y $1 WORD | |
1223 | (WORDS|WORLD|WORD)+S WORDS y $1 WORD | |
1224 | ([yX].|WORDS|WORD|[xY].)+S WORDS y $1 WORD | |
1225 | (foo|fool|[zx].|money|parted)+$ fool y $1 fool | |
1226 | ([zx].|foo|fool|[zq].|money|parted|[yx].)+$ fool y $1 fool | |
1227 | (foo|fool|[zx].|money|parted)+$ fools n - - | |
1228 | ([zx].|foo|fool|[qx].|money|parted|[py].)+$ fools n - - | |
1229 | ||
1230 | (x|y|z[QW])+(longish|loquatious|excessive|overblown[QW])+ xyzQzWlongishoverblownW y $1-$2 zW-overblownW | |
1231 | (x|y|z[QW])*(longish|loquatious|excessive|overblown[QW])* xyzQzWlongishoverblownW y $1-$2 zW-overblownW | |
1232 | (x|y|z[QW]){1,5}(longish|loquatious|excessive|overblown[QW]){1,5} xyzQzWlongishoverblownW y $1-$2 zW-overblownW | |
1233 | ||
1234 | (x|y|z[QW])++(longish|loquatious|excessive|overblown[QW])++ xyzQzWlongishoverblownW y $1-$2 zW-overblownW | |
1235 | (x|y|z[QW])*+(longish|loquatious|excessive|overblown[QW])*+ xyzQzWlongishoverblownW y $1-$2 zW-overblownW | |
1236 | (x|y|z[QW]){1,5}+(longish|loquatious|excessive|overblown[QW]){1,5}+ xyzQzWlongishoverblownW y $1-$2 zW-overblownW | |
1237 | ||
7f69552c | 1238 | a*(?!) aaaab n - - |
e2e6a0f1 YO |
1239 | a*(*FAIL) aaaab n - - |
1240 | a*(*F) aaaab n - - | |
1241 | ||
1242 | (A(A|B(*ACCEPT)|C)D)(E) AB y $1 AB | |
1243 | (A(A|B(*ACCEPT)|C)D)(E) ACDE y $1$2$3 ACDCE | |
1244 | ||
542fa716 | 1245 | (a)(?:(?-1)|(?+1))(b) aab y $&-$1-$2 aab-a-b |
c74340f9 | 1246 | (a)(?:(?-1)|(?+1))(b) abb y $1-$2 a-b |
542fa716 | 1247 | (a)(?:(?-1)|(?+1))(b) acb n - - |
c74340f9 | 1248 | |
2bf803e2 YO |
1249 | (foo)(\g-2) foofoo y $1-$2 foo-foo |
1250 | (foo)(\g-2)(foo)(\g-2) foofoofoofoo y $1-$2-$3-$4 foo-foo-foo-foo | |
1251 | (([abc]+) \g-1)(([abc]+) \g{-1}) abc abccba cba y $2-$4 abc-cba | |
1252 | (a)(b)(c)\g1\g2\g3 abcabc y $1$2$3 abc | |
1253 | ||
1f1031fe | 1254 | # \k<n> preceded by a literal |
99ed40ff | 1255 | /(?'n'foo) \k<n>/ ..foo foo.. y $1 foo |
cb6fa888 | 1256 | /(?'n'foo) \k<n>/ ..foo foo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
99ed40ff | 1257 | /(?<n>foo) \k'n'/ ..foo foo.. y $1 foo |
cb6fa888 NC |
1258 | /(?<n>foo) \k'n'/ ..foo foo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
1259 | /(?'a1'foo) \k'a1'/ ..foo foo.. yM $+{a1} foo miniperl cannot load Tie::Hash::NamedCapture | |
1260 | /(?<a1>foo) \k<a1>/ ..foo foo.. yM $+{a1} foo miniperl cannot load Tie::Hash::NamedCapture | |
1261 | /(?'_'foo) \k'_'/ ..foo foo.. yM $+{_} foo miniperl cannot load Tie::Hash::NamedCapture | |
1262 | /(?<_>foo) \k<_>/ ..foo foo.. yM $+{_} foo miniperl cannot load Tie::Hash::NamedCapture | |
1263 | /(?'_0_'foo) \k'_0_'/ ..foo foo.. yM $+{_0_} foo miniperl cannot load Tie::Hash::NamedCapture | |
1264 | /(?<_0_>foo) \k<_0_>/ ..foo foo.. yM $+{_0_} foo miniperl cannot load Tie::Hash::NamedCapture | |
1f4f6bf1 YO |
1265 | /(?'0'foo) bar/ ..foo bar.. c - Group name must start with a non-digit word character |
1266 | /(?<0>foo) bar/ ..foo bar.. c - Group name must start with a non-digit word character | |
1267 | /(?'12'foo) bar/ ..foo bar.. c - Group name must start with a non-digit word character | |
1268 | /(?<12>foo) bar/ ..foo bar.. c - Group name must start with a non-digit word character | |
1269 | /(?'1a'foo) bar/ ..foo bar.. c - Group name must start with a non-digit word character | |
1270 | /(?<1a>foo) bar/ ..foo bar.. c - Group name must start with a non-digit word character | |
1271 | /(?''foo) bar/ ..foo bar.. c - Group name must start with a non-digit word character | |
1272 | /(?<>foo) bar/ ..foo bar.. c - Group name must start with a non-digit word character | |
1f1031fe YO |
1273 | /foo \k'n'/ foo foo c - Reference to nonexistent named group |
1274 | /foo \k<n>/ foo foo c - Reference to nonexistent named group | |
1275 | /foo \k'a1'/ foo foo c - Reference to nonexistent named group | |
1276 | /foo \k<a1>/ foo foo c - Reference to nonexistent named group | |
1277 | /foo \k'_'/ foo foo c - Reference to nonexistent named group | |
1278 | /foo \k<_>/ foo foo c - Reference to nonexistent named group | |
1279 | /foo \k'_0_'/ foo foo c - Reference to nonexistent named group | |
1280 | /foo \k<_0_>/ foo foo c - Reference to nonexistent named group | |
1f4f6bf1 YO |
1281 | /foo \k'0'/ foo foo c - Group name must start with a non-digit word character |
1282 | /foo \k<0>/ foo foo c - Group name must start with a non-digit word character | |
1283 | /foo \k'12'/ foo foo c - Group name must start with a non-digit word character | |
1284 | /foo \k<12>/ foo foo c - Group name must start with a non-digit word character | |
1285 | /foo \k'1a'/ foo foo c - Group name must start with a non-digit word character | |
1286 | /foo \k<1a>/ foo foo c - Group name must start with a non-digit word character | |
1287 | /foo \k''/ foo foo c - Group name must start with a non-digit word character | |
1288 | /foo \k<>/ foo foo c - Group name must start with a non-digit word character | |
99ed40ff | 1289 | /(?<as>as) (\w+) \k<as> (\w+)/ as easy as pie y $1-$2-$3 as-easy-pie |
1f1031fe YO |
1290 | |
1291 | # \g{...} with a name as the argument | |
1292 | /(?'n'foo) \g{n}/ ..foo foo.. y $1 foo | |
cb6fa888 | 1293 | /(?'n'foo) \g{n}/ ..foo foo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
1f1031fe | 1294 | /(?<n>foo) \g{n}/ ..foo foo.. y $1 foo |
cb6fa888 | 1295 | /(?<n>foo) \g{n}/ ..foo foo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
1f1031fe YO |
1296 | /(?<as>as) (\w+) \g{as} (\w+)/ as easy as pie y $1-$2-$3 as-easy-pie |
1297 | ||
1298 | # Python style named capture buffer stuff | |
1299 | /(?P<n>foo)(?P=n)/ ..foofoo.. y $1 foo | |
cb6fa888 NC |
1300 | /(?P<n>foo)(?P=n)/ ..foofoo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
1301 | /(?:(?P<n>foo)|(?P<n>bar))(?P=n)/ ..barbar.. yM $+{n} bar miniperl cannot load Tie::Hash::NamedCapture | |
1f1031fe YO |
1302 | /^(?P<PAL>(?P<CHAR>.)((?P>PAL)|.?)(?P=CHAR))$/ madamimadam y $& madamimadam |
1303 | /^(?P<PAL>(?P<CHAR>.)((?P>PAL)|.?)(?P=CHAR))$/ madamiamadam n - - | |
1304 | /(?P<n>foo) (?P=n)/ ..foo foo.. y $1 foo | |
cb6fa888 | 1305 | /(?P<n>foo) (?P=n)/ ..foo foo.. yM $+{n} foo miniperl cannot load Tie::Hash::NamedCapture |
1f1031fe YO |
1306 | /(?P<as>as) (\w+) (?P=as) (\w+)/ as easy as pie y $1-$2-$3 as-easy-pie |
1307 | ||
1308 | #check that non identifiers as names are treated as the appropriate lookaround | |
1309 | (?<=bar>)foo bar>foo y $& foo | |
1310 | (?<!bar>)foo bar>foo n - - | |
1311 | (?<=bar>ABC)foo bar>ABCfoo y $& foo | |
1312 | (?<!bar>ABC)foo bar>ABCfoo n - - | |
1313 | (?<bar>)foo bar>ABCfoo y $& foo | |
68ba3a3f YO |
1314 | (?<bar>ABC)foo bar>ABCfoo y $& ABCfoo |
1315 | ||
1316 | (?<=abcd(?<=(aaaabcd))) ..aaaabcd.. y $1 aaaabcd | |
1317 | (?=xy(?<=(aaxy))) ..aaxy.. y $1 aaxy | |
fae667d5 YO |
1318 | |
1319 | X(\w+)(?=\s)|X(\w+) Xab y [$1-$2] [-ab] | |
594d7033 YO |
1320 | |
1321 | #check that branch reset works ok. | |
3bce0506 | 1322 | (?|(a)) a y $1-$+-$^N a-a-a |
594d7033 YO |
1323 | (?|a(.)b|d(.(o).)d|i(.)(.)j)(.) d!o!da y $1-$2-$3 !o!-o-a |
1324 | (?|a(.)b|d(.(o).)d|i(.)(.)j)(.) aabc y $1-$2-$3 a--c | |
1325 | (?|a(.)b|d(.(o).)d|i(.)(.)j)(.) ixyjp y $1-$2-$3 x-y-p | |
1326 | (?|(?|(a)|(b))|(?|(c)|(d))) a y $1 a | |
1327 | (?|(?|(a)|(b))|(?|(c)|(d))) b y $1 b | |
1328 | (?|(?|(a)|(b))|(?|(c)|(d))) c y $1 c | |
1329 | (?|(?|(a)|(b))|(?|(c)|(d))) d y $1 d | |
1330 | (.)(?|(.)(.)x|(.)d)(.) abcde y $1-$2-$3-$4-$5- b-c--e-- | |
cbf4a129 | 1331 | (\N)(?|(\N)(\N)x|(\N)d)(\N) abcde y $1-$2-$3-$4-$5- b-c--e-- |
cb6fa888 NC |
1332 | (?|(?<foo>x)) x yM $+{foo} x miniperl cannot load Tie::Hash::NamedCapture |
1333 | (?|(?<foo>x)|(?<bar>y)) x yM $+{foo} x miniperl cannot load Tie::Hash::NamedCapture | |
1334 | (?|(?<bar>y)|(?<foo>x)) x yM $+{foo} x miniperl cannot load Tie::Hash::NamedCapture | |
1335 | (?<bar>)(?|(?<foo>x)) x yM $+{foo} x miniperl cannot load Tie::Hash::NamedCapture | |
fd4be6f0 FC |
1336 | # Used to crash, because the last branch was ignored when the parens |
1337 | # were counted: | |
1338 | (?|(b)|()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()(a)) a y $& a | |
ee91d26e | 1339 | |
3e901dc0 YO |
1340 | #Bug #41492 |
1341 | (?(DEFINE)(?<A>(?&B)+)(?<B>a))(?&A) a y $& a | |
1342 | (?(DEFINE)(?<A>(?&B)+)(?<B>a))(?&A) aa y $& aa | |
61525e55 | 1343 | \x{100}?(??{""})xxx xxx y $& xxx |
e1d1eefb YO |
1344 | |
1345 | foo(\R)bar foo\r\nbar y $1 \r\n | |
1346 | foo(\R)bar foo\nbar y $1 \n | |
1347 | foo(\R)bar foo\rbar y $1 \r | |
1348 | ||
1349 | foo(\R+)bar foo\r\n\x{85}\r\n\nbar y $1 \r\n\x{85}\r\n\n | |
1350 | (\V+)(\R) foo\r\n\x{85}\r\n\nbar y $1-$2 foo-\r\n | |
1351 | (\R+)(\V) foo\r\n\x{85}\r\n\nbar y $1-$2 \r\n\x{85}\r\n\n-b | |
1352 | foo(\R)bar foo\x{85}bar y $1 \x{85} | |
1353 | (\V)(\R) foo\x{85}bar y $1-$2 o-\x{85} | |
1354 | (\R)(\V) foo\x{85}bar y $1-$2 \x{85}-b | |
1355 | foo(\R)bar foo\r\nbar y $1 \r\n | |
1356 | (\V)(\R) foo\r\nbar y $1-$2 o-\r\n | |
1357 | (\R)(\V) foo\r\nbar y $1-$2 \r\n-b | |
1358 | foo(\R)bar foo\r\nbar y $1 \r\n | |
1359 | (\V)(\R) foo\r\nbar y $1-$2 o-\r\n | |
1360 | (\R)(\V) foo\r\nbar y $1-$2 \r\n-b | |
1361 | foo(\R)bar foo\rbar y $1 \r | |
1362 | (\V)(\R) foo\rbar y $1-$2 o-\r | |
1363 | (\R)(\V) foo\rbar y $1-$2 \r-b | |
1364 | ||
1365 | foo(\v+)bar foo\r\n\x{85}\r\n\nbar y $1 \r\n\x{85}\r\n\n | |
1366 | (\V+)(\v) foo\r\n\x{85}\r\n\nbar y $1-$2 foo-\r | |
1367 | (\v+)(\V) foo\r\n\x{85}\r\n\nbar y $1-$2 \r\n\x{85}\r\n\n-b | |
1368 | foo(\v)bar foo\x{85}bar y $1 \x{85} | |
1369 | (\V)(\v) foo\x{85}bar y $1-$2 o-\x{85} | |
1370 | (\v)(\V) foo\x{85}bar y $1-$2 \x{85}-b | |
1371 | foo(\v)bar foo\rbar y $1 \r | |
1372 | (\V)(\v) foo\rbar y $1-$2 o-\r | |
1373 | (\v)(\V) foo\rbar y $1-$2 \r-b | |
1374 | ||
1375 | ||
1376 | foo(\h+)bar foo\t\x{A0}bar y $1 \t\x{A0} | |
1377 | (\H+)(\h) foo\t\x{A0}bar y $1-$2 foo-\t | |
1378 | (\h+)(\H) foo\t\x{A0}bar y $1-$2 \t\x{A0}-b | |
1379 | foo(\h)bar foo\x{A0}bar y $1 \x{A0} | |
1380 | (\H)(\h) foo\x{A0}bar y $1-$2 o-\x{A0} | |
1381 | (\h)(\H) foo\x{A0}bar y $1-$2 \x{A0}-b | |
1382 | foo(\h)bar foo\tbar y $1 \t | |
1383 | (\H)(\h) foo\tbar y $1-$2 o-\t | |
1384 | (\h)(\H) foo\tbar y $1-$2 \t-b | |
5339e136 | 1385 | |
cbf4a129 RGS |
1386 | .*\z foo\n y -$&- -- |
1387 | \N*\z foo\n y -$&- -- | |
1388 | .*\Z foo\n y -$&- -foo- | |
1389 | \N*\Z foo\n y -$&- -foo- | |
225593e1 | 1390 | ^(?:(\d)x)?\d$ 1 y ${\(defined($1)?1:0)} 0 |
60f65011 | 1391 | .*?(?:(\w)|(\w))x abx y $1-$2 b- |
639081d6 YO |
1392 | |
1393 | 0{50} 000000000000000000000000000000000000000000000000000 y - - | |
906cdd2b HS |
1394 | ^a?(?=b)b ab y $& ab # Bug #56690 |
1395 | ^a*(?=b)b ab y $& ab # Bug #56690 | |
2811b836 B |
1396 | />\d+$ \n/ix >10\n y $& >10 |
1397 | />\d+$ \n/ix >1\n y $& >1 | |
1398 | /\d+$ \n/ix >10\n y $& 10 | |
1399 | />\d\d$ \n/ix >10\n y $& >10 | |
1400 | />\d+$ \n/x >10\n y $& >10 | |
44d268c3 NC |
1401 | |
1402 | # Two regressions in 5.8.x (only) introduced by change 30638 | |
1403 | # Simplification of the test failure in XML::LibXML::Simple: | |
1404 | /^\s*i.*?o\s*$/s io\n io y - - | |
1405 | # As reported in #59168 by Father Chrysostomos: | |
1406 | /(.*?)a(?!(a+)b\2c)/ baaabaac y $&-$1 baa-ba | |
aff3edb5 YO |
1407 | # [perl #60344] Regex lookbehind failure after an (if)then|else in perl 5.10 |
1408 | /\A(?(?=db2)db2|\D+)(?<!processed)\.csv\z/xms sql_processed.csv n - - | |
24d786f4 | 1409 | /\N{U+0100}/ \x{100} y $& \x{100} # Bug #59328 |
ff3f963a KW |
1410 | /[a\N{U+0100}]/ \x{100} y $& \x{100} |
1411 | /[a\N{U+0100}]/ a y $& a | |
1412 | ||
1413 | # Verify that \N{U+...} forces Unicode semantics | |
1414 | /\N{U+41}\x{c1}/i a\x{e1} y $& a\x{e1} | |
1415 | /[\N{U+41}\x{c1}]/i \x{e1} y $& \x{e1} | |
1416 | ||
11454c59 | 1417 | [\s][\S] \x{a0}\x{a0} n - - # Unicode complements should not match same character |
3cf20fa2 KW |
1418 | |
1419 | # was generating malformed utf8 | |
1420 | '[\x{100}\xff]'i \x{ff} y $& \x{ff} | |
e120390b B |
1421 | |
1422 | ((??{ "(?:|)" }))\s C\x20 y - - | |
40863337 | 1423 | |
ff3f963a KW |
1424 | # Verify that \ escapes the { after \N, and causes \N to match non-newline |
1425 | abc\N\{U+BEEF} abc\n{UBEEF} n | |
1426 | abc\N\{U+BEEF} abc.{UBEEF} y $& abc.{UBEEF} | |
1427 | [abc\N\{U+BEEF}] - c - \\N in a character class must be a named character | |
1428 | ||
1429 | # Verify that \N can be trailing and causes \N to match non-newline | |
1430 | abc\N abcd y $& abcd | |
1431 | abc\N abc\n n | |
1432 | ||
1433 | # Verify get errors. For these, we need // or else puts it in single quotes, | |
c3c41406 | 1434 | # and bypasses the lexer. |
ff3f963a | 1435 | /\N{U+}/ - c - Invalid hexadecimal number |
c3c41406 KW |
1436 | # Below currently gives a misleading message |
1437 | /[\N{U+}]/ - c - Unmatched | |
ff3f963a | 1438 | /abc\N{def/ - c - Missing right brace |
c3c41406 KW |
1439 | /\N{U+4AG3}/ - c - Illegal hexadecimal digit |
1440 | /[\N{U+4AG3}]/ - c - Illegal hexadecimal digit | |
1441 | ||
1442 | # And verify that in single quotes which bypasses the lexer, the regex compiler | |
1443 | # figures it out. | |
1444 | \N{U+} - c - Invalid hexadecimal number | |
1445 | [\N{U+}] - c - Invalid hexadecimal number | |
b9c48b5b | 1446 | \N{U+4AG3} - c - Invalid hexadecimal number |
c3c41406 KW |
1447 | [\N{U+4AG3}] - c - Invalid hexadecimal number |
1448 | abc\N{def - c - \\N{NAME} must be resolved by the lexer | |
1449 | ||
1450 | # Verify that under /x that still cant have space before left brace | |
1451 | /abc\N {U+41}/x - c - Missing braces | |
1452 | /abc\N {SPACE}/x - c - Missing braces | |
ff3f963a KW |
1453 | |
1454 | # Verifies catches hex errors, and doesn't expose our . notation to the outside | |
0b70ce6f KW |
1455 | /\N{U+0xBEEF}/ - c - Illegal hexadecimal digit |
1456 | /\N{U+BEEF.BEAD}/ - c - Illegal hexadecimal digit | |
ff3f963a | 1457 | |
c3c41406 KW |
1458 | # Verify works in single quotish context; regex compiler delivers slightly different msg |
1459 | # \N{U+BEEF.BEAD} succeeds here, because can't completely hide it from the outside. | |
b9c48b5b | 1460 | \N{U+0xBEEF} - c - Invalid hexadecimal number |
17a3df4c KW |
1461 | \c` - c - \"\\c`\" is more clearly written simply as \"\\ \" |
1462 | \c1 - c - \"\\c1\" is more clearly written simply as \"q\" | |
0b70ce6f | 1463 | \cA \001 y $& \1 |
c3c41406 | 1464 | |
fa1639c5 KW |
1465 | \400 \x{100} y $& \x{100} |
1466 | \600 \x{180} y $& \x{180} | |
1467 | \777 \x{1FF} y $& \x{1FF} | |
1468 | [a\400] \x{100} y $& \x{100} | |
1469 | [b\600] \x{180} y $& \x{180} | |
1470 | [c\777] \x{1FF} y $& \x{1FF} | |
f0a2b745 KW |
1471 | \o{120} \x{50} y $& \x{50} |
1472 | \o{400} \x{100} y $& \x{100} | |
1473 | \o{1000} \x{200} y $& \x{200} | |
1474 | [a\o{120}] \x{50} y $& \x{50} | |
1475 | [a\o{400}] \x{100} y $& \x{100} | |
1476 | [a\o{1000}] \x{200} y $& \x{200} | |
fa1639c5 | 1477 | |
726ee55d KW |
1478 | # The below were inserting a NULL |
1479 | \87 87 y $& 87 | |
1480 | a\87 a87 y $& a87 | |
1481 | a\97 a97 y $& a97 | |
1482 | ||
1483 | ||
c99e91e9 KW |
1484 | # The below was inserting a NULL into the character class. |
1485 | [\8\9] \000 n - - | |
1486 | [\8\9] 8 y $& 8 | |
1487 | [\8\9] 9 y $& 9 | |
1488 | ||
1489 | # Verify that reads 1-3 octal digits, and that \_ works in char class | |
1490 | [\0] \000 y $& \000 | |
1491 | [\07] \007 y $& \007 | |
1492 | [\07] 7\000 n - - | |
1493 | [\006] \006 y $& \006 | |
1494 | [\006] 6\000 n - - | |
1495 | [\0005] \0005 y $& \000 | |
1496 | [\0005] 5\000 y $& 5 | |
1497 | [\_] _ y $& _ | |
1498 | ||
779bcb7d NC |
1499 | # RT #79152 |
1500 | (q1|.)*(q2|.)*(x(a|bc)*y){2,} xayxay y $& xayxay | |
1501 | (q1|.)*(q2|.)*(x(a|bc)*y){2,3} xayxay y $& xayxay | |
1502 | (q1|z)*(q2|z)*z{15}-.*?(x(a|bc)*y){2,3}Z zzzzzzzzzzzzzzzz-xayxayxayxayZ y $& zzzzzzzzzzzzzzzz-xayxayxayxayZ | |
1503 | ||
20dbff7c | 1504 | (?:(?:)foo|bar|zot|rt78356) foo y $& foo |
e40e74fe | 1505 | /\xe0\pL/i \xc0a y $& \xc0a |
1411dba4 KW |
1506 | |
1507 | # RT #85528 | |
1508 | (?{})[\x{100}] \x{100} y $& \x{100} | |
6241f69e KW |
1509 | |
1510 | # RT #85964 | |
af302e7f | 1511 | ^m?(\S)(.*)\1$ aba y $1 a |
6241f69e | 1512 | ^m?(\S)(.*)\1$ \tb\t n - - |
af302e7f | 1513 | ^m?(\s)(.*)\1$ \tb\t y $1 \t |
6241f69e | 1514 | ^m?(\s)(.*)\1$ aba n - - |
af302e7f | 1515 | ^m?(\W)(.*)\1$ :b: y $1 : |
6241f69e | 1516 | ^m?(\W)(.*)\1$ aba n - - |
af302e7f | 1517 | ^m?(\w)(.*)\1$ aba y $1 a |
6241f69e | 1518 | ^m?(\w)(.*)\1$ :b: n - - |
af302e7f | 1519 | ^m?(\D)(.*)\1$ aba y $1 a |
6241f69e | 1520 | ^m?(\D)(.*)\1$ 5b5 n - - |
af302e7f | 1521 | ^m?(\d)(.*)\1$ 5b5 y $1 5 |
6241f69e | 1522 | ^m?(\d)(.*)\1$ aba n - - |
f6a766d5 KW |
1523 | |
1524 | # 17F is 'Long s'; This makes sure the a's in /aa can be separate | |
1525 | /s/ai \x{17F} y $& \x{17F} | |
1526 | /s/aia \x{17F} n - - | |
1527 | /s/aia S y $& S | |
1528 | /(?aia:s)/ \x{17F} n - - | |
1529 | /(?aia:s)/ S y $& S | |
827f5bb8 KW |
1530 | |
1531 | # Normally 1E9E generates a multi-char fold, but not in inverted class; | |
1532 | # See [perl #89750]. This makes sure that the simple fold gets generated | |
1533 | # in that case, to DF. | |
1534 | /[^\x{1E9E}]/i \x{DF} n - - | |
1380b51d DM |
1535 | |
1536 | # RT #96354 | |
1537 | /^.*\d\H/ X1 n - - | |
1538 | /^.*\d\V/ X1 n - - | |
1539 | ||
45376db6 KW |
1540 | # \p{L_} was being misinterpreted as \p{L}. L_ matches cased letters, which |
1541 | # the ideograph below isn't, whereas it does match L | |
1542 | /^\p{L_}/ \x{3400} n - - | |
1543 | /^\p{L}/ \x{3400} y $& \x{3400} | |
1544 | ||
fd0f00a9 | 1545 | # RT #89774 |
8aa72352 | 1546 | /[s\xDF]a/ui ssa ybT $& ssa |
fd0f00a9 | 1547 | |
e47f2755 | 1548 | # RT #99928 |
1978b668 | 1549 | /^\R\x0A$/ \x0D\x0A n - - |
e47f2755 | 1550 | |
7b8a8069 | 1551 | /ff/i \x{FB00}\x{FB01} y $& \x{FB00} |
7c1b9f38 | 1552 | /ff/i \x{FB01}\x{FB00} y $& \x{FB00} |
7b8a8069 | 1553 | /fi/i \x{FB01}\x{FB00} y $& \x{FB01} |
7c1b9f38 | 1554 | /fi/i \x{FB00}\x{FB01} y $& \x{FB01} |
2866decb DM |
1555 | # |
1556 | # Make sure we don't see code blocks where there aren't, and vice-versa | |
1557 | (?#( (?{1+)a a y - - | |
1558 | 'a# (?{1+'x a y - - | |
1559 | ab[(?{1] ab1 y - - | |
1560 | ab[(?{1\](?{2] ab2 y - - | |
1561 | ab(?{"["})cd abcd y - - | |
e4a2df84 DM |
1562 | ab(??{"[x]"})cd abxcd y - - |
1563 | ab\[(??{1})c ab[1c y - - | |
1564 | ab\\[(??{1;})]c ab\\;c y - - | |
1565 | ab\\\[(??{1})c ab\\[1c y - - | |
1566 | ab[c\](??{"]d abcd y - - | |
1567 | ab[c\\](??{"[x]"})d ab\\xd y - - | |
1568 | ab[c\\\](??{"x"})]{3}d ab\\](d y - - | |
7b8a8069 | 1569 | |
e067297c KW |
1570 | # These test that doesn't cut-off matching too soon in the string for |
1571 | # multi-char folds | |
1572 | /ffiffl/i abcdef\x{FB03}\x{FB04} y $& \x{FB03}\x{FB04} | |
1573 | /\xdf\xdf/ui abcdefssss y $& ssss | |
1574 | ||
7a2d0ccc KW |
1575 | /st/i \x{DF}\x{FB05} y $& \x{FB05} |
1576 | /ssst/i \x{DF}\x{FB05} y $& \x{DF}\x{FB05} | |
1577 | ||
4f03b4b6 KW |
1578 | # [perl #101970] |
1579 | /[[:lower:]]/i \x{100} y $& \x{100} | |
1580 | /[[:upper:]]/i \x{101} y $& \x{101} | |
1581 | ||
ed178f65 KW |
1582 | # Was matching 'ss' only and failing the entire match, not seeing the |
1583 | # alternative that would succeed | |
bb914485 KW |
1584 | /s\xDF/ui \xDFs y $& \xDFs |
1585 | /sst/ui s\N{LATIN SMALL LIGATURE ST} y $& s\N{LATIN SMALL LIGATURE ST} | |
1586 | /sst/ui s\N{LATIN SMALL LIGATURE LONG S T} y $& s\N{LATIN SMALL LIGATURE LONG S T} | |
ed178f65 | 1587 | |
35245af4 | 1588 | # /i properties shouldn't match more than the property itself |
ea317ccb KW |
1589 | /[[:ascii:]]/i \N{KELVIN SIGN} n - - |
1590 | ||
dab0c3e7 KW |
1591 | # [[:lower:]]/i and [[:upper:]]/i should match what \p{Lower} and \p{Upper} do. |
1592 | # which is \p{Cased}, not \p{Alpha}, | |
1593 | /[[:lower:]]/i \N{U+3400} n - - | |
1594 | /[[:upper:]]/i \N{U+01BB} n - - | |
1595 | ||
5d103fec KW |
1596 | # [perl #110648] |
1597 | [^\p{Alphabetic}] \x{100} n - - | |
1598 | ||
b4069bca KW |
1599 | # [perl #111400]. Tests the first Y/N boundary above 255 for each of these. |
1600 | /[[:alnum:]]/ \x{2c1} y - - | |
1601 | /[[:alnum:]]/ \x{2c2} n - - | |
1602 | /[[:alpha:]]/ \x{2c1} y - - | |
1603 | /[[:alpha:]]/ \x{2c2} n - - | |
1604 | /[[:graph:]]/ \x{377} y - - | |
1605 | /[[:graph:]]/ \x{378} n - - | |
1606 | /[[:lower:]]/ \x{100} n - - | |
1607 | /[[:lower:]]/ \x{101} y - - | |
1608 | /[[:lower:]]/ \x{102} n - - | |
1609 | /[[:print:]]/ \x{377} y - - | |
1610 | /[[:print:]]/ \x{378} n - - | |
1611 | /[[:punct:]]/ \x{37D} n - - | |
1612 | /[[:punct:]]/ \x{37E} y - - | |
1613 | /[[:punct:]]/ \x{388} n - - | |
1614 | /[[:upper:]]/ \x{100} y - - | |
1615 | /[[:upper:]]/ \x{101} n - - | |
1616 | /[[:word:]]/ \x{2c1} y - - | |
1617 | /[[:word:]]/ \x{2c2} n - - | |
1618 | ||
4adb7801 FC |
1619 | # [perl #113400] |
1620 | /syntax OK\s+\z/si t/bin/good.pl syntax OK\n y - - | |
b4069bca | 1621 | |
df826430 YO |
1622 | /^(.*?)\s*\|\s*(?:\/\s*|)'(.+)'$/ text|'sec' y <$1><$2> <text><sec> |
1623 | /^(foo|)bar$/ bar y <$&> <bar> | |
1624 | /^(foo||baz)bar$/ bar y <$&> <bar> | |
1625 | /^(foo||baz)bar$/ bazbar y <$1> <baz> | |
1626 | /^(foo||baz)bar$/ foobar y <$1> <foo> | |
1627 | ||
1628 | /^(?:foo|)bar$/ bar y <$&> <bar> | |
1629 | /^(?:foo||baz)bar$/ bar y <$&> <bar> | |
1630 | /^(?:foo||baz)bar$/ bazbar y <$&> <bazbar> | |
1631 | /^(?:foo||baz)bar$/ foobar y <$&> <foobar> | |
1632 | ||
1633 | /^(?i:foo|)bar$/ bar y <$&> <bar> | |
1634 | /^(?i:foo||baz)bar$/ bar y <$&> <bar> | |
1635 | /^(?i:foo||baz)bar$/ bazbar y <$&> <bazbar> | |
1636 | /^(?i:foo||baz)bar$/ foobar y <$&> <foobar> | |
1637 | ||
f6033a9d DM |
1638 | # $^N, $+ on backtrackracking |
1639 | # BRANCH | |
1640 | ^(.)(?:(..)|B)[CX] ABCDE y $^N-$+ A-A - | |
1641 | # TRIE | |
1642 | ^(.)(?:BC(.)|B)[CX] ABCDE y $^N-$+ A-A - | |
1643 | # CURLYX | |
1644 | ^(.)(?:(.)+)*[BX] ABCDE y $^N-$+ A-A - | |
1645 | # CURLYM | |
1646 | ^(.)(BC)* ABCDE y $^N-$+ BC-BC - | |
1647 | ^(.)(BC)*[BX] ABCDE y $^N-$+ A-A - | |
1648 | # CURLYN | |
1649 | ^(.)(B)*.[DX] ABCDE y $^N-$+ B-B - | |
1650 | ^(.)(B)*.[CX] ABCDE y $^N-$+ A-A - | |
1651 | ||
cec72654 DM |
1652 | # using 'return' in code blocks |
1653 | ^(A)(?{"xyz"})B$ AB y $1-$^R A-xyz - | |
1654 | ^(A)(?{return "xyz"})B$ AB y $1-$^R A-xyz - | |
1655 | ^(A)((??{"xyz"}))$ Axyz y $1-$2 A-xyz - | |
1656 | ^(A)((??{return "xyz"}))$ Axyz y $1-$2 A-xyz - | |
1657 | ^(A)((?(?{1})abc|xyz))$ Aabc y $1-$2 A-abc - | |
1658 | ^(A)((?(?{0})abc|xyz))$ Axyz y $1-$2 A-xyz - | |
1659 | ^(A)((?(?{return 1})abc|xyz))$ Aabc y $1-$2 A-abc - | |
1660 | ^(A)((?(?{return 0})abc|xyz))$ Axyz y $1-$2 A-xyz - | |
1661 | ||
ec841a27 DM |
1662 | # pattern modifier flags should propagate into returned (??{}) pattern |
1663 | # p,d,l not tested | |
1664 | ||
1665 | /^(a)((??{"b"}))$/i AB y $1-$2 A-B - | |
1666 | /^(A)((??{'B$'}))(\nC)$/m AB\nC y $1-$2-$3 A-B-\nC - | |
1667 | /^(A)((??{'.'}))(B)$/s A\nB y $1-$2-$3 A-\n-B - | |
1668 | /^(A) ((??{' .'}))(B)$/x A B y $1-$2-$3 A- -B - | |
1669 | /^((??{'\d'}))$/a \x{660} n - - | |
1670 | /^(??{"s"})$/i \x{17F} y - - | |
1671 | /^(??{"s"})$/ia \x{17F} y - - | |
1672 | /^(??{"s"})$/iaa \x{17F} n - - | |
1673 | /^(??{'\w'})$/u \x{AA} y - - | |
1674 | ||
a8d1f4b4 DM |
1675 | # #113670 ensure any captures to the right are invalidated when CURLY |
1676 | # and CURLYM backtrack | |
1677 | ||
1678 | ^(?:(X)?(\d)|(X)?(\d\d))$ X12 y $1-$2-$3-$4 --X-12 | |
1679 | ^(?:(XX)?(\d)|(XX)?(\d\d))$ XX12 y $1-$2-$3-$4 --XX-12 | |
1680 | ||
190c1910 YO |
1681 | # rt 113770 |
1682 | \A(?>\[(?:(?:)(?:R){1}|T|V?|A)\])\z [A] y $& [A] | |
ac7af3f6 YO |
1683 | # rt 114068 |
1684 | /( [^z] $ [^z]+)/xm aa\nbb\ncc\n y $1 a\nbb\ncc\n | |
d8661376 KW |
1685 | |
1686 | # [perl #114220] | |
1687 | /[\h]/ \x{A0} y $& \xA0 | |
1688 | /[\H]/ \x{BF} y $& \xBF | |
1689 | /[\H]/ \x{A0} n - - | |
1690 | /[\H]/ \x{A1} y $& \xA1 | |
1691 | ||
5a279aa0 KW |
1692 | [^\n]+ \nb y $& b |
1693 | [^\n]+ a\n y $& a | |
1694 | ||
0658cdde KW |
1695 | # /a has no effect on properties |
1696 | (?a:\p{Any}) \x{100} y $& \x{100} | |
1697 | (?aa:\p{Any}) \x{100} y $& \x{100} | |
1698 | ||
7a4d6ad6 KW |
1699 | \w \x{200C} y $& \x{200C} |
1700 | \W \x{200C} n - - | |
1701 | \w \x{200D} y $& \x{200D} | |
1702 | \W \x{200D} n - - | |
1703 | ||
7dff6b46 KW |
1704 | /^(?d:\xdf|_)*_/i \x{17f}\x{17f}_ y $& \x{17f}\x{17f}_ |
1705 | ||
0b70ce6f | 1706 | # vim: softtabstop=0 noexpandtab |