This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Separate avhv_foo() key handling into avhv_keys(). Slightly tweaked
[perl5.git] / t / op / re_tests
CommitLineData
378cc40b
LW
1abc abc y $& abc
2abc xbc n - -
3abc axc n - -
4abc abx n - -
5abc xabcy y $& abc
6abc ababc y $& abc
7ab*c abc y $& abc
8ab*bc abc y $& abc
9ab*bc abbc y $& abbc
10ab*bc abbbbc y $& abbbbc
a687059c 11ab{0,}bc abbbbc y $& abbbbc
378cc40b
LW
12ab+bc abbc y $& abbc
13ab+bc abc n - -
14ab+bc abq n - -
a687059c 15ab{1,}bc abq n - -
378cc40b 16ab+bc abbbbc y $& abbbbc
a687059c
LW
17ab{1,}bc abbbbc y $& abbbbc
18ab{1,3}bc abbbbc y $& abbbbc
19ab{3,4}bc abbbbc y $& abbbbc
20ab{4,5}bc abbbbc n - -
378cc40b
LW
21ab?bc abbc y $& abbc
22ab?bc abc y $& abc
a687059c 23ab{0,1}bc abc y $& abc
378cc40b
LW
24ab?bc abbbbc n - -
25ab?c abc y $& abc
a687059c 26ab{0,1}c abc y $& abc
378cc40b
LW
27^abc$ abc y $& abc
28^abc$ abcc n - -
29^abc abcc y $& abc
30^abc$ aabc n - -
31abc$ aabc y $& abc
32^ abc y $&
33$ abc y $&
34a.c abc y $& abc
35a.c axc y $& axc
36a.*c axyzc y $& axyzc
37a.*c axyzd n - -
38a[bc]d abc n - -
39a[bc]d abd y $& abd
40a[b-d]e abd n - -
41a[b-d]e ace y $& ace
42a[b-d] aac y $& ac
43a[-b] a- y $& a-
44a[b-] a- y $& a-
1b1626e4
G
45a[b-a] - c - /a[b-a]/: invalid [] range in regexp
46a[]b - c - /a[]b/: unmatched [] in regexp
47a[ - c - /a[/: unmatched [] in regexp
378cc40b
LW
48a] a] y $& a]
49a[]]b a]b y $& a]b
50a[^bc]d aed y $& aed
51a[^bc]d abd n - -
52a[^-b]c adc y $& adc
53a[^-b]c a-c n - -
54a[^]b]c a]c n - -
55a[^]b]c adc y $& adc
bbce6d69
PP
56\ba\b a- y - -
57\ba\b -a y - -
58\ba\b -a- y - -
59\by\b xy n - -
60\by\b yz n - -
61\by\b xyz n - -
62\Ba\B a- n - -
63\Ba\B -a n - -
64\Ba\B -a- n - -
65\By\b xy y - -
66\by\B yz y - -
67\By\B xyz y - -
68\w a y - -
69\w - n - -
70\W a n - -
71\W - y - -
72a\sb a b y - -
73a\sb a-b n - -
74a\Sb a b n - -
75a\Sb a-b y - -
76\d 1 y - -
77\d - n - -
78\D 1 n - -
79\D - y - -
80[\w] a y - -
81[\w] - n - -
82[\W] a n - -
83[\W] - y - -
84a[\s]b a b y - -
85a[\s]b a-b n - -
86a[\S]b a b n - -
87a[\S]b a-b y - -
88[\d] 1 y - -
89[\d] - n - -
90[\D] 1 n - -
91[\D] - y - -
378cc40b
LW
92ab|cd abc y $& ab
93ab|cd abcd y $& ab
94()ef def y $&-$1 ef-
1b1626e4
G
95*a - c - /*a/: ?+*{} follows nothing in regexp
96(*)b - c - /(*)b/: ?+*{} follows nothing in regexp
378cc40b 97$b b n - -
1b1626e4 98a\ - c - Search pattern not terminated
378cc40b
LW
99a\(b a(b y $&-$1 a(b-
100a\(*b ab y $& ab
101a\(*b a((b y $& a((b
102a\\b a\b y $& a\b
1b1626e4
G
103abc) - c - /abc)/: unmatched () in regexp
104(abc - c - /(abc/: unmatched () in regexp
378cc40b
LW
105((a)) abc y $&-$1-$2 a-a-a
106(a)b(c) abc y $&-$1-$2 abc-a-c
107a+b+c aabbabc y $& abc
a687059c 108a{1,}b{1,}c aabbabc y $& abc
1b1626e4 109a** - c - /a**/: nested *?+ in regexp
a0d0e21e 110a.+?c abcabc y $& abc
378cc40b 111(a+|b)* ab y $&-$1 ab-b
a687059c 112(a+|b){0,} ab y $&-$1 ab-b
378cc40b 113(a+|b)+ ab y $&-$1 ab-b
a687059c 114(a+|b){1,} ab y $&-$1 ab-b
378cc40b 115(a+|b)? ab y $&-$1 a-a
a687059c 116(a+|b){0,1} ab y $&-$1 a-a
1b1626e4 117)( - c - /)(/: unmatched () in regexp
378cc40b
LW
118[^ab]* cde y $& cde
119abc n - -
120a* y $&
121([abc])*d abbbcd y $&-$1 abbbcd-c
122([abc])*bcd abcd y $&-$1 abcd-a
123a|b|c|d|e e y $& e
124(a|b|c|d|e)f ef y $&-$1 ef-e
378cc40b
LW
125abcd*efg abcdefg y $& abcdefg
126ab* xabyabbbz y $& ab
127ab* xayabbbz y $& a
128(ab|cd)e abcde y $&-$1 cde-cd
129[abhgefdc]ij hij y $& hij
130^(ab|cd)e abcde n x$1y xy
131(abc|)ef abcdef y $&-$1 ef-
132(a|b)c*d abcd y $&-$1 bcd-b
133(ab|ab*)bc abc y $&-$1 abc-a
134a([bc]*)c* abc y $&-$1 abc-bc
135a([bc]*)(c*d) abcd y $&-$1-$2 abcd-bc-d
136a([bc]+)(c*d) abcd y $&-$1-$2 abcd-bc-d
137a([bc]*)(c+d) abcd y $&-$1-$2 abcd-b-cd
138a[bcd]*dcdcde adcdcde y $& adcdcde
139a[bcd]+dcdcde adcdcde n - -
140(ab|a)b*c abc y $&-$1 abc-ab
141((a)(b)c)(d) abcd y $1-$2-$3-$4 abc-a-b-d
142[a-zA-Z_][a-zA-Z0-9_]* alpha y $& alpha
143^a(bc+|b[eh])g|.h$ abh y $&-$1 bh-
144(bc+d$|ef*g.|h?i(j|k)) effgz y $&-$1-$2 effgz-effgz-
145(bc+d$|ef*g.|h?i(j|k)) ij y $&-$1-$2 ij-ij-j
146(bc+d$|ef*g.|h?i(j|k)) effg n - -
147(bc+d$|ef*g.|h?i(j|k)) bcdd n - -
148(bc+d$|ef*g.|h?i(j|k)) reffgz y $&-$1-$2 effgz-effgz-
fe14fcc3
LW
149((((((((((a)))))))))) a y $10 a
150((((((((((a))))))))))\10 aa y $& aa
151((((((((((a))))))))))\41 aa n - -
152((((((((((a))))))))))\41 a! y $& a!
378cc40b
LW
153(((((((((a))))))))) a y $& a
154multiple words of text uh-uh n - -
155multiple words multiple words, yeah y $& multiple words
156(.*)c(.*) abcde y $&-$1-$2 abcde-ab-de
157\((.*), (.*)\) (a, b) y ($2, $1) (b, a)
158[k] ab n - -
159abcd abcd y $&-\$&-\\$& abcd-$&-\abcd
160a(bc)d abcd y $1-\$1-\\$1 bc-$1-\bc
161a[-]?c ac y $& ac
162(abc)\1 abcabc y $1 abc
163([a-c]*)\1 abcabc y $1 abc
1462b684
LW
164'abc'i ABC y $& ABC
165'abc'i XBC n - -
166'abc'i AXC n - -
167'abc'i ABX n - -
168'abc'i XABCY y $& ABC
169'abc'i ABABC y $& ABC
170'ab*c'i ABC y $& ABC
171'ab*bc'i ABC y $& ABC
172'ab*bc'i ABBC y $& ABBC
a0d0e21e
LW
173'ab*?bc'i ABBBBC y $& ABBBBC
174'ab{0,}?bc'i ABBBBC y $& ABBBBC
175'ab+?bc'i ABBC y $& ABBC
1462b684
LW
176'ab+bc'i ABC n - -
177'ab+bc'i ABQ n - -
178'ab{1,}bc'i ABQ n - -
179'ab+bc'i ABBBBC y $& ABBBBC
a0d0e21e
LW
180'ab{1,}?bc'i ABBBBC y $& ABBBBC
181'ab{1,3}?bc'i ABBBBC y $& ABBBBC
182'ab{3,4}?bc'i ABBBBC y $& ABBBBC
183'ab{4,5}?bc'i ABBBBC n - -
184'ab??bc'i ABBC y $& ABBC
185'ab??bc'i ABC y $& ABC
186'ab{0,1}?bc'i ABC y $& ABC
187'ab??bc'i ABBBBC n - -
188'ab??c'i ABC y $& ABC
189'ab{0,1}?c'i ABC y $& ABC
1462b684
LW
190'^abc$'i ABC y $& ABC
191'^abc$'i ABCC n - -
192'^abc'i ABCC y $& ABC
193'^abc$'i AABC n - -
194'abc$'i AABC y $& ABC
195'^'i ABC y $&
196'$'i ABC y $&
197'a.c'i ABC y $& ABC
198'a.c'i AXC y $& AXC
a0d0e21e 199'a.*?c'i AXYZC y $& AXYZC
1462b684
LW
200'a.*c'i AXYZD n - -
201'a[bc]d'i ABC n - -
202'a[bc]d'i ABD y $& ABD
203'a[b-d]e'i ABD n - -
204'a[b-d]e'i ACE y $& ACE
205'a[b-d]'i AAC y $& AC
206'a[-b]'i A- y $& A-
207'a[b-]'i A- y $& A-
1b1626e4
G
208'a[b-a]'i - c - /a[b-a]/: invalid [] range in regexp
209'a[]b'i - c - /a[]b/: unmatched [] in regexp
210'a['i - c - /a[/: unmatched [] in regexp
1462b684
LW
211'a]'i A] y $& A]
212'a[]]b'i A]B y $& A]B
213'a[^bc]d'i AED y $& AED
214'a[^bc]d'i ABD n - -
215'a[^-b]c'i ADC y $& ADC
216'a[^-b]c'i A-C n - -
217'a[^]b]c'i A]C n - -
218'a[^]b]c'i ADC y $& ADC
219'ab|cd'i ABC y $& AB
220'ab|cd'i ABCD y $& AB
221'()ef'i DEF y $&-$1 EF-
1b1626e4
G
222'*a'i - c - /*a/: ?+*{} follows nothing in regexp
223'(*)b'i - c - /(*)b/: ?+*{} follows nothing in regexp
1462b684 224'$b'i B n - -
1b1626e4 225'a\'i - c - Search pattern not terminated
1462b684
LW
226'a\(b'i A(B y $&-$1 A(B-
227'a\(*b'i AB y $& AB
228'a\(*b'i A((B y $& A((B
229'a\\b'i A\B y $& A\B
1b1626e4
G
230'abc)'i - c - /abc)/: unmatched () in regexp
231'(abc'i - c - /(abc/: unmatched () in regexp
1462b684
LW
232'((a))'i ABC y $&-$1-$2 A-A-A
233'(a)b(c)'i ABC y $&-$1-$2 ABC-A-C
234'a+b+c'i AABBABC y $& ABC
235'a{1,}b{1,}c'i AABBABC y $& ABC
1b1626e4 236'a**'i - c - /a**/: nested *?+ in regexp
a0d0e21e
LW
237'a.+?c'i ABCABC y $& ABC
238'a.*?c'i ABCABC y $& ABC
239'a.{0,5}?c'i ABCABC y $& ABC
1462b684
LW
240'(a+|b)*'i AB y $&-$1 AB-B
241'(a+|b){0,}'i AB y $&-$1 AB-B
242'(a+|b)+'i AB y $&-$1 AB-B
243'(a+|b){1,}'i AB y $&-$1 AB-B
244'(a+|b)?'i AB y $&-$1 A-A
245'(a+|b){0,1}'i AB y $&-$1 A-A
a0d0e21e 246'(a+|b){0,1}?'i AB y $&-$1 -
1b1626e4 247')('i - c - /)(/: unmatched () in regexp
1462b684
LW
248'[^ab]*'i CDE y $& CDE
249'abc'i n - -
250'a*'i y $&
251'([abc])*d'i ABBBCD y $&-$1 ABBBCD-C
252'([abc])*bcd'i ABCD y $&-$1 ABCD-A
253'a|b|c|d|e'i E y $& E
254'(a|b|c|d|e)f'i EF y $&-$1 EF-E
1462b684
LW
255'abcd*efg'i ABCDEFG y $& ABCDEFG
256'ab*'i XABYABBBZ y $& AB
257'ab*'i XAYABBBZ y $& A
258'(ab|cd)e'i ABCDE y $&-$1 CDE-CD
259'[abhgefdc]ij'i HIJ y $& HIJ
260'^(ab|cd)e'i ABCDE n x$1y XY
261'(abc|)ef'i ABCDEF y $&-$1 EF-
262'(a|b)c*d'i ABCD y $&-$1 BCD-B
263'(ab|ab*)bc'i ABC y $&-$1 ABC-A
264'a([bc]*)c*'i ABC y $&-$1 ABC-BC
265'a([bc]*)(c*d)'i ABCD y $&-$1-$2 ABCD-BC-D
266'a([bc]+)(c*d)'i ABCD y $&-$1-$2 ABCD-BC-D
267'a([bc]*)(c+d)'i ABCD y $&-$1-$2 ABCD-B-CD
268'a[bcd]*dcdcde'i ADCDCDE y $& ADCDCDE
269'a[bcd]+dcdcde'i ADCDCDE n - -
270'(ab|a)b*c'i ABC y $&-$1 ABC-AB
271'((a)(b)c)(d)'i ABCD y $1-$2-$3-$4 ABC-A-B-D
272'[a-zA-Z_][a-zA-Z0-9_]*'i ALPHA y $& ALPHA
273'^a(bc+|b[eh])g|.h$'i ABH y $&-$1 BH-
274'(bc+d$|ef*g.|h?i(j|k))'i EFFGZ y $&-$1-$2 EFFGZ-EFFGZ-
275'(bc+d$|ef*g.|h?i(j|k))'i IJ y $&-$1-$2 IJ-IJ-J
276'(bc+d$|ef*g.|h?i(j|k))'i EFFG n - -
277'(bc+d$|ef*g.|h?i(j|k))'i BCDD n - -
278'(bc+d$|ef*g.|h?i(j|k))'i REFFGZ y $&-$1-$2 EFFGZ-EFFGZ-
279'((((((((((a))))))))))'i A y $10 A
280'((((((((((a))))))))))\10'i AA y $& AA
281'((((((((((a))))))))))\41'i AA n - -
282'((((((((((a))))))))))\41'i A! y $& A!
283'(((((((((a)))))))))'i A y $& A
a0d0e21e
LW
284'(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))'i A y $1 A
285'(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))'i C y $1 C
1462b684
LW
286'multiple words of text'i UH-UH n - -
287'multiple words'i MULTIPLE WORDS, YEAH y $& MULTIPLE WORDS
288'(.*)c(.*)'i ABCDE y $&-$1-$2 ABCDE-AB-DE
289'\((.*), (.*)\)'i (A, B) y ($2, $1) (B, A)
290'[k]'i AB n - -
291'abcd'i ABCD y $&-\$&-\\$& ABCD-$&-\ABCD
292'a(bc)d'i ABCD y $1-\$1-\\$1 BC-$1-\BC
293'a[-]?c'i AC y $& AC
294'(abc)\1'i ABCABC y $1 ABC
295'([a-c]*)\1'i ABCABC y $1 ABC
a0d0e21e
LW
296a(?!b). abad y $& ad
297a(?=d). abad y $& ad
298a(?=c|d). abad y $& ad
299a(?:b|c|d)(.) ace y $1 e
300a(?:b|c|d)*(.) ace y $1 e
301a(?:b|c|d)+?(.) ace y $1 e
302a(?:b|(c|e){1,2}?|d)+?(.) ace y $1$2 ce
303^(.+)?B AB y $1 A
ad4f75a6
HM
304'([a-z]+)\s\1'i Aa aa y $&-$1 Aa aa-Aa
305'([a-z]+)\s\1'i Ab ab y $&-$1 Ab ab-Ab
306foo\w*\d{4}baz foobar1234baz y $& foobar1234baz
84902520 307((foo)|(bar))* foobar y $1-$2-$3 bar-foo-bar
1b1626e4 308:(?: - c - Sequence (? incomplete