/[pcre]/code/trunk/testdata/testinput2
ViewVC logotype

Contents of /code/trunk/testdata/testinput2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 510 - (show annotations) (download)
Sat Mar 27 17:45:29 2010 UTC (4 years ago) by ph10
File size: 65678 byte(s)
Add support for *MARK and names for *PRUNE, *SKIP, *THEN.

1 /-- This set of tests is not Perl-compatible. It checks on special features
2 of PCRE's API, error diagnostics, and the compiled code of some patterns.
3 It also checks the non-Perl syntax the PCRE supports (Python, .NET,
4 Oniguruma). Finally, there are some tests where PCRE and Perl differ,
5 either because PCRE can't be compatible, or there is potential Perl
6 bug. --/
7
8 /-- Originally, the Perl 5.10 things were in here too, but now I have separated
9 many (most?) of them out into test 11. However, there may still be some
10 that were overlooked. --/
11
12 /(a)b|/I
13
14 /abc/I
15 abc
16 defabc
17 \Aabc
18 *** Failers
19 \Adefabc
20 ABC
21
22 /^abc/I
23 abc
24 \Aabc
25 *** Failers
26 defabc
27 \Adefabc
28
29 /a+bc/I
30
31 /a*bc/I
32
33 /a{3}bc/I
34
35 /(abc|a+z)/I
36
37 /^abc$/I
38 abc
39 *** Failers
40 def\nabc
41
42 /ab\idef/X
43
44 /(?X)ab\idef/X
45
46 /x{5,4}/
47
48 /z{65536}/
49
50 /[abcd/
51
52 /(?X)[\B]/
53
54 /[z-a]/
55
56 /^*/
57
58 /(abc/
59
60 /(?# abc/
61
62 /(?z)abc/
63
64 /.*b/I
65
66 /.*?b/I
67
68 /cat|dog|elephant/I
69 this sentence eventually mentions a cat
70 this sentences rambles on and on for a while and then reaches elephant
71
72 /cat|dog|elephant/IS
73 this sentence eventually mentions a cat
74 this sentences rambles on and on for a while and then reaches elephant
75
76 /cat|dog|elephant/IiS
77 this sentence eventually mentions a CAT cat
78 this sentences rambles on and on for a while to elephant ElePhant
79
80 /a|[bcd]/IS
81
82 /(a|[^\dZ])/IS
83
84 /(a|b)*[\s]/IS
85
86 /(ab\2)/
87
88 /{4,5}abc/
89
90 /(a)(b)(c)\2/I
91 abcb
92 \O0abcb
93 \O3abcb
94 \O6abcb
95 \O9abcb
96 \O12abcb
97
98 /(a)bc|(a)(b)\2/I
99 abc
100 \O0abc
101 \O3abc
102 \O6abc
103 aba
104 \O0aba
105 \O3aba
106 \O6aba
107 \O9aba
108 \O12aba
109
110 /abc$/IE
111 abc
112 *** Failers
113 abc\n
114 abc\ndef
115
116 /(a)(b)(c)(d)(e)\6/
117
118 /the quick brown fox/I
119 the quick brown fox
120 this is a line with the quick brown fox
121
122 /the quick brown fox/IA
123 the quick brown fox
124 *** Failers
125 this is a line with the quick brown fox
126
127 /ab(?z)cd/
128
129 /^abc|def/I
130 abcdef
131 abcdef\B
132
133 /.*((abc)$|(def))/I
134 defabc
135 \Zdefabc
136
137 /abc/P
138 abc
139 *** Failers
140
141 /^abc|def/P
142 abcdef
143 abcdef\B
144
145 /.*((abc)$|(def))/P
146 defabc
147 \Zdefabc
148
149 /the quick brown fox/P
150 the quick brown fox
151 *** Failers
152 The Quick Brown Fox
153
154 /the quick brown fox/Pi
155 the quick brown fox
156 The Quick Brown Fox
157
158 /abc.def/P
159 *** Failers
160 abc\ndef
161
162 /abc$/P
163 abc
164 abc\n
165
166 /(abc)\2/P
167
168 /(abc\1)/P
169 abc
170
171 /)/
172
173 /a[]b/
174
175 /[^aeiou ]{3,}/I
176 co-processors, and for
177
178 /<.*>/I
179 abc<def>ghi<klm>nop
180
181 /<.*?>/I
182 abc<def>ghi<klm>nop
183
184 /<.*>/IU
185 abc<def>ghi<klm>nop
186
187 /(?U)<.*>/I
188 abc<def>ghi<klm>nop
189
190 /<.*?>/IU
191 abc<def>ghi<klm>nop
192
193 /={3,}/IU
194 abc========def
195
196 /(?U)={3,}?/I
197 abc========def
198
199 /(?<!bar|cattle)foo/I
200 foo
201 catfoo
202 *** Failers
203 the barfoo
204 and cattlefoo
205
206 /(?<=a+)b/
207
208 /(?<=aaa|b{0,3})b/
209
210 /(?<!(foo)a\1)bar/
211
212 /(?i)abc/I
213
214 /(a|(?m)a)/I
215
216 /(?i)^1234/I
217
218 /(^b|(?i)^d)/I
219
220 /(?s).*/I
221
222 /[abcd]/IS
223
224 /(?i)[abcd]/IS
225
226 /(?m)[xy]|(b|c)/IS
227
228 /(^a|^b)/Im
229
230 /(?i)(^a|^b)/Im
231
232 /(a)(?(1)a|b|c)/
233
234 /(?(?=a)a|b|c)/
235
236 /(?(1a)/
237
238 /(?(1a))/
239
240 /(?(?i))/
241
242 /(?(abc))/
243
244 /(?(?<ab))/
245
246 /((?s)blah)\s+\1/I
247
248 /((?i)blah)\s+\1/I
249
250 /((?i)b)/IDZS
251
252 /(a*b|(?i:c*(?-i)d))/IS
253
254 /a$/I
255 a
256 a\n
257 *** Failers
258 \Za
259 \Za\n
260
261 /a$/Im
262 a
263 a\n
264 \Za\n
265 *** Failers
266 \Za
267
268 /\Aabc/Im
269
270 /^abc/Im
271
272 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
273 aaaaabbbbbcccccdef
274
275 /(?<=foo)[ab]/IS
276
277 /(?<!foo)(alpha|omega)/IS
278
279 /(?!alphabet)[ab]/IS
280
281 /(?<=foo\n)^bar/Im
282 foo\nbarbar
283 ***Failers
284 rhubarb
285 barbell
286 abc\nbarton
287
288 /^(?<=foo\n)bar/Im
289 foo\nbarbar
290 ***Failers
291 rhubarb
292 barbell
293 abc\nbarton
294
295 /(?>^abc)/Im
296 abc
297 def\nabc
298 *** Failers
299 defabc
300
301 /(?<=ab(c+)d)ef/
302
303 /(?<=ab(?<=c+)d)ef/
304
305 /(?<=ab(c|de)f)g/
306
307 /The next three are in testinput2 because they have variable length branches/
308
309 /(?<=bullock|donkey)-cart/I
310 the bullock-cart
311 a donkey-cart race
312 *** Failers
313 cart
314 horse-and-cart
315
316 /(?<=ab(?i)x|y|z)/I
317
318 /(?>.*)(?<=(abcd)|(xyz))/I
319 alphabetabcd
320 endingxyz
321
322 /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
323 abxyZZ
324 abXyZZ
325 ZZZ
326 zZZ
327 bZZ
328 BZZ
329 *** Failers
330 ZZ
331 abXYZZ
332 zzz
333 bzz
334
335 /(?<!(foo)a)bar/I
336 bar
337 foobbar
338 *** Failers
339 fooabar
340
341 /This one is here because Perl 5.005_02 doesn't fail it/I
342
343 /^(a)?(?(1)a|b)+$/I
344 *** Failers
345 a
346
347 /This one is here because Perl behaves differently; see also the following/I
348
349 /^(a\1?){4}$/I
350 aaaa
351 aaaaaa
352
353 /Perl does not fail these two for the final subjects. Neither did PCRE until/
354 /release 8.01. The problem is in backtracking into a subpattern that contains/
355 /a recursive reference to itself. PCRE has now made these into atomic patterns./
356
357 /^(xa|=?\1a){2}$/
358 xa=xaa
359 ** Failers
360 xa=xaaa
361
362 /^(xa|=?\1a)+$/
363 xa=xaa
364 ** Failers
365 xa=xaaa
366
367 /These are syntax tests from Perl 5.005/I
368
369 /a[b-a]/
370
371 /a[]b/
372
373 /a[/
374
375 /*a/
376
377 /(*)b/
378
379 /abc)/
380
381 /(abc/
382
383 /a**/
384
385 /)(/
386
387 /\1/
388
389 /\2/
390
391 /(a)|\2/
392
393 /a[b-a]/Ii
394
395 /a[]b/Ii
396
397 /a[/Ii
398
399 /*a/Ii
400
401 /(*)b/Ii
402
403 /abc)/Ii
404
405 /(abc/Ii
406
407 /a**/Ii
408
409 /)(/Ii
410
411 /:(?:/
412
413 /(?<%)b/
414
415 /a(?{)b/
416
417 /a(?{{})b/
418
419 /a(?{}})b/
420
421 /a(?{"{"})b/
422
423 /a(?{"{"}})b/
424
425 /(?(1?)a|b)/
426
427 /[a[:xyz:/
428
429 /(?<=x+)y/
430
431 /a{37,17}/
432
433 /abc/\
434
435 /abc/\P
436
437 /abc/\i
438
439 /(a)bc(d)/I
440 abcd
441 abcd\C2
442 abcd\C5
443
444 /(.{20})/I
445 abcdefghijklmnopqrstuvwxyz
446 abcdefghijklmnopqrstuvwxyz\C1
447 abcdefghijklmnopqrstuvwxyz\G1
448
449 /(.{15})/I
450 abcdefghijklmnopqrstuvwxyz
451 abcdefghijklmnopqrstuvwxyz\C1\G1
452
453 /(.{16})/I
454 abcdefghijklmnopqrstuvwxyz
455 abcdefghijklmnopqrstuvwxyz\C1\G1\L
456
457 /^(a|(bc))de(f)/I
458 adef\G1\G2\G3\G4\L
459 bcdef\G1\G2\G3\G4\L
460 adefghijk\C0
461
462 /^abc\00def/I
463 abc\00def\L\C0
464
465 /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
466 )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
467 )?)?)?)?)?)?)?)?)?otherword/I
468
469 /.*X/IDZ
470
471 /.*X/IDZs
472
473 /(.*X|^B)/IDZ
474
475 /(.*X|^B)/IDZs
476
477 /(?s)(.*X|^B)/IDZ
478
479 /(?s:.*X|^B)/IDZ
480
481 /\Biss\B/I+
482 Mississippi
483
484 /\Biss\B/I+P
485 Mississippi
486
487 /iss/IG+
488 Mississippi
489
490 /\Biss\B/IG+
491 Mississippi
492
493 /\Biss\B/Ig+
494 Mississippi
495 *** Failers
496 Mississippi\A
497
498 /(?<=[Ms])iss/Ig+
499 Mississippi
500
501 /(?<=[Ms])iss/IG+
502 Mississippi
503
504 /^iss/Ig+
505 ississippi
506
507 /.*iss/Ig+
508 abciss\nxyzisspqr
509
510 /.i./I+g
511 Mississippi
512 Mississippi\A
513 Missouri river
514 Missouri river\A
515
516 /^.is/I+g
517 Mississippi
518
519 /^ab\n/Ig+
520 ab\nab\ncd
521
522 /^ab\n/Img+
523 ab\nab\ncd
524
525 /abc/I
526
527 /abc|bac/I
528
529 /(abc|bac)/I
530
531 /(abc|(c|dc))/I
532
533 /(abc|(d|de)c)/I
534
535 /a*/I
536
537 /a+/I
538
539 /(baa|a+)/I
540
541 /a{0,3}/I
542
543 /baa{3,}/I
544
545 /"([^\\"]+|\\.)*"/I
546
547 /(abc|ab[cd])/I
548
549 /(a|.)/I
550
551 /a|ba|\w/I
552
553 /abc(?=pqr)/I
554
555 /...(?<=abc)/I
556
557 /abc(?!pqr)/I
558
559 /ab./I
560
561 /ab[xyz]/I
562
563 /abc*/I
564
565 /ab.c*/I
566
567 /a.c*/I
568
569 /.c*/I
570
571 /ac*/I
572
573 /(a.c*|b.c*)/I
574
575 /a.c*|aba/I
576
577 /.+a/I
578
579 /(?=abcda)a.*/I
580
581 /(?=a)a.*/I
582
583 /a(b)*/I
584
585 /a\d*/I
586
587 /ab\d*/I
588
589 /a(\d)*/I
590
591 /abcde{0,0}/I
592
593 /ab\d+/I
594
595 /a(?(1)b)(.)/I
596
597 /a(?(1)bag|big)(.)/I
598
599 /a(?(1)bag|big)*(.)/I
600
601 /a(?(1)bag|big)+(.)/I
602
603 /a(?(1)b..|b..)(.)/I
604
605 /ab\d{0}e/I
606
607 /a?b?/I
608 a
609 b
610 ab
611 \
612 *** Failers
613 \N
614
615 /|-/I
616 abcd
617 -abc
618 \Nab-c
619 *** Failers
620 \Nabc
621
622 /a*(b+)(z)(z)/P
623 aaaabbbbzzzz
624 aaaabbbbzzzz\O0
625 aaaabbbbzzzz\O1
626 aaaabbbbzzzz\O2
627 aaaabbbbzzzz\O3
628 aaaabbbbzzzz\O4
629 aaaabbbbzzzz\O5
630
631 /^.?abcd/IS
632
633 /\( # ( at start
634 (?: # Non-capturing bracket
635 (?>[^()]+) # Either a sequence of non-brackets (no backtracking)
636 | # Or
637 (?R) # Recurse - i.e. nested bracketed string
638 )* # Zero or more contents
639 \) # Closing )
640 /Ix
641 (abcd)
642 (abcd)xyz
643 xyz(abcd)
644 (ab(xy)cd)pqr
645 (ab(xycd)pqr
646 () abc ()
647 12(abcde(fsh)xyz(foo(bar))lmno)89
648 *** Failers
649 abcd
650 abcd)
651 (abcd
652
653 /\( ( (?>[^()]+) | (?R) )* \) /Ixg
654 (ab(xy)cd)pqr
655 1(abcd)(x(y)z)pqr
656
657 /\( (?: (?>[^()]+) | (?R) ) \) /Ix
658 (abcd)
659 (ab(xy)cd)
660 (a(b(c)d)e)
661 ((ab))
662 *** Failers
663 ()
664
665 /\( (?: (?>[^()]+) | (?R) )? \) /Ix
666 ()
667 12(abcde(fsh)xyz(foo(bar))lmno)89
668
669 /\( ( (?>[^()]+) | (?R) )* \) /Ix
670 (ab(xy)cd)
671
672 /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
673 (ab(xy)cd)
674
675 /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
676 (ab(xy)cd)
677 (123ab(xy)cd)
678
679 /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
680 (ab(xy)cd)
681 (123ab(xy)cd)
682
683 /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
684 (ab(xy)cd)
685
686 /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
687 (abcd(xyz<p>qrs)123)
688
689 /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
690 (ab(cd)ef)
691 (ab(cd(ef)gh)ij)
692
693 /^[[:alnum:]]/DZ
694
695 /^[[:^alnum:]]/DZ
696
697 /^[[:alpha:]]/DZ
698
699 /^[[:^alpha:]]/DZ
700
701 /[_[:alpha:]]/IS
702
703 /^[[:ascii:]]/DZ
704
705 /^[[:^ascii:]]/DZ
706
707 /^[[:blank:]]/DZ
708
709 /^[[:^blank:]]/DZ
710
711 /[\n\x0b\x0c\x0d[:blank:]]/IS
712
713 /^[[:cntrl:]]/DZ
714
715 /^[[:digit:]]/DZ
716
717 /^[[:graph:]]/DZ
718
719 /^[[:lower:]]/DZ
720
721 /^[[:print:]]/DZ
722
723 /^[[:punct:]]/DZ
724
725 /^[[:space:]]/DZ
726
727 /^[[:upper:]]/DZ
728
729 /^[[:xdigit:]]/DZ
730
731 /^[[:word:]]/DZ
732
733 /^[[:^cntrl:]]/DZ
734
735 /^[12[:^digit:]]/DZ
736
737 /^[[:^blank:]]/DZ
738
739 /[01[:alpha:]%]/DZ
740
741 /[[.ch.]]/I
742
743 /[[=ch=]]/I
744
745 /[[:rhubarb:]]/I
746
747 /[[:upper:]]/Ii
748 A
749 a
750
751 /[[:lower:]]/Ii
752 A
753 a
754
755 /((?-i)[[:lower:]])[[:lower:]]/Ii
756 ab
757 aB
758 *** Failers
759 Ab
760 AB
761
762 /[\200-\110]/I
763
764 /^(?(0)f|b)oo/I
765
766 /This one's here because of the large output vector needed/I
767
768 /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
769 \O900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 ABC ABC
770
771 /This one's here because Perl does this differently and PCRE can't at present/I
772
773 /(main(O)?)+/I
774 mainmain
775 mainOmain
776
777 /These are all cases where Perl does it differently (nested captures)/I
778
779 /^(a(b)?)+$/I
780 aba
781
782 /^(aa(bb)?)+$/I
783 aabbaa
784
785 /^(aa|aa(bb))+$/I
786 aabbaa
787
788 /^(aa(bb)??)+$/I
789 aabbaa
790
791 /^(?:aa(bb)?)+$/I
792 aabbaa
793
794 /^(aa(b(b))?)+$/I
795 aabbaa
796
797 /^(?:aa(b(b))?)+$/I
798 aabbaa
799
800 /^(?:aa(b(?:b))?)+$/I
801 aabbaa
802
803 /^(?:aa(bb(?:b))?)+$/I
804 aabbbaa
805
806 /^(?:aa(b(?:bb))?)+$/I
807 aabbbaa
808
809 /^(?:aa(?:b(b))?)+$/I
810 aabbaa
811
812 /^(?:aa(?:b(bb))?)+$/I
813 aabbbaa
814
815 /^(aa(b(bb))?)+$/I
816 aabbbaa
817
818 /^(aa(bb(bb))?)+$/I
819 aabbbbaa
820
821 /--------------------------------------------------------------------/I
822
823 /#/IxDZ
824
825 /a#/IxDZ
826
827 /[\s]/DZ
828
829 /[\S]/DZ
830
831 /a(?i)b/DZ
832 ab
833 aB
834 *** Failers
835 AB
836
837 /(a(?i)b)/DZ
838 ab
839 aB
840 *** Failers
841 AB
842
843 / (?i)abc/IxDZ
844
845 /#this is a comment
846 (?i)abc/IxDZ
847
848 /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
849
850 /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
851
852 /\Q\E/DZ
853 \
854
855 /\Q\Ex/DZ
856
857 / \Q\E/DZ
858
859 /a\Q\E/DZ
860 abc
861 bca
862 bac
863
864 /a\Q\Eb/DZ
865 abc
866
867 /\Q\Eabc/DZ
868
869 /x*+\w/DZ
870 *** Failers
871 xxxxx
872
873 /x?+/DZ
874
875 /x++/DZ
876
877 /x{1,3}+/DZ
878
879 /(x)*+/DZ
880
881 /^(\w++|\s++)*$/I
882 now is the time for all good men to come to the aid of the party
883 *** Failers
884 this is not a line with only words and spaces!
885
886 /(\d++)(\w)/I
887 12345a
888 *** Failers
889 12345+
890
891 /a++b/I
892 aaab
893
894 /(a++b)/I
895 aaab
896
897 /(a++)b/I
898 aaab
899
900 /([^()]++|\([^()]*\))+/I
901 ((abc(ade)ufh()()x
902
903 /\(([^()]++|\([^()]+\))+\)/I
904 (abc)
905 (abc(def)xyz)
906 *** Failers
907 ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
908
909 /(abc){1,3}+/DZ
910
911 /a+?+/I
912
913 /a{2,3}?+b/I
914
915 /(?U)a+?+/I
916
917 /a{2,3}?+b/IU
918
919 /x(?U)a++b/DZ
920 xaaaab
921
922 /(?U)xa++b/DZ
923 xaaaab
924
925 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
926
927 /^x(?U)a+b/DZ
928
929 /^x(?U)(a+)b/DZ
930
931 /[.x.]/I
932
933 /[=x=]/I
934
935 /[:x:]/I
936
937 /\l/I
938
939 /\L/I
940
941 /\N{name}/I
942
943 /\u/I
944
945 /\U/I
946
947 /[/I
948
949 /[a-/I
950
951 /[[:space:]/I
952
953 /[\s]/IDZ
954
955 /[[:space:]]/IDZ
956
957 /[[:space:]abcde]/IDZ
958
959 /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix
960 <>
961 <abcd>
962 <abc <123> hij>
963 <abc <def> hij>
964 <abc<>def>
965 <abc<>
966 *** Failers
967 <abc
968
969 |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|IDZ
970
971 |\$\<\.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|IDZ
972
973 /(.*)\d+\1/I
974
975 /(.*)\d+/I
976
977 /(.*)\d+\1/Is
978
979 /(.*)\d+/Is
980
981 /(.*(xyz))\d+\2/I
982
983 /((.*))\d+\1/I
984 abc123bc
985
986 /a[b]/I
987
988 /(?=a).*/I
989
990 /(?=abc).xyz/IiI
991
992 /(?=abc)(?i).xyz/I
993
994 /(?=a)(?=b)/I
995
996 /(?=.)a/I
997
998 /((?=abcda)a)/I
999
1000 /((?=abcda)ab)/I
1001
1002 /()a/I
1003
1004 /(?(1)ab|ac)(.)/I
1005
1006 /(?(1)abz|acz)(.)/I
1007
1008 /(?(1)abz)(.)/I
1009
1010 /(?(1)abz)(1)23/I
1011
1012 /(a)+/I
1013
1014 /(a){2,3}/I
1015
1016 /(a)*/I
1017
1018 /[a]/I
1019
1020 /[ab]/I
1021
1022 /[ab]/IS
1023
1024 /[^a]/I
1025
1026 /\d456/I
1027
1028 /\d456/IS
1029
1030 /a^b/I
1031
1032 /^a/Im
1033 abcde
1034 xy\nabc
1035 *** Failers
1036 xyabc
1037
1038 /c|abc/I
1039
1040 /(?i)[ab]/IS
1041
1042 /[ab](?i)cd/IS
1043
1044 /abc(?C)def/I
1045 abcdef
1046 1234abcdef
1047 *** Failers
1048 abcxyz
1049 abcxyzf
1050
1051 /abc(?C)de(?C1)f/I
1052 123abcdef
1053
1054 /(?C1)\dabc(?C2)def/I
1055 1234abcdef
1056 *** Failers
1057 abcdef
1058
1059 /(?C255)ab/I
1060
1061 /(?C256)ab/I
1062
1063 /(?Cab)xx/I
1064
1065 /(?C12vr)x/I
1066
1067 /abc(?C)def/I
1068 *** Failers
1069 \x83\x0\x61bcdef
1070
1071 /(abc)(?C)de(?C1)f/I
1072 123abcdef
1073 123abcdef\C+
1074 123abcdef\C-
1075 *** Failers
1076 123abcdef\C!1
1077
1078 /(?C0)(abc(?C1))*/I
1079 abcabcabc
1080 abcabc\C!1!3
1081 *** Failers
1082 abcabcabc\C!1!3
1083
1084 /(\d{3}(?C))*/I
1085 123\C+
1086 123456\C+
1087 123456789\C+
1088
1089 /((xyz)(?C)p|(?C1)xyzabc)/I
1090 xyzabc\C+
1091
1092 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
1093 Xxyzabc\C+
1094
1095 /(?=(abc))(?C)abcdef/I
1096 abcdef\C+
1097
1098 /(?!(abc)(?C1)d)(?C2)abcxyz/I
1099 abcxyz\C+
1100
1101 /(?<=(abc)(?C))xyz/I
1102 abcxyz\C+
1103
1104 /a(b+)(c*)(?C1)/I
1105 abbbbbccc\C*1
1106
1107 /a(b+?)(c*?)(?C1)/I
1108 abbbbbccc\C*1
1109
1110 /(?C)abc/I
1111
1112 /(?C)^abc/I
1113
1114 /(?C)a|b/IS
1115
1116 /(?R)/I
1117
1118 /(a|(?R))/I
1119
1120 /(ab|(bc|(de|(?R))))/I
1121
1122 /x(ab|(bc|(de|(?R))))/I
1123 xab
1124 xbc
1125 xde
1126 xxab
1127 xxxab
1128 *** Failers
1129 xyab
1130
1131 /(ab|(bc|(de|(?1))))/I
1132
1133 /x(ab|(bc|(de|(?1)x)x)x)/I
1134
1135 /^([^()]|\((?1)*\))*$/I
1136 abc
1137 a(b)c
1138 a(b(c))d
1139 *** Failers)
1140 a(b(c)d
1141
1142 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
1143 >abc>123<xyz<
1144 >abc>1(2)3<xyz<
1145 >abc>(1(2)3)<xyz<
1146
1147 /(a(?1)b)/DZ
1148
1149 /(a(?1)+b)/DZ
1150
1151 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
1152 12
1153 (((2+2)*-3)-7)
1154 -12
1155 *** Failers
1156 ((2+2)*-3)-7)
1157
1158 /^(x(y|(?1){2})z)/I
1159 xyz
1160 xxyzxyzz
1161 *** Failers
1162 xxyzz
1163 xxyzxyzxyzz
1164
1165 /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix
1166 <>
1167 <abcd>
1168 <abc <123> hij>
1169 <abc <def> hij>
1170 <abc<>def>
1171 <abc<>
1172 *** Failers
1173 <abc
1174
1175 /(?1)/I
1176
1177 /((?2)(abc)/I
1178
1179 /^(abc)def(?1)/I
1180 abcdefabc
1181
1182 /^(a|b|c)=(?1)+/I
1183 a=a
1184 a=b
1185 a=bc
1186
1187 /^(a|b|c)=((?1))+/I
1188 a=a
1189 a=b
1190 a=bc
1191
1192 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
1193 abde
1194 acde
1195
1196 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
1197
1198 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
1199
1200 /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii
1201 1221
1202 Satan, oscillate my metallic sonatas!
1203 A man, a plan, a canal: Panama!
1204 Able was I ere I saw Elba.
1205 *** Failers
1206 The quick brown fox
1207
1208 /((?(R)a|b))\1(?1)?/I
1209 bb
1210 bbaa
1211
1212 /(.*)a/Is
1213
1214 /(.*)a\1/Is
1215
1216 /(.*)a(b)\2/Is
1217
1218 /((.*)a|(.*)b)z/Is
1219
1220 /((.*)a|(.*)b)z\1/Is
1221
1222 /((.*)a|(.*)b)z\2/Is
1223
1224 /((.*)a|(.*)b)z\3/Is
1225
1226 /((.*)a|^(.*)b)z\3/Is
1227
1228 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
1229
1230 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
1231
1232 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
1233
1234 /(a)(bc)/INDZ
1235 abc
1236
1237 /(?P<one>a)(bc)/INDZ
1238 abc
1239
1240 /(a)(?P<named>bc)/INDZ
1241
1242 /(a+)*zz/I
1243 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
1244 aaaaaaaaaaaaaz\M
1245
1246 /(aaa(?C1)bbb|ab)/I
1247 aaabbb
1248 aaabbb\C*0
1249 aaabbb\C*1
1250 aaabbb\C*-1
1251
1252 /ab(?P<one>cd)ef(?P<two>gh)/I
1253 abcdefgh
1254 abcdefgh\C1\Gtwo
1255 abcdefgh\Cone\Ctwo
1256 abcdefgh\Cthree
1257
1258 /(?P<Tes>)(?P<Test>)/DZ
1259
1260 /(?P<Test>)(?P<Tes>)/DZ
1261
1262 /(?P<Z>zz)(?P<A>aa)/I
1263 zzaa\CZ
1264 zzaa\CA
1265
1266 /(?P<x>eks)(?P<x>eccs)/I
1267
1268 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
1269
1270 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
1271 [10,20,30,5,5,4,4,2,43,23,4234]
1272 *** Failers
1273 []
1274
1275 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
1276 [10,20,30,5,5,4,4,2,43,23,4234]
1277 []
1278
1279 /(a(b(?2)c))?/DZ
1280
1281 /(a(b(?2)c))*/DZ
1282
1283 /(a(b(?2)c)){0,2}/DZ
1284
1285 /[ab]{1}+/DZ
1286
1287 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
1288 Baby Bjorn Active Carrier - With free SHIPPING!!
1289
1290 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
1291 Baby Bjorn Active Carrier - With free SHIPPING!!
1292
1293 /a*.*b/ISDZ
1294
1295 /(a|b)*.?c/ISDZ
1296
1297 /abc(?C255)de(?C)f/DZ
1298
1299 /abcde/ICDZ
1300 abcde
1301 abcdfe
1302
1303 /a*b/ICDZ
1304 ab
1305 aaaab
1306 aaaacb
1307
1308 /a+b/ICDZ
1309 ab
1310 aaaab
1311 aaaacb
1312
1313 /(abc|def)x/ICDZ
1314 abcx
1315 defx
1316 abcdefzx
1317
1318 /(ab|cd){3,4}/IC
1319 ababab
1320 abcdabcd
1321 abcdcdcdcdcd
1322
1323 /([ab]{,4}c|xy)/ICDZ
1324 Note: that { does NOT introduce a quantifier
1325
1326 /([ab]{1,4}c|xy){4,5}?123/ICDZ
1327 aacaacaacaacaac123
1328
1329 /\b.*/I
1330 ab cd\>1
1331
1332 /\b.*/Is
1333 ab cd\>1
1334
1335 /(?!.bcd).*/I
1336 Xbcd12345
1337
1338 /abcde/I
1339 ab\P
1340 abc\P
1341 abcd\P
1342 abcde\P
1343 the quick brown abc\P
1344 ** Failers\P
1345 the quick brown abxyz fox\P
1346
1347 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
1348 13/05/04\P
1349 13/5/2004\P
1350 02/05/09\P
1351 1\P
1352 1/2\P
1353 1/2/0\P
1354 1/2/04\P
1355 0\P
1356 02/\P
1357 02/0\P
1358 02/1\P
1359 ** Failers\P
1360 \P
1361 123\P
1362 33/4/04\P
1363 3/13/04\P
1364 0/1/2003\P
1365 0/\P
1366 02/0/\P
1367 02/13\P
1368
1369 /0{0,2}ABC/I
1370
1371 /\d{3,}ABC/I
1372
1373 /\d*ABC/I
1374
1375 /[abc]+DE/I
1376
1377 /[abc]?123/I
1378 123\P
1379 a\P
1380 b\P
1381 c\P
1382 c12\P
1383 c123\P
1384
1385 /^(?:\d){3,5}X/I
1386 1\P
1387 123\P
1388 123X
1389 1234\P
1390 1234X
1391 12345\P
1392 12345X
1393 *** Failers
1394 1X
1395 123456\P
1396
1397 /abc/I>testsavedregex
1398 <testsavedregex
1399 abc
1400 ** Failers
1401 bca
1402
1403 /abc/IF>testsavedregex
1404 <testsavedregex
1405 abc
1406 ** Failers
1407 bca
1408
1409 /(a|b)/IS>testsavedregex
1410 <testsavedregex
1411 abc
1412 ** Failers
1413 def
1414
1415 /(a|b)/ISF>testsavedregex
1416 <testsavedregex
1417 abc
1418 ** Failers
1419 def
1420
1421 ~<(\w+)/?>(.)*</(\1)>~smgI
1422 <!DOCTYPE seite SYSTEM "http://www.lco.lineas.de/xmlCms.dtd">\n<seite>\n<dokumenteninformation>\n<seitentitel>Partner der LCO</seitentitel>\n<sprache>de</sprache>\n<seitenbeschreibung>Partner der LINEAS Consulting\nGmbH</seitenbeschreibung>\n<schluesselworte>LINEAS Consulting GmbH Hamburg\nPartnerfirmen</schluesselworte>\n<revisit>30 days</revisit>\n<robots>index,follow</robots>\n<menueinformation>\n<aktiv>ja</aktiv>\n<menueposition>3</menueposition>\n<menuetext>Partner</menuetext>\n</menueinformation>\n<lastedited>\n<autor>LCO</autor>\n<firma>LINEAS Consulting</firma>\n<datum>15.10.2003</datum>\n</lastedited>\n</dokumenteninformation>\n<inhalt>\n\n<absatzueberschrift>Die Partnerfirmen der LINEAS Consulting\nGmbH</absatzueberschrift>\n\n<absatz><link ziel="http://www.ca.com/" zielfenster="_blank">\n<bild name="logo_ca.gif" rahmen="no"/></link> <link\nziel="http://www.ey.com/" zielfenster="_blank"><bild\nname="logo_euy.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.cisco.de/" zielfenster="_blank">\n<bild name="logo_cisco.gif" rahmen="ja"/></link></absatz>\n\n<absatz><link ziel="http://www.atelion.de/"\nzielfenster="_blank"><bild\nname="logo_atelion.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><link ziel="http://www.line-information.de/"\nzielfenster="_blank">\n<bild name="logo_line_information.gif" rahmen="no"/></link>\n</absatz>\n\n<absatz><bild name="logo_aw.gif" rahmen="no"/></absatz>\n\n<absatz><link ziel="http://www.incognis.de/"\nzielfenster="_blank"><bild\nname="logo_incognis.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.addcraft.com/"\nzielfenster="_blank"><bild\nname="logo_addcraft.gif" rahmen="no"/></link></absatz>\n\n<absatz><link ziel="http://www.comendo.com/"\nzielfenster="_blank"><bild\nname="logo_comendo.gif" rahmen="no"/></link></absatz>\n\n</inhalt>\n</seite>
1423
1424 /^a/IF
1425
1426 /line\nbreak/I
1427 this is a line\nbreak
1428 line one\nthis is a line\nbreak in the second line
1429
1430 /line\nbreak/If
1431 this is a line\nbreak
1432 ** Failers
1433 line one\nthis is a line\nbreak in the second line
1434
1435 /line\nbreak/Imf
1436 this is a line\nbreak
1437 ** Failers
1438 line one\nthis is a line\nbreak in the second line
1439
1440 /ab.cd/P
1441 ab-cd
1442 ab=cd
1443 ** Failers
1444 ab\ncd
1445
1446 /ab.cd/Ps
1447 ab-cd
1448 ab=cd
1449 ab\ncd
1450
1451 /(?i)(?-i)AbCd/I
1452 AbCd
1453 ** Failers
1454 abcd
1455
1456 /a{11111111111111111111}/I
1457
1458 /(){64294967295}/I
1459
1460 /(){2,4294967295}/I
1461
1462 "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I
1463 abcdefghijklAkB
1464
1465 "(?P<n0>a)(?P<n1>b)(?P<n2>c)(?P<n3>d)(?P<n4>e)(?P<n5>f)(?P<n6>g)(?P<n7>h)(?P<n8>i)(?P<n9>j)(?P<n10>k)(?P<n11>l)A\11B"I
1466 abcdefghijklAkB
1467
1468 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
1469 abcdefghijklAkB
1470
1471 "(?P<name0>a)(?P<name1>a)(?P<name2>a)(?P<name3>a)(?P<name4>a)(?P<name5>a)(?P<name6>a)(?P<name7>a)(?P<name8>a)(?P<name9>a)(?P<name10>a)(?P<name11>a)(?P<name12>a)(?P<name13>a)(?P<name14>a)(?P<name15>a)(?P<name16>a)(?P<name17>a)(?P<name18>a)(?P<name19>a)(?P<name20>a)(?P<name21>a)(?P<name22>a)(?P<name23>a)(?P<name24>a)(?P<name25>a)(?P<name26>a)(?P<name27>a)(?P<name28>a)(?P<name29>a)(?P<name30>a)(?P<name31>a)(?P<name32>a)(?P<name33>a)(?P<name34>a)(?P<name35>a)(?P<name36>a)(?P<name37>a)(?P<name38>a)(?P<name39>a)(?P<name40>a)(?P<name41>a)(?P<name42>a)(?P<name43>a)(?P<name44>a)(?P<name45>a)(?P<name46>a)(?P<name47>a)(?P<name48>a)(?P<name49>a)(?P<name50>a)(?P<name51>a)(?P<name52>a)(?P<name53>a)(?P<name54>a)(?P<name55>a)(?P<name56>a)(?P<name57>a)(?P<name58>a)(?P<name59>a)(?P<name60>a)(?P<name61>a)(?P<name62>a)(?P<name63>a)(?P<name64>a)(?P<name65>a)(?P<name66>a)(?P<name67>a)(?P<name68>a)(?P<name69>a)(?P<name70>a)(?P<name71>a)(?P<name72>a)(?P<name73>a)(?P<name74>a)(?P<name75>a)(?P<name76>a)(?P<name77>a)(?P<name78>a)(?P<name79>a)(?P<name80>a)(?P<name81>a)(?P<name82>a)(?P<name83>a)(?P<name84>a)(?P<name85>a)(?P<name86>a)(?P<name87>a)(?P<name88>a)(?P<name89>a)(?P<name90>a)(?P<name91>a)(?P<name92>a)(?P<name93>a)(?P<name94>a)(?P<name95>a)(?P<name96>a)(?P<name97>a)(?P<name98>a)(?P<name99>a)(?P<name100>a)"I
1472 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1473
1474 "(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)(a)"I
1475 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1476
1477 /[^()]*(?:\((?R)\)[^()]*)*/I
1478 (this(and)that
1479 (this(and)that)
1480 (this(and)that)stuff
1481
1482 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
1483 (this(and)that
1484 (this(and)that)
1485
1486 /[^()]*(?:\((?R)\))*[^()]*/I
1487 (this(and)that
1488 (this(and)that)
1489
1490 /(?:\((?R)\))*[^()]*/I
1491 (this(and)that
1492 (this(and)that)
1493 ((this))
1494
1495 /(?:\((?R)\))|[^()]*/I
1496 (this(and)that
1497 (this(and)that)
1498 (this)
1499 ((this))
1500
1501 /a(b)c/PN
1502 abc
1503
1504 /a(?P<name>b)c/PN
1505 abc
1506
1507 /\x{100}/I
1508
1509 /\x{0000ff}/I
1510
1511 /^((?P<A>a1)|(?P<A>a2)b)/I
1512
1513 /^((?P<A>a1)|(?P<A>a2)b)/IJ
1514 a1b\CA
1515 a2b\CA
1516 ** Failers
1517 a1b\CZ\CA
1518
1519 /^(?P<A>a)(?P<A>b)/IJ
1520 ab\CA
1521
1522 /^(?P<A>a)(?P<A>b)|cd/IJ
1523 ab\CA
1524 cd\CA
1525
1526 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
1527 cdefgh\CA
1528
1529 /^((?P<A>a1)|(?P<A>a2)b)/IJ
1530 a1b\GA
1531 a2b\GA
1532 ** Failers
1533 a1b\GZ\GA
1534
1535 /^(?P<A>a)(?P<A>b)/IJ
1536 ab\GA
1537
1538 /^(?P<A>a)(?P<A>b)|cd/IJ
1539 ab\GA
1540 cd\GA
1541
1542 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
1543 cdefgh\GA
1544
1545 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
1546 a1b\CA
1547 a2b\CA
1548
1549 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
1550
1551 / In this next test, J is not set at the outer level; consequently it isn't
1552 set in the pattern's options; consequently pcre_get_named_substring() produces
1553 a random value. /Ix
1554
1555 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
1556 a bc d\CA\CB\CC
1557
1558 /^(?P<A>a)?(?(A)a|b)/I
1559 aabc
1560 bc
1561 ** Failers
1562 abc
1563
1564 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
1565 bXaX
1566
1567 /(?:(?(2y)a|b)(X))+/I
1568
1569 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
1570
1571 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
1572 bbXaaX
1573
1574 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
1575 (b)\\Xa\\X
1576
1577 /(?P<ABC/I
1578
1579 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
1580 bXXaYYaY
1581 bXYaXXaX
1582
1583 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
1584 bXXaYYaY
1585
1586 /\777/I
1587
1588 /\s*,\s*/IS
1589 \x0b,\x0b
1590 \x0c,\x0d
1591
1592 /^abc/Im
1593 xyz\nabc
1594 xyz\nabc\<lf>
1595 xyz\r\nabc\<lf>
1596 xyz\rabc\<cr>
1597 xyz\r\nabc\<crlf>
1598 ** Failers
1599 xyz\nabc\<cr>
1600 xyz\r\nabc\<cr>
1601 xyz\nabc\<crlf>
1602 xyz\rabc\<crlf>
1603 xyz\rabc\<lf>
1604
1605 /abc$/Im<lf>
1606 xyzabc
1607 xyzabc\n
1608 xyzabc\npqr
1609 xyzabc\r\<cr>
1610 xyzabc\rpqr\<cr>
1611 xyzabc\r\n\<crlf>
1612 xyzabc\r\npqr\<crlf>
1613 ** Failers
1614 xyzabc\r
1615 xyzabc\rpqr
1616 xyzabc\r\n
1617 xyzabc\r\npqr
1618
1619 /^abc/Im<cr>
1620 xyz\rabcdef
1621 xyz\nabcdef\<lf>
1622 ** Failers
1623 xyz\nabcdef
1624
1625 /^abc/Im<lf>
1626 xyz\nabcdef
1627 xyz\rabcdef\<cr>
1628 ** Failers
1629 xyz\rabcdef
1630
1631 /^abc/Im<crlf>
1632 xyz\r\nabcdef
1633 xyz\rabcdef\<cr>
1634 ** Failers
1635 xyz\rabcdef
1636
1637 /^abc/Im<bad>
1638
1639 /abc/I
1640 xyz\rabc\<bad>
1641 abc
1642
1643 /.*/I<lf>
1644 abc\ndef
1645 abc\rdef
1646 abc\r\ndef
1647 \<cr>abc\ndef
1648 \<cr>abc\rdef
1649 \<cr>abc\r\ndef
1650 \<crlf>abc\ndef
1651 \<crlf>abc\rdef
1652 \<crlf>abc\r\ndef
1653
1654 /\w+(.)(.)?def/Is
1655 abc\ndef
1656 abc\rdef
1657 abc\r\ndef
1658
1659 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
1660 /* this is a C style comment */\M
1661
1662 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
1663
1664 /()()()()()()()()()()()()()()()()()()()()
1665 ()()()()()()()()()()()()()()()()()()()()
1666 ()()()()()()()()()()()()()()()()()()()()
1667 ()()()()()()()()()()()()()()()()()()()()
1668 ()()()()()()()()()()()()()()()()()()()()
1669 (.(.))/Ix
1670 XY\O400
1671
1672 /(a*b|(?i:c*(?-i)d))/IS
1673
1674 /()[ab]xyz/IS
1675
1676 /(|)[ab]xyz/IS
1677
1678 /(|c)[ab]xyz/IS
1679
1680 /(|c?)[ab]xyz/IS
1681
1682 /(d?|c?)[ab]xyz/IS
1683
1684 /(d?|c)[ab]xyz/IS
1685
1686 /^a*b\d/DZ
1687
1688 /^a*+b\d/DZ
1689
1690 /^a*?b\d/DZ
1691
1692 /^a+A\d/DZ
1693 aaaA5
1694 ** Failers
1695 aaaa5
1696
1697 /^a*A\d/IiDZ
1698 aaaA5
1699 aaaa5
1700
1701 /(a*|b*)[cd]/IS
1702
1703 /(a+|b*)[cd]/IS
1704
1705 /(a*|b+)[cd]/IS
1706
1707 /(a+|b+)[cd]/IS
1708
1709 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
1710 ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
1711 (((
1712 a
1713 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1714 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1715 )))
1716 /Ix
1717 large nest
1718
1719 /a*\d/BZ
1720
1721 /a*\D/BZ
1722
1723 /0*\d/BZ
1724
1725 /0*\D/BZ
1726
1727 /a*\s/BZ
1728
1729 /a*\S/BZ
1730
1731 / *\s/BZ
1732
1733 / *\S/BZ
1734
1735 /a*\w/BZ
1736
1737 /a*\W/BZ
1738
1739 /=*\w/BZ
1740
1741 /=*\W/BZ
1742
1743 /\d*a/BZ
1744
1745 /\d*2/BZ
1746
1747 /\d*\d/BZ
1748
1749 /\d*\D/BZ
1750
1751 /\d*\s/BZ
1752
1753 /\d*\S/BZ
1754
1755 /\d*\w/BZ
1756
1757 /\d*\W/BZ
1758
1759 /\D*a/BZ
1760
1761 /\D*2/BZ
1762
1763 /\D*\d/BZ
1764
1765 /\D*\D/BZ
1766
1767 /\D*\s/BZ
1768
1769 /\D*\S/BZ
1770
1771 /\D*\w/BZ
1772
1773 /\D*\W/BZ
1774
1775 /\s*a/BZ
1776
1777 /\s*2/BZ
1778
1779 /\s*\d/BZ
1780
1781 /\s*\D/BZ
1782
1783 /\s*\s/BZ
1784
1785 /\s*\S/BZ
1786
1787 /\s*\w/BZ
1788
1789 /\s*\W/BZ
1790
1791 /\S*a/BZ
1792
1793 /\S*2/BZ
1794
1795 /\S*\d/BZ
1796
1797 /\S*\D/BZ
1798
1799 /\S*\s/BZ
1800
1801 /\S*\S/BZ
1802
1803 /\S*\w/BZ
1804
1805 /\S*\W/BZ
1806
1807 /\w*a/BZ
1808
1809 /\w*2/BZ
1810
1811 /\w*\d/BZ
1812
1813 /\w*\D/BZ
1814
1815 /\w*\s/BZ
1816
1817 /\w*\S/BZ
1818
1819 /\w*\w/BZ
1820
1821 /\w*\W/BZ
1822
1823 /\W*a/BZ
1824
1825 /\W*2/BZ
1826
1827 /\W*\d/BZ
1828
1829 /\W*\D/BZ
1830
1831 /\W*\s/BZ
1832
1833 /\W*\S/BZ
1834
1835 /\W*\w/BZ
1836
1837 /\W*\W/BZ
1838
1839 /[^a]+a/BZ
1840
1841 /[^a]+a/BZi
1842
1843 /[^a]+A/BZi
1844
1845 /[^a]+b/BZ
1846
1847 /[^a]+\d/BZ
1848
1849 /a*[^a]/BZ
1850
1851 /(?P<abc>x)(?P<xyz>y)/I
1852 xy\Cabc\Cxyz
1853
1854 /(?<abc>x)(?'xyz'y)/I
1855 xy\Cabc\Cxyz
1856
1857 /(?<abc'x)(?'xyz'y)/I
1858
1859 /(?<abc>x)(?'xyz>y)/I
1860
1861 /(?P'abc'x)(?P<xyz>y)/I
1862
1863 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
1864 bXaX
1865 bXbX
1866 ** Failers
1867 aXaX
1868 aXbX
1869
1870 /^(?P>abc)(?<abcd>xxx)/
1871
1872 /^(?P>abc)(?<abc>x|y)/
1873 xx
1874 xy
1875 yy
1876 yx
1877
1878 /^(?P>abc)(?P<abc>x|y)/
1879 xx
1880 xy
1881 yy
1882 yx
1883
1884 /^((?(abc)a|b)(?<abc>x|y))+/
1885 bxay
1886 bxby
1887 ** Failers
1888 axby
1889
1890 /^(((?P=abc)|X)(?<abc>x|y))+/
1891 XxXxxx
1892 XxXyyx
1893 XxXyxx
1894 ** Failers
1895 x
1896
1897 /^(?1)(abc)/
1898 abcabc
1899
1900 /^(?:(?:\1|X)(a|b))+/
1901 Xaaa
1902 Xaba
1903
1904 /^[\E\Qa\E-\Qz\E]+/BZ
1905
1906 /^[a\Q]bc\E]/BZ
1907
1908 /^[a-\Q\E]/BZ
1909
1910 /^(?P>abc)[()](?<abc>)/BZ
1911
1912 /^((?(abc)y)[()](?P<abc>x))+/BZ
1913 (xy)x
1914
1915 /^(?P>abc)\Q()\E(?<abc>)/BZ
1916
1917 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
1918
1919 /^(?P>abc) # this is (a comment)
1920 (?<abc>)/BZx
1921
1922 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
1923 1221
1924 Satan, oscillate my metallic sonatas!
1925 A man, a plan, a canal: Panama!
1926 Able was I ere I saw Elba.
1927 *** Failers
1928 The quick brown fox
1929
1930 /(?=(\w+))\1:/I
1931 abcd:
1932
1933 /(?=(?'abc'\w+))\k<abc>:/I
1934 abcd:
1935
1936 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
1937 adaa
1938 ** Failers
1939 addd
1940 adbb
1941
1942 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
1943 bdaa
1944 bdab
1945 ** Failers
1946 bddd
1947
1948 /(?(<bc))/
1949
1950 /(?(''))/
1951
1952 /(?('R')stuff)/
1953
1954 /((abc (?(R) (?(R1)1) (?(R2)2) X | (?1) (?2) (?R) ))) /x
1955 abcabc1Xabc2XabcXabcabc
1956
1957 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
1958 abcabc1Xabc2XabcXabcabc
1959
1960 /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
1961
1962 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
1963 abcabc1Xabc2XabcXabcabc
1964
1965 /^(?(DEFINE) abc | xyz ) /x
1966
1967 /(?(DEFINE) abc) xyz/xI
1968
1969 /(?(DEFINE) abc){3} xyz/x
1970
1971 /(a|)*\d/
1972 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1973 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
1974
1975 /^a.b/<lf>
1976 a\rb
1977 a\nb\<cr>
1978 a\x85b\<anycrlf>
1979 ** Failers
1980 a\nb
1981 a\nb\<any>
1982 a\rb\<cr>
1983 a\rb\<any>
1984 a\x85b\<any>
1985 a\rb\<anycrlf>
1986
1987 /^abc./mgx<any>
1988 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
1989
1990 /abc.$/mgx<any>
1991 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
1992
1993 /a/<cr><any>
1994
1995 /a/<any><crlf>
1996
1997 /^a\Rb/<bsr_unicode>
1998 a\nb
1999 a\rb
2000 a\r\nb
2001 a\x0bb
2002 a\x0cb
2003 a\x85b
2004 ** Failers
2005 a\n\rb
2006
2007 /^a\R*b/<bsr_unicode>
2008 ab
2009 a\nb
2010 a\rb
2011 a\r\nb
2012 a\x0bb
2013 a\x0cb
2014 a\x85b
2015 a\n\rb
2016 a\n\r\x85\x0cb
2017
2018 /^a\R+b/<bsr_unicode>
2019 a\nb
2020 a\rb
2021 a\r\nb
2022 a\x0bb
2023 a\x0cb
2024 a\x85b
2025 a\n\rb
2026 a\n\r\x85\x0cb
2027 ** Failers
2028 ab
2029
2030 /^a\R{1,3}b/<bsr_unicode>
2031 a\nb
2032 a\n\rb
2033 a\n\r\x85b
2034 a\r\n\r\nb
2035 a\r\n\r\n\r\nb
2036 a\n\r\n\rb
2037 a\n\n\r\nb
2038 ** Failers
2039 a\n\n\n\rb
2040 a\r
2041
2042 /^a[\R]b/<bsr_unicode>
2043 aRb
2044 ** Failers
2045 a\nb
2046
2047 /(?&abc)X(?<abc>P)/I
2048 abcPXP123
2049
2050 /(?1)X(?<abc>P)/I
2051 abcPXP123
2052
2053 /(?:a(?&abc)b)*(?<abc>x)/
2054 123axbaxbaxbx456
2055 123axbaxbaxb456
2056
2057 /(?:a(?&abc)b){1,5}(?<abc>x)/
2058 123axbaxbaxbx456
2059
2060 /(?:a(?&abc)b){2,5}(?<abc>x)/
2061 123axbaxbaxbx456
2062
2063 /(?:a(?&abc)b){2,}(?<abc>x)/
2064 123axbaxbaxbx456
2065
2066 /(abc)(?i:(?1))/
2067 defabcabcxyz
2068 DEFabcABCXYZ
2069
2070 /(abc)(?:(?i)(?1))/
2071 defabcabcxyz
2072 DEFabcABCXYZ
2073
2074 /^(a)\g-2/
2075
2076 /^(a)\g/
2077
2078 /^(a)\g{0}/
2079
2080 /^(a)\g{3/
2081
2082 /^(a)\g{4a}/
2083
2084 /^a.b/<lf>
2085 a\rb
2086 *** Failers
2087 a\nb
2088
2089 /.+foo/
2090 afoo
2091 ** Failers
2092 \r\nfoo
2093 \nfoo
2094
2095 /.+foo/<crlf>
2096 afoo
2097 \nfoo
2098 ** Failers
2099 \r\nfoo
2100
2101 /.+foo/<any>
2102 afoo
2103 ** Failers
2104 \nfoo
2105 \r\nfoo
2106
2107 /.+foo/s
2108 afoo
2109 \r\nfoo
2110 \nfoo
2111
2112 /^$/mg<any>
2113 abc\r\rxyz
2114 abc\n\rxyz
2115 ** Failers
2116 abc\r\nxyz
2117
2118 /(?m)^$/<any>g+
2119 abc\r\n\r\n
2120
2121 /(?m)^$|^\r\n/<any>g+
2122 abc\r\n\r\n
2123
2124 /(?m)$/<any>g+
2125 abc\r\n\r\n
2126
2127 /abc.$/mgx<anycrlf>
2128 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
2129
2130 /^X/m
2131 XABC
2132 ** Failers
2133 XABC\B
2134
2135 /(ab|c)(?-1)/BZ
2136 abc
2137
2138 /xy(?+1)(abc)/BZ
2139 xyabcabc
2140 ** Failers
2141 xyabc
2142
2143 /x(?-0)y/
2144
2145 /x(?-1)y/
2146
2147 /x(?+0)y/
2148
2149 /x(?+1)y/
2150
2151 /^(abc)?(?(-1)X|Y)/BZ
2152 abcX
2153 Y
2154 ** Failers
2155 abcY
2156
2157 /^((?(+1)X|Y)(abc))+/BZ
2158 YabcXabc
2159 YabcXabcXabc
2160 ** Failers
2161 XabcXabc
2162
2163 /(?(-1)a)/BZ
2164
2165 /((?(-1)a))/BZ
2166
2167 /((?(-2)a))/BZ
2168
2169 /^(?(+1)X|Y)(.)/BZ
2170 Y!
2171
2172 /(?<A>tom|bon)-\k{A}/
2173 tom-tom
2174 bon-bon
2175 ** Failers
2176 tom-bon
2177
2178 /\g{A/
2179
2180 /(?|(abc)|(xyz))/BZ
2181 >abc<
2182 >xyz<
2183
2184 /(x)(?|(abc)|(xyz))(x)/BZ
2185 xabcx
2186 xxyzx
2187
2188 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
2189 xabcpqrx
2190 xxyzx
2191
2192 /[\h]/BZ
2193 >\x09<
2194
2195 /[\h]+/BZ
2196 >\x09\x20\xa0<
2197
2198 /[\v]/BZ
2199
2200 /[\H]/BZ
2201
2202 /[^\h]/BZ
2203
2204 /[\V]/BZ
2205
2206 /[\x0a\V]/BZ
2207
2208 /\H++X/BZ
2209 ** Failers
2210 XXXX
2211
2212 /\H+\hY/BZ
2213 XXXX Y
2214
2215 /\H+ Y/BZ
2216
2217 /\h+A/BZ
2218
2219 /\v*B/BZ
2220
2221 /\V+\x0a/BZ
2222
2223 /A+\h/BZ
2224
2225 / *\H/BZ
2226
2227 /A*\v/BZ
2228
2229 /\x0b*\V/BZ
2230
2231 /\d+\h/BZ
2232
2233 /\d*\v/BZ
2234
2235 /S+\h\S+\v/BZ
2236
2237 /\w{3,}\h\w+\v/BZ
2238
2239 /\h+\d\h+\w\h+\S\h+\H/BZ
2240
2241 /\v+\d\v+\w\v+\S\v+\V/BZ
2242
2243 /\H+\h\H+\d/BZ
2244
2245 /\V+\v\V+\w/BZ
2246
2247 /\( (?: [^()]* | (?R) )* \)/x
2248 (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
2249
2250 /[\E]AAA/
2251
2252 /[\Q\E]AAA/
2253
2254 /[^\E]AAA/
2255
2256 /[^\Q\E]AAA/
2257
2258 /[\E^]AAA/
2259
2260 /[\Q\E^]AAA/
2261
2262 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
2263
2264 /^a+(*FAIL)/C
2265 aaaaaa
2266
2267 /a+b?c+(*FAIL)/C
2268 aaabccc
2269
2270 /a+b?(*PRUNE)c+(*FAIL)/C
2271 aaabccc
2272
2273 /a+b?(*COMMIT)c+(*FAIL)/C
2274 aaabccc
2275
2276 /a+b?(*SKIP)c+(*FAIL)/C
2277 aaabcccaaabccc
2278
2279 /a+b?(*THEN)c+(*FAIL)/C
2280 aaabccc
2281
2282 /a(*MARK)b/
2283
2284 /(?i:A{1,}\6666666666)/
2285
2286 /\g6666666666/
2287
2288 /[\g6666666666]/
2289
2290 /(?1)\c[/
2291
2292 /.+A/<crlf>
2293 \r\nA
2294
2295 /\nA/<crlf>
2296 \r\nA
2297
2298 /[\r\n]A/<crlf>
2299 \r\nA
2300
2301 /(\r|\n)A/<crlf>
2302 \r\nA
2303
2304 /a(*CR)b/
2305
2306 /(*CR)a.b/
2307 a\nb
2308 ** Failers
2309 a\rb
2310
2311 /(*CR)a.b/<lf>
2312 a\nb
2313 ** Failers
2314 a\rb
2315
2316 /(*LF)a.b/<CRLF>
2317 a\rb
2318 ** Failers
2319 a\nb
2320
2321 /(*CRLF)a.b/
2322 a\rb
2323 a\nb
2324 ** Failers
2325 a\r\nb
2326
2327 /(*ANYCRLF)a.b/<CR>
2328 ** Failers
2329 a\rb
2330 a\nb
2331 a\r\nb
2332
2333 /(*ANY)a.b/<cr>
2334 ** Failers
2335 a\rb
2336 a\nb
2337 a\r\nb
2338 a\x85b
2339
2340 /a\Rb/I<bsr_anycrlf>
2341 a\rb
2342 a\nb
2343 a\r\nb
2344 ** Failers
2345 a\x85b
2346 a\x0bb
2347
2348 /a\Rb/I<bsr_unicode>
2349 a\rb
2350 a\nb
2351 a\r\nb
2352 a\x85b
2353 a\x0bb
2354 ** Failers
2355 a\x85b\<bsr_anycrlf>
2356 a\x0bb\<bsr_anycrlf>
2357
2358 /a\R?b/I<bsr_anycrlf>
2359 a\rb
2360 a\nb
2361 a\r\nb
2362 ** Failers
2363 a\x85b
2364 a\x0bb
2365
2366 /a\R?b/I<bsr_unicode>
2367 a\rb
2368 a\nb
2369 a\r\nb
2370 a\x85b
2371 a\x0bb
2372 ** Failers
2373 a\x85b\<bsr_anycrlf>
2374 a\x0bb\<bsr_anycrlf>
2375
2376 /a\R{2,4}b/I<bsr_anycrlf>
2377 a\r\n\nb
2378 a\n\r\rb
2379 a\r\n\r\n\r\n\r\nb
2380 ** Failers
2381 a\x85\85b
2382 a\x0b\0bb
2383
2384 /a\R{2,4}b/I<bsr_unicode>
2385 a\r\rb
2386 a\n\n\nb
2387 a\r\n\n\r\rb
2388 a\x85\85b
2389 a\x0b\0bb
2390 ** Failers
2391 a\r\r\r\r\rb
2392 a\x85\85b\<bsr_anycrlf>
2393 a\x0b\0bb\<bsr_anycrlf>
2394
2395 /(*BSR_ANYCRLF)a\Rb/I
2396 a\nb
2397 a\rb
2398
2399 /(*BSR_UNICODE)a\Rb/I
2400 a\x85b
2401
2402 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
2403 a\nb
2404 a\rb
2405
2406 /(*CRLF)(*BSR_UNICODE)a\Rb/I
2407 a\x85b
2408
2409 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
2410
2411 /(?<a>)(?&)/
2412
2413 /(?<abc>)(?&a)/
2414
2415 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
2416
2417 /(?+-a)/
2418
2419 /(?-+a)/
2420
2421 /(?(-1))/
2422
2423 /(?(+10))/
2424
2425 /(?(10))/
2426
2427 /(?(+2))()()/
2428
2429 /(?(2))()()/
2430
2431 /\k''/
2432
2433 /\k<>/
2434
2435 /\k{}/
2436
2437 /(?P=)/
2438
2439 /(?P>)/
2440
2441 /(?!\w)(?R)/
2442
2443 /(?=\w)(?R)/
2444
2445 /(?<!\w)(?R)/
2446
2447 /(?<=\w)(?R)/
2448
2449 /[[:foo:]]/
2450
2451 /[[:1234:]]/
2452
2453 /[[:f\oo:]]/
2454
2455 /[[: :]]/
2456
2457 /[[:...:]]/
2458
2459 /[[:l\ower:]]/
2460
2461 /[[:abc\:]]/
2462
2463 /[abc[:x\]pqr:]]/
2464
2465 /[[:a\dz:]]/
2466
2467 /(^(a|b\g<-1'c))/
2468
2469 /^(?+1)(?<a>x|y){0}z/
2470 xzxx
2471 yzyy
2472 ** Failers
2473 xxz
2474
2475 /(\3)(\1)(a)/
2476 cat
2477
2478 /(\3)(\1)(a)/<JS>
2479 cat
2480
2481 /TA]/
2482 The ACTA] comes
2483
2484 /TA]/<JS>
2485 The ACTA] comes
2486
2487 /(?2)[]a()b](abc)/
2488 abcbabc
2489
2490 /(?2)[^]a()b](abc)/
2491 abcbabc
2492
2493 /(?1)[]a()b](abc)/
2494 abcbabc
2495 ** Failers
2496 abcXabc
2497
2498 /(?1)[^]a()b](abc)/
2499 abcXabc
2500 ** Failers
2501 abcbabc
2502
2503 /(?2)[]a()b](abc)(xyz)/
2504 xyzbabcxyz
2505
2506 /(?&N)[]a(?<N>)](?<M>abc)/
2507 abc<abc
2508
2509 /(?&N)[]a(?<N>)](abc)/
2510 abc<abc
2511
2512 /a[]b/
2513
2514 /a[^]b/
2515
2516 /a[]b/<JS>
2517 ** Failers
2518 ab
2519
2520 /a[]+b/<JS>
2521 ** Failers
2522 ab
2523
2524 /a[]*+b/<JS>
2525 ** Failers
2526 ab
2527
2528 /a[^]b/<JS>
2529 aXb
2530 a\nb
2531 ** Failers
2532 ab
2533
2534 /a[^]+b/<JS>
2535 aXb
2536 a\nX\nXb
2537 ** Failers
2538 ab
2539
2540 /a(?!)+b/
2541
2542 /a(*FAIL)+b/
2543
2544 /(abc|pqr|123){0}[xyz]/SI
2545
2546 /(?(?=.*b)b|^)/CI
2547 adc
2548 abc
2549
2550 /(?(?=b).*b|^d)/I
2551
2552 /(?(?=.*b).*b|^d)/I
2553
2554 /a?|b?/P
2555 abc
2556 ** Failers
2557 ddd\N
2558
2559 /xyz/C
2560 xyz
2561 abcxyz
2562 abcxyz\Y
2563 ** Failers
2564 abc
2565 abc\Y
2566 abcxypqr
2567 abcxypqr\Y
2568
2569 /^"((?(?=[a])[^"])|b)*"$/C
2570 "ab"
2571
2572 /^"((?(?=[a])[^"])|b)*"$/
2573 "ab"
2574
2575 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
2576 XYabcdY
2577
2578 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
2579 XYabcdY
2580
2581 /Xa{2,4}b/
2582 X\P
2583 Xa\P
2584 Xaa\P
2585 Xaaa\P
2586 Xaaaa\P
2587
2588 /Xa{2,4}?b/
2589 X\P
2590 Xa\P
2591 Xaa\P
2592 Xaaa\P
2593 Xaaaa\P
2594
2595 /Xa{2,4}+b/
2596 X\P
2597 Xa\P
2598 Xaa\P
2599 Xaaa\P
2600 Xaaaa\P
2601
2602 /X\d{2,4}b/
2603 X\P
2604 X3\P
2605 X33\P
2606 X333\P
2607 X3333\P
2608
2609 /X\d{2,4}?b/
2610 X\P
2611 X3\P
2612 X33\P
2613 X333\P
2614 X3333\P
2615
2616 /X\d{2,4}+b/
2617 X\P
2618 X3\P
2619 X33\P
2620 X333\P
2621 X3333\P
2622
2623 /X\D{2,4}b/
2624 X\P
2625 Xa\P
2626 Xaa\P
2627 Xaaa\P
2628 Xaaaa\P
2629
2630 /X\D{2,4}?b/
2631 X\P
2632 Xa\P
2633 Xaa\P
2634 Xaaa\P
2635 Xaaaa\P
2636
2637 /X\D{2,4}+b/
2638 X\P
2639 Xa\P
2640 Xaa\P
2641 Xaaa\P
2642 Xaaaa\P
2643
2644 /X[abc]{2,4}b/
2645 X\P
2646 Xa\P
2647 Xaa\P
2648 Xaaa\P
2649 Xaaaa\P
2650
2651 /X[abc]{2,4}?b/
2652 X\P
2653 Xa\P
2654 Xaa\P
2655 Xaaa\P
2656 Xaaaa\P
2657
2658 /X[abc]{2,4}+b/
2659 X\P
2660 Xa\P
2661 Xaa\P
2662 Xaaa\P
2663 Xaaaa\P
2664
2665 /X[^a]{2,4}b/
2666 X\P
2667 Xz\P
2668 Xzz\P
2669 Xzzz\P
2670 Xzzzz\P
2671
2672 /X[^a]{2,4}?b/
2673 X\P
2674 Xz\P
2675 Xzz\P
2676 Xzzz\P
2677 Xzzzz\P
2678
2679 /X[^a]{2,4}+b/
2680 X\P
2681 Xz\P
2682 Xzz\P
2683 Xzzz\P
2684 Xzzzz\P
2685
2686 /(Y)X\1{2,4}b/
2687 YX\P
2688 YXY\P
2689 YXYY\P
2690 YXYYY\P
2691 YXYYYY\P
2692
2693 /(Y)X\1{2,4}?b/
2694 YX\P
2695 YXY\P
2696 YXYY\P
2697 YXYYY\P
2698 YXYYYY\P
2699
2700 /(Y)X\1{2,4}+b/
2701 YX\P
2702 YXY\P
2703 YXYY\P
2704 YXYYY\P
2705 YXYYYY\P
2706
2707 /\++\KZ|\d+X|9+Y/
2708 ++++123999\P
2709 ++++123999Y\P
2710 ++++Z1234\P
2711
2712 /Z(*F)/
2713 Z\P
2714 ZA\P
2715
2716 /Z(?!)/
2717 Z\P
2718 ZA\P
2719
2720 /dog(sbody)?/
2721 dogs\P
2722 dogs\P\P
2723
2724 /dog(sbody)??/
2725 dogs\P
2726 dogs\P\P
2727
2728 /dog|dogsbody/
2729 dogs\P
2730 dogs\P\P
2731
2732 /dogsbody|dog/
2733 dogs\P
2734 dogs\P\P
2735
2736 /\bthe cat\b/
2737 the cat\P
2738 the cat\P\P
2739
2740 /abc/
2741 abc\P
2742 abc\P\P
2743
2744 /\w+A/P
2745 CDAAAAB
2746
2747 /\w+A/PU
2748 CDAAAAB
2749
2750 /abc\K123/
2751 xyzabc123pqr
2752 xyzabc12\P
2753 xyzabc12\P\P
2754
2755 /(?<=abc)123/
2756 xyzabc123pqr
2757 xyzabc12\P
2758 xyzabc12\P\P
2759
2760 /\babc\b/
2761 +++abc+++
2762 +++ab\P
2763 +++ab\P\P
2764
2765 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
2766
2767 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
2768
2769 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
2770
2771 /abc\K/+
2772 abcdef
2773 abcdef\N\N
2774 xyzabcdef\N\N
2775 ** Failers
2776 abcdef\N
2777 xyzabcdef\N
2778
2779 /^(?:(?=abc)|abc\K)/+
2780 abcdef
2781 abcdef\N\N
2782 ** Failers
2783 abcdef\N
2784
2785 /a?b?/+
2786 xyz
2787 xyzabc
2788 xyzabc\N
2789 xyzabc\N\N
2790 xyz\N\N
2791 ** Failers
2792 xyz\N
2793
2794 /^a?b?/+
2795 xyz
2796 xyzabc
2797 ** Failers
2798 xyzabc\N
2799 xyzabc\N\N
2800 xyz\N\N
2801 xyz\N
2802
2803 /^(?<name>a|b\g<name>c)/
2804 aaaa
2805 bacxxx
2806 bbaccxxx
2807 bbbacccxx
2808
2809 /^(?<name>a|b\g'name'c)/
2810 aaaa
2811 bacxxx
2812 bbaccxxx
2813 bbbacccxx
2814
2815 /^(a|b\g<1>c)/
2816 aaaa
2817 bacxxx
2818 bbaccxxx
2819 bbbacccxx
2820
2821 /^(a|b\g'1'c)/
2822 aaaa
2823 bacxxx
2824 bbaccxxx
2825 bbbacccxx
2826
2827 /^(a|b\g'-1'c)/
2828 aaaa
2829 bacxxx
2830 bbaccxxx
2831 bbbacccxx
2832
2833 /(^(a|b\g<-1>c))/
2834 aaaa
2835 bacxxx
2836 bbaccxxx
2837 bbbacccxx
2838
2839 /(?-i:\g<name>)(?i:(?<name>a))/
2840 XaaX
2841 XAAX
2842
2843 /(?i:\g<name>)(?-i:(?<name>a))/
2844 XaaX
2845 ** Failers
2846 XAAX
2847
2848 /(?-i:\g<+1>)(?i:(a))/
2849 XaaX
2850 XAAX
2851
2852 /(?=(?<regex>(?#simplesyntax)\$(?<name>[a-zA-Z_\x{7f}-\x{ff}][a-zA-Z0-9_\x{7f}-\x{ff}]*)(?:\[(?<index>[a-zA-Z0-9_\x{7f}-\x{ff}]+|\$\g<name>)\]|->\g<name>(\(.*?\))?)?|(?#simple syntax withbraces)\$\{(?:\g<name>(?<indices>\[(?:\g<index>|'(?:\\.|[^'\\])*'|"(?:\g<regex>|\\.|[^"\\])*")\])?|\g<complex>|\$\{\g<complex>\})\}|(?#complexsyntax)\{(?<complex>\$(?<segment>\g<name>(\g<indices>*|\(.*?\))?)(?:->\g<segment>)*|\$\g<complex>|\$\{\g<complex>\})\}))\{/
2853
2854 /(?<n>a|b|c)\g<n>*/
2855 abc
2856 accccbbb
2857
2858 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
2859 XYabcdY
2860
2861 /(?<=b(?1)|zzz)(a)/
2862 xbaax
2863 xzzzax
2864
2865 /(a)(?<=b\1)/
2866
2867 /(a)(?<=b+(?1))/
2868
2869 /(a+)(?<=b(?1))/
2870
2871 /(a(?<=b(?1)))/
2872
2873 /(?<=b(?1))xyz/
2874
2875 /(?<=b(?1))xyz(b+)pqrstuvew/
2876
2877 /(a|bc)\1/SI
2878
2879 /(a|bc)\1{2,3}/SI
2880
2881 /(a|bc)(?1)/SI
2882
2883 /(a|b\1)(a|b\1)/SI
2884
2885 /(a|b\1){2}/SI
2886
2887 /(a|bbbb\1)(a|bbbb\1)/SI
2888
2889 /(a|bbbb\1){2}/SI
2890
2891 /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/SI
2892
2893 / (?: [\040\t] | \(
2894 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2895 \) )* # optional leading comment
2896 (?: (?:
2897 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2898 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2899 |
2900 " (?: # opening quote...
2901 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
2902 | # or
2903 \\ [^\x80-\xff] # Escaped something (something != CR)
2904 )* " # closing quote
2905 ) # initial word
2906 (?: (?: [\040\t] | \(
2907 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2908 \) )* \. (?: [\040\t] | \(
2909 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2910 \) )* (?:
2911 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2912 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2913 |
2914 " (?: # opening quote...
2915 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
2916 | # or
2917 \\ [^\x80-\xff] # Escaped something (something != CR)
2918 )* " # closing quote
2919 ) )* # further okay, if led by a period
2920 (?: [\040\t] | \(
2921 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2922 \) )* @ (?: [\040\t] | \(
2923 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2924 \) )* (?:
2925 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2926 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2927 | \[ # [
2928 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2929 \] # ]
2930 ) # initial subdomain
2931 (?: #
2932 (?: [\040\t] | \(
2933 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2934 \) )* \. # if led by a period...
2935 (?: [\040\t] | \(
2936 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2937 \) )* (?:
2938 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2939 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2940 | \[ # [
2941 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2942 \] # ]
2943 ) # ...further okay
2944 )*
2945 # address
2946 | # or
2947 (?:
2948 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2949 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2950 |
2951 " (?: # opening quote...
2952 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
2953 | # or
2954 \\ [^\x80-\xff] # Escaped something (something != CR)
2955 )* " # closing quote
2956 ) # one word, optionally followed by....
2957 (?:
2958 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
2959 \(
2960 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2961 \) | # comments, or...
2962
2963 " (?: # opening quote...
2964 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
2965 | # or
2966 \\ [^\x80-\xff] # Escaped something (something != CR)
2967 )* " # closing quote
2968 # quoted strings
2969 )*
2970 < (?: [\040\t] | \(
2971 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2972 \) )* # leading <
2973 (?: @ (?: [\040\t] | \(
2974 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2975 \) )* (?:
2976 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2977 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2978 | \[ # [
2979 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2980 \] # ]
2981 ) # initial subdomain
2982 (?: #
2983 (?: [\040\t] | \(
2984 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2985 \) )* \. # if led by a period...
2986 (?: [\040\t] | \(
2987 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2988 \) )* (?:
2989 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2990 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2991 | \[ # [
2992 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
2993 \] # ]
2994 ) # ...further okay
2995 )*
2996
2997 (?: (?: [\040\t] | \(
2998 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2999 \) )* , (?: [\040\t] | \(
3000 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3001 \) )* @ (?: [\040\t] | \(
3002 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3003 \) )* (?:
3004 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3005 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3006 | \[ # [
3007 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
3008 \] # ]
3009 ) # initial subdomain
3010 (?: #
3011 (?: [\040\t] | \(
3012 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3013 \) )* \. # if led by a period...
3014 (?: [\040\t] | \(
3015 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3016 \) )* (?:
3017 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3018 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3019 | \[ # [
3020 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
3021 \] # ]
3022 ) # ...further okay
3023 )*
3024 )* # further okay, if led by comma
3025 : # closing colon
3026 (?: [\040\t] | \(
3027 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3028 \) )* )? # optional route
3029 (?:
3030 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3031 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3032 |
3033 " (?: # opening quote...
3034 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
3035 | # or
3036 \\ [^\x80-\xff] # Escaped something (something != CR)
3037 )* " # closing quote
3038 ) # initial word
3039 (?: (?: [\040\t] | \(
3040 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3041 \) )* \. (?: [\040\t] | \(
3042 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3043 \) )* (?:
3044 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3045 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3046 |
3047 " (?: # opening quote...
3048 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
3049 | # or
3050 \\ [^\x80-\xff] # Escaped something (something != CR)
3051 )* " # closing quote
3052 ) )* # further okay, if led by a period
3053 (?: [\040\t] | \(
3054 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3055 \) )* @ (?: [\040\t] | \(
3056 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3057 \) )* (?:
3058 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3059 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3060 | \[ # [
3061 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
3062 \] # ]
3063 ) # initial subdomain
3064 (?: #
3065 (?: [\040\t] | \(
3066 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3067 \) )* \. # if led by a period...
3068 (?: [\040\t] | \(
3069 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3070 \) )* (?:
3071 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3072 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3073 | \[ # [
3074 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
3075 \] # ]
3076 ) # ...further okay
3077 )*
3078 # address spec
3079 (?: [\040\t] | \(
3080 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3081 \) )* > # trailing >
3082 # name and address
3083 ) (?: [\040\t] | \(
3084 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3085 \) )* # optional trailing comment
3086 /xSI
3087
3088 /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS
3089
3090 "(?>.*/)foo"SI
3091
3092 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /xSI
3093
3094 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
3095
3096 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
3097
3098 /<a[\s]+href[\s]*=[\s]* # find <a href=
3099 ([\"\'])? # find single or double quote
3100 (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching
3101 # quote, otherwise match up to next space
3102 /isxSI
3103
3104 /^(?!:) # colon disallowed at start
3105 (?: # start of item
3106 (?: [0-9a-f]{1,4} | # 1-4 hex digits or
3107 (?(1)0 | () ) ) # if null previously matched, fail; else null
3108 : # followed by colon
3109 ){1,7} # end item; 1-7 of them required
3110 [0-9a-f]{1,4} $ # final hex number at end of string
3111 (?(1)|.) # check that there was an empty component
3112 /xiIS
3113
3114 /(?|(?<a>A)|(?<a>B))/I
3115 AB\Ca
3116 BA\Ca
3117
3118 /(?|(?<a>A)|(?<b>B))/
3119
3120 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
3121 b(?<quote> (?<apostrophe>')|(?<realquote>")) )
3122 (?('quote')[a-z]+|[0-9]+)/JIx
3123 a"aaaaa
3124 b"aaaaa
3125 ** Failers
3126 b"11111
3127 a"11111
3128
3129 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
3130 abcdX
3131 eX
3132 ** Failers
3133 abcdY
3134 ey
3135
3136 /(?<A>a) (b)(c) (?<A>d (?(R&A)$ | (?4)) )/JDZx
3137 abcdd
3138 ** Failers
3139 abcdde
3140
3141 /abcd*/
3142 xxxxabcd\P
3143 xxxxabcd\P\P
3144
3145 /abcd*/i
3146 xxxxabcd\P
3147 xxxxabcd\P\P
3148 XXXXABCD\P
3149 XXXXABCD\P\P
3150
3151 /abc\d*/
3152 xxxxabc1\P
3153 xxxxabc1\P\P
3154
3155 /(a)bc\1*/
3156 xxxxabca\P
3157 xxxxabca\P\P
3158
3159 /abc[de]*/
3160 xxxxabcde\P
3161 xxxxabcde\P\P
3162
3163 /-- This is not in the Perl 5.10 test because Perl seems currently to be broken
3164 and not behaving as specified in that it *does* bumpalong after hitting
3165 (*COMMIT). --/
3166
3167 /(?1)(A(*COMMIT)|B)D/
3168 ABD
3169 XABD
3170 BAD
3171 ABXABD
3172 ** Failers
3173 ABX
3174 BAXBAD
3175
3176 /(\3)(\1)(a)/<JS>
3177 cat
3178
3179 /(\3)(\1)(a)/SI<JS>
3180 cat
3181
3182 /(\3)(\1)(a)/SI
3183 cat
3184
3185 /i(?(DEFINE)(?<s>a))/SI
3186 i
3187
3188 /()i(?(1)a)/SI
3189 ia
3190
3191 /(?i)a(?-i)b|c/BZ
3192 XabX
3193 XAbX
3194 CcC
3195 ** Failers
3196 XABX
3197
3198 /(?i)a(?s)b|c/BZ
3199
3200 /(?i)a(?s-i)b|c/BZ
3201
3202 /^(ab(c\1)d|x){2}$/BZ
3203 xabcxd
3204
3205 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
3206
3207 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
3208
3209 / -- The first four of these are not in the Perl 5.10 test because Perl
3210 documents that the use of \K in assertions is "not well defined". The
3211 last is here because Perl gives the match as "b" rather than "ab". I
3212 believe this to be a Perl bug. --/
3213
3214 /(?=a\Kb)ab/
3215 ab
3216
3217 /(?!a\Kb)ac/
3218 ac
3219
3220 /^abc(?<=b\Kc)d/
3221 abcd
3222
3223 /^abc(?<!b\Kq)d/
3224 abcd
3225
3226 /(?>a\Kb)z|(ab)/
3227 ab
3228
3229 /----------------------/
3230
3231 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
3232
3233 /abc(*MARK:)pqr/
3234
3235 /abc(*:)pqr/
3236
3237 /abc(*FAIL:123)xyz/
3238
3239 /--- This should, and does, fail. In Perl, it does not, which I think is a
3240 bug because replacing the B in the pattern by (B|D) does make it fail. ---/
3241
3242 /A(*COMMIT)B/+K
3243 ACABX
3244
3245 /--- These should be different, but in Perl 5.11 are not, which I think
3246 is a bug in Perl. ---/
3247
3248 /A(*THEN)B|A(*THEN)C/K
3249 AC
3250
3251 /A(*PRUNE)B|A(*PRUNE)C/K
3252 AC
3253
3254 /--- A whole lot of tests of verbs with arguments are here rather than in test
3255 11 because Perl doesn't seem to follow its specification entirely
3256 correctly. ---/
3257
3258 /--- Perl 5.11 sets $REGERROR on the AC failure case here; PCRE does not. It is
3259 not clear how Perl defines "involved in the failure of the match". ---/
3260
3261 /^(A(*THEN:A)B|C(*THEN:B)D)/K
3262 AB
3263 CD
3264 ** Failers
3265 AC
3266 CB
3267
3268 /--- Check the use of names for success and failure. PCRE doesn't show these
3269 names for success, though Perl does, contrary to its spec. ---/
3270
3271 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/K
3272 AB
3273 CD
3274 ** Failers
3275 AC
3276 CB
3277
3278 /--- An empty name does not pass back an empty string. It is the same as if no
3279 name were given. ---/
3280
3281 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/K
3282 AB
3283 CD
3284
3285 /--- PRUNE goes to next bumpalong; COMMIT does not. ---/
3286
3287 /A(*PRUNE:A)B/K
3288 ACAB
3289
3290 /(*MARK:A)(*PRUNE:B)(C|X)/K
3291 C
3292 D
3293
3294 /(*MARK:A)(*THEN:B)(C|X)/K
3295 C
3296 D
3297
3298 /--- This should fail, as the skip causes a bump to offset 3 (the skip) ---/
3299
3300 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xK
3301 AAAC
3302
3303 /--- Same --/
3304
3305 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xK
3306 AAAC
3307
3308 /--- This should fail; the SKIP advances by one, but when we get to AC, the
3309 PRUNE kills it. ---/
3310
3311 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
3312 AAAC
3313
3314 /A(*:A)A+(*SKIP)(B|Z) | AC/xK
3315 AAAC
3316
3317 /--- This should fail, as a null name is the same as no name ---/
3318
3319 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xK
3320 AAAC
3321
3322 /--- This fails in PCRE, and I think that is in accordance with Perl's
3323 documentation, though in Perl it succeeds. ---/
3324
3325 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xK
3326 AAAC
3327
3328 /--- Mark names can be duplicated ---/
3329
3330 /A(*:A)B|X(*:A)Y/K
3331 AABC
3332 XXYZ
3333
3334 /^A(*:A)B|^X(*:A)Y/K
3335 ** Failers
3336 XAQQ
3337
3338 /--- A check on what happens after hitting a mark and them bumping along to
3339 something that does not even start. Perl reports tags after the failures here,
3340 though it does not when the individual letters are made into something
3341 more complicated. ---/
3342
3343 /A(*:A)B|XX(*:B)Y/K
3344 AABC
3345 XXYZ
3346 ** Failers
3347 XAQQ
3348 XAQQXZZ
3349 AXQQQ
3350 AXXQQQ
3351
3352 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl
3353 optimizations defeat this. So does the PCRE optimization unless we disable it
3354 with \Y. ---/
3355
3356 /(*COMMIT)ABC/
3357 ABCDEFG
3358 ** Failers
3359 DEFGABC\Y
3360
3361 /--- Repeat some tests with added studying. ---/
3362
3363 /A(*COMMIT)B/+KS
3364 ACABX
3365
3366 /A(*THEN)B|A(*THEN)C/KS
3367 AC
3368
3369 /A(*PRUNE)B|A(*PRUNE)C/KS
3370 AC
3371
3372 /^(A(*THEN:A)B|C(*THEN:B)D)/KS
3373 AB
3374 CD
3375 ** Failers
3376 AC
3377 CB
3378
3379 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/KS
3380 AB
3381 CD
3382 ** Failers
3383 AC
3384 CB
3385
3386 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/KS
3387 AB
3388 CD
3389
3390 /A(*PRUNE:A)B/KS
3391 ACAB
3392
3393 /(*MARK:A)(*PRUNE:B)(C|X)/KS
3394 C
3395 D
3396
3397 /(*MARK:A)(*THEN:B)(C|X)/KS
3398 C
3399 D
3400
3401 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xKS
3402 AAAC
3403
3404 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xKS
3405 AAAC
3406
3407 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xKS
3408 AAAC
3409
3410 /A(*:A)A+(*SKIP)(B|Z) | AC/xKS
3411 AAAC
3412
3413 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xKS
3414 AAAC
3415
3416 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xKS
3417 AAAC
3418
3419 /A(*:A)B|XX(*:B)Y/KS
3420 AABC
3421 XXYZ
3422 ** Failers
3423 XAQQ
3424 XAQQXZZ
3425 AXQQQ
3426 AXXQQQ
3427
3428 /(*COMMIT)ABC/
3429 ABCDEFG
3430 ** Failers
3431 DEFGABC\Y
3432
3433 /^(ab (c+(*THEN)cd) | xyz)/x
3434 abcccd
3435
3436 /^(ab (c+(*PRUNE)cd) | xyz)/x
3437 abcccd
3438
3439 /^(ab (c+(*FAIL)cd) | xyz)/x
3440 abcccd
3441
3442 /-- End of testinput2 --/

Properties

Name Value
svn:keywords "Author Date Id Revision Url"

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12