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

Contents of /code/trunk/testdata/testinput2

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.5