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

Contents of /code/trunk/testdata/testinput2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 629 - (show annotations) (download)
Fri Jul 22 09:18:11 2011 UTC (3 years ago) by ph10
File size: 69527 byte(s)
Fix isolated \k bug.

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/IS
1065 1234abcdef
1066 *** Failers
1067 abcdef
1068
1069 /(?C1)\dabc(?C2)def/ISS
1070 1234abcdef
1071 *** Failers
1072 abcdef
1073
1074 /(?C255)ab/I
1075
1076 /(?C256)ab/I
1077
1078 /(?Cab)xx/I
1079
1080 /(?C12vr)x/I
1081
1082 /abc(?C)def/I
1083 *** Failers
1084 \x83\x0\x61bcdef
1085
1086 /(abc)(?C)de(?C1)f/I
1087 123abcdef
1088 123abcdef\C+
1089 123abcdef\C-
1090 *** Failers
1091 123abcdef\C!1
1092
1093 /(?C0)(abc(?C1))*/I
1094 abcabcabc
1095 abcabc\C!1!3
1096 *** Failers
1097 abcabcabc\C!1!3
1098
1099 /(\d{3}(?C))*/I
1100 123\C+
1101 123456\C+
1102 123456789\C+
1103
1104 /((xyz)(?C)p|(?C1)xyzabc)/I
1105 xyzabc\C+
1106
1107 /(X)((xyz)(?C)p|(?C1)xyzabc)/I
1108 Xxyzabc\C+
1109
1110 /(?=(abc))(?C)abcdef/I
1111 abcdef\C+
1112
1113 /(?!(abc)(?C1)d)(?C2)abcxyz/I
1114 abcxyz\C+
1115
1116 /(?<=(abc)(?C))xyz/I
1117 abcxyz\C+
1118
1119 /a(b+)(c*)(?C1)/I
1120 abbbbbccc\C*1
1121
1122 /a(b+?)(c*?)(?C1)/I
1123 abbbbbccc\C*1
1124
1125 /(?C)abc/I
1126
1127 /(?C)^abc/I
1128
1129 /(?C)a|b/IS
1130
1131 /(?R)/I
1132
1133 /(a|(?R))/I
1134
1135 /(ab|(bc|(de|(?R))))/I
1136
1137 /x(ab|(bc|(de|(?R))))/I
1138 xab
1139 xbc
1140 xde
1141 xxab
1142 xxxab
1143 *** Failers
1144 xyab
1145
1146 /(ab|(bc|(de|(?1))))/I
1147
1148 /x(ab|(bc|(de|(?1)x)x)x)/I
1149
1150 /^([^()]|\((?1)*\))*$/I
1151 abc
1152 a(b)c
1153 a(b(c))d
1154 *** Failers)
1155 a(b(c)d
1156
1157 /^>abc>([^()]|\((?1)*\))*<xyz<$/I
1158 >abc>123<xyz<
1159 >abc>1(2)3<xyz<
1160 >abc>(1(2)3)<xyz<
1161
1162 /(a(?1)b)/DZ
1163
1164 /(a(?1)+b)/DZ
1165
1166 /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
1167 12
1168 (((2+2)*-3)-7)
1169 -12
1170 *** Failers
1171 ((2+2)*-3)-7)
1172
1173 /^(x(y|(?1){2})z)/I
1174 xyz
1175 xxyzxyzz
1176 *** Failers
1177 xxyzz
1178 xxyzxyzxyzz
1179
1180 /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix
1181 <>
1182 <abcd>
1183 <abc <123> hij>
1184 <abc <def> hij>
1185 <abc<>def>
1186 <abc<>
1187 *** Failers
1188 <abc
1189
1190 /(?1)/I
1191
1192 /((?2)(abc)/I
1193
1194 /^(abc)def(?1)/I
1195 abcdefabc
1196
1197 /^(a|b|c)=(?1)+/I
1198 a=a
1199 a=b
1200 a=bc
1201
1202 /^(a|b|c)=((?1))+/I
1203 a=a
1204 a=b
1205 a=bc
1206
1207 /a(?P<name1>b|c)d(?P<longername2>e)/DZ
1208 abde
1209 acde
1210
1211 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
1212
1213 /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
1214
1215 /^\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
1216 1221
1217 Satan, oscillate my metallic sonatas!
1218 A man, a plan, a canal: Panama!
1219 Able was I ere I saw Elba.
1220 *** Failers
1221 The quick brown fox
1222
1223 /((?(R)a|b))\1(?1)?/I
1224 bb
1225 bbaa
1226
1227 /(.*)a/Is
1228
1229 /(.*)a\1/Is
1230
1231 /(.*)a(b)\2/Is
1232
1233 /((.*)a|(.*)b)z/Is
1234
1235 /((.*)a|(.*)b)z\1/Is
1236
1237 /((.*)a|(.*)b)z\2/Is
1238
1239 /((.*)a|(.*)b)z\3/Is
1240
1241 /((.*)a|^(.*)b)z\3/Is
1242
1243 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
1244
1245 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/Is
1246
1247 /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is
1248
1249 /(a)(bc)/INDZ
1250 abc
1251
1252 /(?P<one>a)(bc)/INDZ
1253 abc
1254
1255 /(a)(?P<named>bc)/INDZ
1256
1257 /(a+)*zz/I
1258 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
1259 aaaaaaaaaaaaaz\M
1260
1261 /(aaa(?C1)bbb|ab)/I
1262 aaabbb
1263 aaabbb\C*0
1264 aaabbb\C*1
1265 aaabbb\C*-1
1266
1267 /ab(?P<one>cd)ef(?P<two>gh)/I
1268 abcdefgh
1269 abcdefgh\C1\Gtwo
1270 abcdefgh\Cone\Ctwo
1271 abcdefgh\Cthree
1272
1273 /(?P<Tes>)(?P<Test>)/DZ
1274
1275 /(?P<Test>)(?P<Tes>)/DZ
1276
1277 /(?P<Z>zz)(?P<A>aa)/I
1278 zzaa\CZ
1279 zzaa\CA
1280
1281 /(?P<x>eks)(?P<x>eccs)/I
1282
1283 /(?P<abc>abc(?P<def>def)(?P<abc>xyz))/I
1284
1285 "\[((?P<elem>\d+)(,(?P>elem))*)\]"I
1286 [10,20,30,5,5,4,4,2,43,23,4234]
1287 *** Failers
1288 []
1289
1290 "\[((?P<elem>\d+)(,(?P>elem))*)?\]"I
1291 [10,20,30,5,5,4,4,2,43,23,4234]
1292 []
1293
1294 /(a(b(?2)c))?/DZ
1295
1296 /(a(b(?2)c))*/DZ
1297
1298 /(a(b(?2)c)){0,2}/DZ
1299
1300 /[ab]{1}+/DZ
1301
1302 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii
1303 Baby Bjorn Active Carrier - With free SHIPPING!!
1304
1305 /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS
1306 Baby Bjorn Active Carrier - With free SHIPPING!!
1307
1308 /a*.*b/ISDZ
1309
1310 /(a|b)*.?c/ISDZ
1311
1312 /abc(?C255)de(?C)f/DZ
1313
1314 /abcde/ICDZ
1315 abcde
1316 abcdfe
1317
1318 /a*b/ICDZS
1319 ab
1320 aaaab
1321 aaaacb
1322
1323 /a*b/ICDZSS
1324 ab
1325 aaaab
1326 aaaacb
1327
1328 /a+b/ICDZ
1329 ab
1330 aaaab
1331 aaaacb
1332
1333 /(abc|def)x/ICDZS
1334 abcx
1335 defx
1336 ** Failers
1337 abcdefzx
1338
1339 /(abc|def)x/ICDZSS
1340 abcx
1341 defx
1342 ** Failers
1343 abcdefzx
1344
1345 /(ab|cd){3,4}/IC
1346 ababab
1347 abcdabcd
1348 abcdcdcdcdcd
1349
1350 /([ab]{,4}c|xy)/ICDZS
1351 Note: that { does NOT introduce a quantifier
1352
1353 /([ab]{,4}c|xy)/ICDZSS
1354 Note: that { does NOT introduce a quantifier
1355
1356 /([ab]{1,4}c|xy){4,5}?123/ICDZ
1357 aacaacaacaacaac123
1358
1359 /\b.*/I
1360 ab cd\>1
1361
1362 /\b.*/Is
1363 ab cd\>1
1364
1365 /(?!.bcd).*/I
1366 Xbcd12345
1367
1368 /abcde/I
1369 ab\P
1370 abc\P
1371 abcd\P
1372 abcde\P
1373 the quick brown abc\P
1374 ** Failers\P
1375 the quick brown abxyz fox\P
1376
1377 "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/(20)?\d\d$"I
1378 13/05/04\P
1379 13/5/2004\P
1380 02/05/09\P
1381 1\P
1382 1/2\P
1383 1/2/0\P
1384 1/2/04\P
1385 0\P
1386 02/\P
1387 02/0\P
1388 02/1\P
1389 ** Failers\P
1390 \P
1391 123\P
1392 33/4/04\P
1393 3/13/04\P
1394 0/1/2003\P
1395 0/\P
1396 02/0/\P
1397 02/13\P
1398
1399 /0{0,2}ABC/I
1400
1401 /\d{3,}ABC/I
1402
1403 /\d*ABC/I
1404
1405 /[abc]+DE/I
1406
1407 /[abc]?123/I
1408 123\P
1409 a\P
1410 b\P
1411 c\P
1412 c12\P
1413 c123\P
1414
1415 /^(?:\d){3,5}X/I
1416 1\P
1417 123\P
1418 123X
1419 1234\P
1420 1234X
1421 12345\P
1422 12345X
1423 *** Failers
1424 1X
1425 123456\P
1426
1427 /abc/IS>testsavedregex
1428 <testsavedregex
1429 abc
1430 ** Failers
1431 bca
1432
1433 /abc/ISS>testsavedregex
1434 <testsavedregex
1435 abc
1436 ** Failers
1437 bca
1438
1439 /abc/IFS>testsavedregex
1440 <testsavedregex
1441 abc
1442 ** Failers
1443 bca
1444
1445 /abc/IFSS>testsavedregex
1446 <testsavedregex
1447 abc
1448 ** Failers
1449 bca
1450
1451 /(a|b)/IS>testsavedregex
1452 <testsavedregex
1453 abc
1454 ** Failers
1455 def
1456
1457 /(a|b)/ISS>testsavedregex
1458 <testsavedregex
1459 abc
1460 ** Failers
1461 def
1462
1463 /(a|b)/ISF>testsavedregex
1464 <testsavedregex
1465 abc
1466 ** Failers
1467 def
1468
1469 /(a|b)/ISSF>testsavedregex
1470 <testsavedregex
1471 abc
1472 ** Failers
1473 def
1474
1475 ~<(\w+)/?>(.)*</(\1)>~smgI
1476 <!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>
1477
1478 /^a/IF
1479
1480 /line\nbreak/I
1481 this is a line\nbreak
1482 line one\nthis is a line\nbreak in the second line
1483
1484 /line\nbreak/If
1485 this is a line\nbreak
1486 ** Failers
1487 line one\nthis is a line\nbreak in the second line
1488
1489 /line\nbreak/Imf
1490 this is a line\nbreak
1491 ** Failers
1492 line one\nthis is a line\nbreak in the second line
1493
1494 /ab.cd/P
1495 ab-cd
1496 ab=cd
1497 ** Failers
1498 ab\ncd
1499
1500 /ab.cd/Ps
1501 ab-cd
1502 ab=cd
1503 ab\ncd
1504
1505 /(?i)(?-i)AbCd/I
1506 AbCd
1507 ** Failers
1508 abcd
1509
1510 /a{11111111111111111111}/I
1511
1512 /(){64294967295}/I
1513
1514 /(){2,4294967295}/I
1515
1516 "(?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
1517 abcdefghijklAkB
1518
1519 "(?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
1520 abcdefghijklAkB
1521
1522 "(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)A\11B"I
1523 abcdefghijklAkB
1524
1525 "(?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
1526 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1527
1528 "(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
1529 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1530
1531 /[^()]*(?:\((?R)\)[^()]*)*/I
1532 (this(and)that
1533 (this(and)that)
1534 (this(and)that)stuff
1535
1536 /[^()]*(?:\((?>(?R))\)[^()]*)*/I
1537 (this(and)that
1538 (this(and)that)
1539
1540 /[^()]*(?:\((?R)\))*[^()]*/I
1541 (this(and)that
1542 (this(and)that)
1543
1544 /(?:\((?R)\))*[^()]*/I
1545 (this(and)that
1546 (this(and)that)
1547 ((this))
1548
1549 /(?:\((?R)\))|[^()]*/I
1550 (this(and)that
1551 (this(and)that)
1552 (this)
1553 ((this))
1554
1555 /a(b)c/PN
1556 abc
1557
1558 /a(?P<name>b)c/PN
1559 abc
1560
1561 /\x{100}/I
1562
1563 /\x{0000ff}/I
1564
1565 /^((?P<A>a1)|(?P<A>a2)b)/I
1566
1567 /^((?P<A>a1)|(?P<A>a2)b)/IJ
1568 a1b\CA
1569 a2b\CA
1570 ** Failers
1571 a1b\CZ\CA
1572
1573 /^(?P<A>a)(?P<A>b)/IJ
1574 ab\CA
1575
1576 /^(?P<A>a)(?P<A>b)|cd/IJ
1577 ab\CA
1578 cd\CA
1579
1580 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
1581 cdefgh\CA
1582
1583 /^((?P<A>a1)|(?P<A>a2)b)/IJ
1584 a1b\GA
1585 a2b\GA
1586 ** Failers
1587 a1b\GZ\GA
1588
1589 /^(?P<A>a)(?P<A>b)/IJ
1590 ab\GA
1591
1592 /^(?P<A>a)(?P<A>b)|cd/IJ
1593 ab\GA
1594 cd\GA
1595
1596 /^(?P<A>a)(?P<A>b)|cd(?P<A>ef)(?P<A>gh)/IJ
1597 cdefgh\GA
1598
1599 /(?J)^((?P<A>a1)|(?P<A>a2)b)/I
1600 a1b\CA
1601 a2b\CA
1602
1603 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<A>d)/I
1604
1605 / In this next test, J is not set at the outer level; consequently it isn't
1606 set in the pattern's options; consequently pcre_get_named_substring() produces
1607 a random value. /Ix
1608
1609 /^(?P<A>a) (?J:(?P<B>b)(?P<B>c)) (?P<C>d)/I
1610 a bc d\CA\CB\CC
1611
1612 /^(?P<A>a)?(?(A)a|b)/I
1613 aabc
1614 bc
1615 ** Failers
1616 abc
1617
1618 /(?:(?(ZZ)a|b)(?P<ZZ>X))+/I
1619 bXaX
1620
1621 /(?:(?(2y)a|b)(X))+/I
1622
1623 /(?:(?(ZA)a|b)(?P<ZZ>X))+/I
1624
1625 /(?:(?(ZZ)a|b)(?(ZZ)a|b)(?P<ZZ>X))+/I
1626 bbXaaX
1627
1628 /(?:(?(ZZ)a|\(b\))\\(?P<ZZ>X))+/I
1629 (b)\\Xa\\X
1630
1631 /(?P<ABC/I
1632
1633 /(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
1634 bXXaYYaY
1635 bXYaXXaX
1636
1637 /()()()()()()()()()(?:(?(A)(?P=A)a|b)(?P<A>X|Y))+/I
1638 bXXaYYaY
1639
1640 /\777/I
1641
1642 /\s*,\s*/IS
1643 \x0b,\x0b
1644 \x0c,\x0d
1645
1646 /^abc/Im
1647 xyz\nabc
1648 xyz\nabc\<lf>
1649 xyz\r\nabc\<lf>
1650 xyz\rabc\<cr>
1651 xyz\r\nabc\<crlf>
1652 ** Failers
1653 xyz\nabc\<cr>
1654 xyz\r\nabc\<cr>
1655 xyz\nabc\<crlf>
1656 xyz\rabc\<crlf>
1657 xyz\rabc\<lf>
1658
1659 /abc$/Im<lf>
1660 xyzabc
1661 xyzabc\n
1662 xyzabc\npqr
1663 xyzabc\r\<cr>
1664 xyzabc\rpqr\<cr>
1665 xyzabc\r\n\<crlf>
1666 xyzabc\r\npqr\<crlf>
1667 ** Failers
1668 xyzabc\r
1669 xyzabc\rpqr
1670 xyzabc\r\n
1671 xyzabc\r\npqr
1672
1673 /^abc/Im<cr>
1674 xyz\rabcdef
1675 xyz\nabcdef\<lf>
1676 ** Failers
1677 xyz\nabcdef
1678
1679 /^abc/Im<lf>
1680 xyz\nabcdef
1681 xyz\rabcdef\<cr>
1682 ** Failers
1683 xyz\rabcdef
1684
1685 /^abc/Im<crlf>
1686 xyz\r\nabcdef
1687 xyz\rabcdef\<cr>
1688 ** Failers
1689 xyz\rabcdef
1690
1691 /^abc/Im<bad>
1692
1693 /abc/I
1694 xyz\rabc\<bad>
1695 abc
1696
1697 /.*/I<lf>
1698 abc\ndef
1699 abc\rdef
1700 abc\r\ndef
1701 \<cr>abc\ndef
1702 \<cr>abc\rdef
1703 \<cr>abc\r\ndef
1704 \<crlf>abc\ndef
1705 \<crlf>abc\rdef
1706 \<crlf>abc\r\ndef
1707
1708 /\w+(.)(.)?def/Is
1709 abc\ndef
1710 abc\rdef
1711 abc\r\ndef
1712
1713 +((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)+I
1714 /* this is a C style comment */\M
1715
1716 /(?P<B>25[0-5]|2[0-4]\d|[01]?\d?\d)(?:\.(?P>B)){3}/I
1717
1718 /()()()()()()()()()()()()()()()()()()()()
1719 ()()()()()()()()()()()()()()()()()()()()
1720 ()()()()()()()()()()()()()()()()()()()()
1721 ()()()()()()()()()()()()()()()()()()()()
1722 ()()()()()()()()()()()()()()()()()()()()
1723 (.(.))/Ix
1724 XY\O400
1725
1726 /(a*b|(?i:c*(?-i)d))/IS
1727
1728 /()[ab]xyz/IS
1729
1730 /(|)[ab]xyz/IS
1731
1732 /(|c)[ab]xyz/IS
1733
1734 /(|c?)[ab]xyz/IS
1735
1736 /(d?|c?)[ab]xyz/IS
1737
1738 /(d?|c)[ab]xyz/IS
1739
1740 /^a*b\d/DZ
1741
1742 /^a*+b\d/DZ
1743
1744 /^a*?b\d/DZ
1745
1746 /^a+A\d/DZ
1747 aaaA5
1748 ** Failers
1749 aaaa5
1750
1751 /^a*A\d/IiDZ
1752 aaaA5
1753 aaaa5
1754
1755 /(a*|b*)[cd]/IS
1756
1757 /(a+|b*)[cd]/IS
1758
1759 /(a*|b+)[cd]/IS
1760
1761 /(a+|b+)[cd]/IS
1762
1763 /((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
1764 ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
1765 (((
1766 a
1767 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1768 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1769 )))
1770 /Ix
1771 large nest
1772
1773 /a*\d/BZ
1774
1775 /a*\D/BZ
1776
1777 /0*\d/BZ
1778
1779 /0*\D/BZ
1780
1781 /a*\s/BZ
1782
1783 /a*\S/BZ
1784
1785 / *\s/BZ
1786
1787 / *\S/BZ
1788
1789 /a*\w/BZ
1790
1791 /a*\W/BZ
1792
1793 /=*\w/BZ
1794
1795 /=*\W/BZ
1796
1797 /\d*a/BZ
1798
1799 /\d*2/BZ
1800
1801 /\d*\d/BZ
1802
1803 /\d*\D/BZ
1804
1805 /\d*\s/BZ
1806
1807 /\d*\S/BZ
1808
1809 /\d*\w/BZ
1810
1811 /\d*\W/BZ
1812
1813 /\D*a/BZ
1814
1815 /\D*2/BZ
1816
1817 /\D*\d/BZ
1818
1819 /\D*\D/BZ
1820
1821 /\D*\s/BZ
1822
1823 /\D*\S/BZ
1824
1825 /\D*\w/BZ
1826
1827 /\D*\W/BZ
1828
1829 /\s*a/BZ
1830
1831 /\s*2/BZ
1832
1833 /\s*\d/BZ
1834
1835 /\s*\D/BZ
1836
1837 /\s*\s/BZ
1838
1839 /\s*\S/BZ
1840
1841 /\s*\w/BZ
1842
1843 /\s*\W/BZ
1844
1845 /\S*a/BZ
1846
1847 /\S*2/BZ
1848
1849 /\S*\d/BZ
1850
1851 /\S*\D/BZ
1852
1853 /\S*\s/BZ
1854
1855 /\S*\S/BZ
1856
1857 /\S*\w/BZ
1858
1859 /\S*\W/BZ
1860
1861 /\w*a/BZ
1862
1863 /\w*2/BZ
1864
1865 /\w*\d/BZ
1866
1867 /\w*\D/BZ
1868
1869 /\w*\s/BZ
1870
1871 /\w*\S/BZ
1872
1873 /\w*\w/BZ
1874
1875 /\w*\W/BZ
1876
1877 /\W*a/BZ
1878
1879 /\W*2/BZ
1880
1881 /\W*\d/BZ
1882
1883 /\W*\D/BZ
1884
1885 /\W*\s/BZ
1886
1887 /\W*\S/BZ
1888
1889 /\W*\w/BZ
1890
1891 /\W*\W/BZ
1892
1893 /[^a]+a/BZ
1894
1895 /[^a]+a/BZi
1896
1897 /[^a]+A/BZi
1898
1899 /[^a]+b/BZ
1900
1901 /[^a]+\d/BZ
1902
1903 /a*[^a]/BZ
1904
1905 /(?P<abc>x)(?P<xyz>y)/I
1906 xy\Cabc\Cxyz
1907
1908 /(?<abc>x)(?'xyz'y)/I
1909 xy\Cabc\Cxyz
1910
1911 /(?<abc'x)(?'xyz'y)/I
1912
1913 /(?<abc>x)(?'xyz>y)/I
1914
1915 /(?P'abc'x)(?P<xyz>y)/I
1916
1917 /^(?:(?(ZZ)a|b)(?<ZZ>X))+/
1918 bXaX
1919 bXbX
1920 ** Failers
1921 aXaX
1922 aXbX
1923
1924 /^(?P>abc)(?<abcd>xxx)/
1925
1926 /^(?P>abc)(?<abc>x|y)/
1927 xx
1928 xy
1929 yy
1930 yx
1931
1932 /^(?P>abc)(?P<abc>x|y)/
1933 xx
1934 xy
1935 yy
1936 yx
1937
1938 /^((?(abc)a|b)(?<abc>x|y))+/
1939 bxay
1940 bxby
1941 ** Failers
1942 axby
1943
1944 /^(((?P=abc)|X)(?<abc>x|y))+/
1945 XxXxxx
1946 XxXyyx
1947 XxXyxx
1948 ** Failers
1949 x
1950
1951 /^(?1)(abc)/
1952 abcabc
1953
1954 /^(?:(?:\1|X)(a|b))+/
1955 Xaaa
1956 Xaba
1957
1958 /^[\E\Qa\E-\Qz\E]+/BZ
1959
1960 /^[a\Q]bc\E]/BZ
1961
1962 /^[a-\Q\E]/BZ
1963
1964 /^(?P>abc)[()](?<abc>)/BZ
1965
1966 /^((?(abc)y)[()](?P<abc>x))+/BZ
1967 (xy)x
1968
1969 /^(?P>abc)\Q()\E(?<abc>)/BZ
1970
1971 /^(?P>abc)[a\Q(]\E(](?<abc>)/BZ
1972
1973 /^(?P>abc) # this is (a comment)
1974 (?<abc>)/BZx
1975
1976 /^\W*(?:(?<one>(?<two>.)\W*(?&one)\W*\k<two>|)|(?<three>(?<four>.)\W*(?&three)\W*\k'four'|\W*.\W*))\W*$/Ii
1977 1221
1978 Satan, oscillate my metallic sonatas!
1979 A man, a plan, a canal: Panama!
1980 Able was I ere I saw Elba.
1981 *** Failers
1982 The quick brown fox
1983
1984 /(?=(\w+))\1:/I
1985 abcd:
1986
1987 /(?=(?'abc'\w+))\k<abc>:/I
1988 abcd:
1989
1990 /(?'abc'a|b)(?<abc>d|e)\k<abc>{2}/J
1991 adaa
1992 ** Failers
1993 addd
1994 adbb
1995
1996 /(?'abc'a|b)(?<abc>d|e)(?&abc){2}/J
1997 bdaa
1998 bdab
1999 ** Failers
2000 bddd
2001
2002 /(?(<bc))/
2003
2004 /(?(''))/
2005
2006 /(?('R')stuff)/
2007
2008 /((abc (?(R) (?(R1)1) (?(R2)2) X | (?1) (?2) (?R) ))) /x
2009 abcabc1Xabc2XabcXabcabc
2010
2011 /(?<A> (?'B' abc (?(R) (?(R&A)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
2012 abcabc1Xabc2XabcXabcabc
2013
2014 /(?<A> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
2015
2016 /(?<1> (?'B' abc (?(R) (?(R&1)1) (?(R&B)2) X | (?1) (?2) (?R) ))) /x
2017 abcabc1Xabc2XabcXabcabc
2018
2019 /^(?(DEFINE) abc | xyz ) /x
2020
2021 /(?(DEFINE) abc) xyz/xI
2022
2023 /(?(DEFINE) abc){3} xyz/x
2024
2025 /(a|)*\d/
2026 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2027 \O0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4
2028
2029 /^a.b/<lf>
2030 a\rb
2031 a\nb\<cr>
2032 a\x85b\<anycrlf>
2033 ** Failers
2034 a\nb
2035 a\nb\<any>
2036 a\rb\<cr>
2037 a\rb\<any>
2038 a\x85b\<any>
2039 a\rb\<anycrlf>
2040
2041 /^abc./mgx<any>
2042 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x85abc7 JUNK
2043
2044 /abc.$/mgx<any>
2045 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7 abc9
2046
2047 /a/<cr><any>
2048
2049 /a/<any><crlf>
2050
2051 /^a\Rb/<bsr_unicode>
2052 a\nb
2053 a\rb
2054 a\r\nb
2055 a\x0bb
2056 a\x0cb
2057 a\x85b
2058 ** Failers
2059 a\n\rb
2060
2061 /^a\R*b/<bsr_unicode>
2062 ab
2063 a\nb
2064 a\rb
2065 a\r\nb
2066 a\x0bb
2067 a\x0cb
2068 a\x85b
2069 a\n\rb
2070 a\n\r\x85\x0cb
2071
2072 /^a\R+b/<bsr_unicode>
2073 a\nb
2074 a\rb
2075 a\r\nb
2076 a\x0bb
2077 a\x0cb
2078 a\x85b
2079 a\n\rb
2080 a\n\r\x85\x0cb
2081 ** Failers
2082 ab
2083
2084 /^a\R{1,3}b/<bsr_unicode>
2085 a\nb
2086 a\n\rb
2087 a\n\r\x85b
2088 a\r\n\r\nb
2089 a\r\n\r\n\r\nb
2090 a\n\r\n\rb
2091 a\n\n\r\nb
2092 ** Failers
2093 a\n\n\n\rb
2094 a\r
2095
2096 /^a[\R]b/<bsr_unicode>
2097 aRb
2098 ** Failers
2099 a\nb
2100
2101 /(?&abc)X(?<abc>P)/I
2102 abcPXP123
2103
2104 /(?1)X(?<abc>P)/I
2105 abcPXP123
2106
2107 /(?:a(?&abc)b)*(?<abc>x)/
2108 123axbaxbaxbx456
2109 123axbaxbaxb456
2110
2111 /(?:a(?&abc)b){1,5}(?<abc>x)/
2112 123axbaxbaxbx456
2113
2114 /(?:a(?&abc)b){2,5}(?<abc>x)/
2115 123axbaxbaxbx456
2116
2117 /(?:a(?&abc)b){2,}(?<abc>x)/
2118 123axbaxbaxbx456
2119
2120 /(abc)(?i:(?1))/
2121 defabcabcxyz
2122 DEFabcABCXYZ
2123
2124 /(abc)(?:(?i)(?1))/
2125 defabcabcxyz
2126 DEFabcABCXYZ
2127
2128 /^(a)\g-2/
2129
2130 /^(a)\g/
2131
2132 /^(a)\g{0}/
2133
2134 /^(a)\g{3/
2135
2136 /^(a)\g{4a}/
2137
2138 /^a.b/<lf>
2139 a\rb
2140 *** Failers
2141 a\nb
2142
2143 /.+foo/
2144 afoo
2145 ** Failers
2146 \r\nfoo
2147 \nfoo
2148
2149 /.+foo/<crlf>
2150 afoo
2151 \nfoo
2152 ** Failers
2153 \r\nfoo
2154
2155 /.+foo/<any>
2156 afoo
2157 ** Failers
2158 \nfoo
2159 \r\nfoo
2160
2161 /.+foo/s
2162 afoo
2163 \r\nfoo
2164 \nfoo
2165
2166 /^$/mg<any>
2167 abc\r\rxyz
2168 abc\n\rxyz
2169 ** Failers
2170 abc\r\nxyz
2171
2172 /(?m)^$/<any>g+
2173 abc\r\n\r\n
2174
2175 /(?m)^$|^\r\n/<any>g+
2176 abc\r\n\r\n
2177
2178 /(?m)$/<any>g+
2179 abc\r\n\r\n
2180
2181 /abc.$/mgx<anycrlf>
2182 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc9
2183
2184 /^X/m
2185 XABC
2186 ** Failers
2187 XABC\B
2188
2189 /(ab|c)(?-1)/BZ
2190 abc
2191
2192 /xy(?+1)(abc)/BZ
2193 xyabcabc
2194 ** Failers
2195 xyabc
2196
2197 /x(?-0)y/
2198
2199 /x(?-1)y/
2200
2201 /x(?+0)y/
2202
2203 /x(?+1)y/
2204
2205 /^(abc)?(?(-1)X|Y)/BZ
2206 abcX
2207 Y
2208 ** Failers
2209 abcY
2210
2211 /^((?(+1)X|Y)(abc))+/BZ
2212 YabcXabc
2213 YabcXabcXabc
2214 ** Failers
2215 XabcXabc
2216
2217 /(?(-1)a)/BZ
2218
2219 /((?(-1)a))/BZ
2220
2221 /((?(-2)a))/BZ
2222
2223 /^(?(+1)X|Y)(.)/BZ
2224 Y!
2225
2226 /(?<A>tom|bon)-\k{A}/
2227 tom-tom
2228 bon-bon
2229 ** Failers
2230 tom-bon
2231
2232 /\g{A/
2233
2234 /(?|(abc)|(xyz))/BZ
2235 >abc<
2236 >xyz<
2237
2238 /(x)(?|(abc)|(xyz))(x)/BZ
2239 xabcx
2240 xxyzx
2241
2242 /(x)(?|(abc)(pqr)|(xyz))(x)/BZ
2243 xabcpqrx
2244 xxyzx
2245
2246 /[\h]/BZ
2247 >\x09<
2248
2249 /[\h]+/BZ
2250 >\x09\x20\xa0<
2251
2252 /[\v]/BZ
2253
2254 /[\H]/BZ
2255
2256 /[^\h]/BZ
2257
2258 /[\V]/BZ
2259
2260 /[\x0a\V]/BZ
2261
2262 /\H++X/BZ
2263 ** Failers
2264 XXXX
2265
2266 /\H+\hY/BZ
2267 XXXX Y
2268
2269 /\H+ Y/BZ
2270
2271 /\h+A/BZ
2272
2273 /\v*B/BZ
2274
2275 /\V+\x0a/BZ
2276
2277 /A+\h/BZ
2278
2279 / *\H/BZ
2280
2281 /A*\v/BZ
2282
2283 /\x0b*\V/BZ
2284
2285 /\d+\h/BZ
2286
2287 /\d*\v/BZ
2288
2289 /S+\h\S+\v/BZ
2290
2291 /\w{3,}\h\w+\v/BZ
2292
2293 /\h+\d\h+\w\h+\S\h+\H/BZ
2294
2295 /\v+\d\v+\w\v+\S\v+\V/BZ
2296
2297 /\H+\h\H+\d/BZ
2298
2299 /\V+\v\V+\w/BZ
2300
2301 /\( (?: [^()]* | (?R) )* \)/x
2302 (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(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)
2303
2304 /[\E]AAA/
2305
2306 /[\Q\E]AAA/
2307
2308 /[^\E]AAA/
2309
2310 /[^\Q\E]AAA/
2311
2312 /[\E^]AAA/
2313
2314 /[\Q\E^]AAA/
2315
2316 /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
2317
2318 /^a+(*FAIL)/C
2319 aaaaaa
2320
2321 /a+b?c+(*FAIL)/C
2322 aaabccc
2323
2324 /a+b?(*PRUNE)c+(*FAIL)/C
2325 aaabccc
2326
2327 /a+b?(*COMMIT)c+(*FAIL)/C
2328 aaabccc
2329
2330 /a+b?(*SKIP)c+(*FAIL)/C
2331 aaabcccaaabccc
2332
2333 /a+b?(*THEN)c+(*FAIL)/C
2334 aaabccc
2335
2336 /a(*MARK)b/
2337
2338 /(?i:A{1,}\6666666666)/
2339
2340 /\g6666666666/
2341
2342 /[\g6666666666]/
2343
2344 /(?1)\c[/
2345
2346 /.+A/<crlf>
2347 \r\nA
2348
2349 /\nA/<crlf>
2350 \r\nA
2351
2352 /[\r\n]A/<crlf>
2353 \r\nA
2354
2355 /(\r|\n)A/<crlf>
2356 \r\nA
2357
2358 /a(*CR)b/
2359
2360 /(*CR)a.b/
2361 a\nb
2362 ** Failers
2363 a\rb
2364
2365 /(*CR)a.b/<lf>
2366 a\nb
2367 ** Failers
2368 a\rb
2369
2370 /(*LF)a.b/<CRLF>
2371 a\rb
2372 ** Failers
2373 a\nb
2374
2375 /(*CRLF)a.b/
2376 a\rb
2377 a\nb
2378 ** Failers
2379 a\r\nb
2380
2381 /(*ANYCRLF)a.b/<CR>
2382 ** Failers
2383 a\rb
2384 a\nb
2385 a\r\nb
2386
2387 /(*ANY)a.b/<cr>
2388 ** Failers
2389 a\rb
2390 a\nb
2391 a\r\nb
2392 a\x85b
2393
2394 /(*ANY).*/g
2395 abc\r\ndef
2396
2397 /(*ANYCRLF).*/g
2398 abc\r\ndef
2399
2400 /(*CRLF).*/g
2401 abc\r\ndef
2402
2403 /a\Rb/I<bsr_anycrlf>
2404 a\rb
2405 a\nb
2406 a\r\nb
2407 ** Failers
2408 a\x85b
2409 a\x0bb
2410
2411 /a\Rb/I<bsr_unicode>
2412 a\rb
2413 a\nb
2414 a\r\nb
2415 a\x85b
2416 a\x0bb
2417 ** Failers
2418 a\x85b\<bsr_anycrlf>
2419 a\x0bb\<bsr_anycrlf>
2420
2421 /a\R?b/I<bsr_anycrlf>
2422 a\rb
2423 a\nb
2424 a\r\nb
2425 ** Failers
2426 a\x85b
2427 a\x0bb
2428
2429 /a\R?b/I<bsr_unicode>
2430 a\rb
2431 a\nb
2432 a\r\nb
2433 a\x85b
2434 a\x0bb
2435 ** Failers
2436 a\x85b\<bsr_anycrlf>
2437 a\x0bb\<bsr_anycrlf>
2438
2439 /a\R{2,4}b/I<bsr_anycrlf>
2440 a\r\n\nb
2441 a\n\r\rb
2442 a\r\n\r\n\r\n\r\nb
2443 ** Failers
2444 a\x85\85b
2445 a\x0b\0bb
2446
2447 /a\R{2,4}b/I<bsr_unicode>
2448 a\r\rb
2449 a\n\n\nb
2450 a\r\n\n\r\rb
2451 a\x85\85b
2452 a\x0b\0bb
2453 ** Failers
2454 a\r\r\r\r\rb
2455 a\x85\85b\<bsr_anycrlf>
2456 a\x0b\0bb\<bsr_anycrlf>
2457
2458 /(*BSR_ANYCRLF)a\Rb/I
2459 a\nb
2460 a\rb
2461
2462 /(*BSR_UNICODE)a\Rb/I
2463 a\x85b
2464
2465 /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
2466 a\nb
2467 a\rb
2468
2469 /(*CRLF)(*BSR_UNICODE)a\Rb/I
2470 a\x85b
2471
2472 /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
2473
2474 /(?<a>)(?&)/
2475
2476 /(?<abc>)(?&a)/
2477
2478 /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
2479
2480 /(?+-a)/
2481
2482 /(?-+a)/
2483
2484 /(?(-1))/
2485
2486 /(?(+10))/
2487
2488 /(?(10))/
2489
2490 /(?(+2))()()/
2491
2492 /(?(2))()()/
2493
2494 /\k''/
2495
2496 /\k<>/
2497
2498 /\k{}/
2499
2500 /\k/
2501
2502 /\kabc/
2503
2504 /(?P=)/
2505
2506 /(?P>)/
2507
2508 /(?!\w)(?R)/
2509
2510 /(?=\w)(?R)/
2511
2512 /(?<!\w)(?R)/
2513
2514 /(?<=\w)(?R)/
2515
2516 /[[:foo:]]/
2517
2518 /[[:1234:]]/
2519
2520 /[[:f\oo:]]/
2521
2522 /[[: :]]/
2523
2524 /[[:...:]]/
2525
2526 /[[:l\ower:]]/
2527
2528 /[[:abc\:]]/
2529
2530 /[abc[:x\]pqr:]]/
2531
2532 /[[:a\dz:]]/
2533
2534 /(^(a|b\g<-1'c))/
2535
2536 /^(?+1)(?<a>x|y){0}z/
2537 xzxx
2538 yzyy
2539 ** Failers
2540 xxz
2541
2542 /(\3)(\1)(a)/
2543 cat
2544
2545 /(\3)(\1)(a)/<JS>
2546 cat
2547
2548 /TA]/
2549 The ACTA] comes
2550
2551 /TA]/<JS>
2552 The ACTA] comes
2553
2554 /(?2)[]a()b](abc)/
2555 abcbabc
2556
2557 /(?2)[^]a()b](abc)/
2558 abcbabc
2559
2560 /(?1)[]a()b](abc)/
2561 abcbabc
2562 ** Failers
2563 abcXabc
2564
2565 /(?1)[^]a()b](abc)/
2566 abcXabc
2567 ** Failers
2568 abcbabc
2569
2570 /(?2)[]a()b](abc)(xyz)/
2571 xyzbabcxyz
2572
2573 /(?&N)[]a(?<N>)](?<M>abc)/
2574 abc<abc
2575
2576 /(?&N)[]a(?<N>)](abc)/
2577 abc<abc
2578
2579 /a[]b/
2580
2581 /a[^]b/
2582
2583 /a[]b/<JS>
2584 ** Failers
2585 ab
2586
2587 /a[]+b/<JS>
2588 ** Failers
2589 ab
2590
2591 /a[]*+b/<JS>
2592 ** Failers
2593 ab
2594
2595 /a[^]b/<JS>
2596 aXb
2597 a\nb
2598 ** Failers
2599 ab
2600
2601 /a[^]+b/<JS>
2602 aXb
2603 a\nX\nXb
2604 ** Failers
2605 ab
2606
2607 /a(?!)+b/
2608
2609 /a(*FAIL)+b/
2610
2611 /(abc|pqr|123){0}[xyz]/SI
2612
2613 /(?(?=.*b)b|^)/CI
2614 adc
2615 abc
2616
2617 /(?(?=b).*b|^d)/I
2618
2619 /(?(?=.*b).*b|^d)/I
2620
2621 /a?|b?/P
2622 abc
2623 ** Failers
2624 ddd\N
2625
2626 /xyz/C
2627 xyz
2628 abcxyz
2629 abcxyz\Y
2630 ** Failers
2631 abc
2632 abc\Y
2633 abcxypqr
2634 abcxypqr\Y
2635
2636 /(*NO_START_OPT)xyz/C
2637 abcxyz
2638
2639 /xyz/CY
2640 abcxyz
2641
2642 /^"((?(?=[a])[^"])|b)*"$/C
2643 "ab"
2644
2645 /^"((?(?=[a])[^"])|b)*"$/
2646 "ab"
2647
2648 /^X(?5)(a)(?|(b)|(q))(c)(d)Y/
2649 XYabcdY
2650
2651 /^X(?&N)(a)(?|(b)|(q))(c)(d)(?<N>Y)/
2652 XYabcdY
2653
2654 /Xa{2,4}b/
2655 X\P
2656 Xa\P
2657 Xaa\P
2658 Xaaa\P
2659 Xaaaa\P
2660
2661 /Xa{2,4}?b/
2662 X\P
2663 Xa\P
2664 Xaa\P
2665 Xaaa\P
2666 Xaaaa\P
2667
2668 /Xa{2,4}+b/
2669 X\P
2670 Xa\P
2671 Xaa\P
2672 Xaaa\P
2673 Xaaaa\P
2674
2675 /X\d{2,4}b/
2676 X\P
2677 X3\P
2678 X33\P
2679 X333\P
2680 X3333\P
2681
2682 /X\d{2,4}?b/
2683 X\P
2684 X3\P
2685 X33\P
2686 X333\P
2687 X3333\P
2688
2689 /X\d{2,4}+b/
2690 X\P
2691 X3\P
2692 X33\P
2693 X333\P
2694 X3333\P
2695
2696 /X\D{2,4}b/
2697 X\P
2698 Xa\P
2699 Xaa\P
2700 Xaaa\P
2701 Xaaaa\P
2702
2703 /X\D{2,4}?b/
2704 X\P
2705 Xa\P
2706 Xaa\P
2707 Xaaa\P
2708 Xaaaa\P
2709
2710 /X\D{2,4}+b/
2711 X\P
2712 Xa\P
2713 Xaa\P
2714 Xaaa\P
2715 Xaaaa\P
2716
2717 /X[abc]{2,4}b/
2718 X\P
2719 Xa\P
2720 Xaa\P
2721 Xaaa\P
2722 Xaaaa\P
2723
2724 /X[abc]{2,4}?b/
2725 X\P
2726 Xa\P
2727 Xaa\P
2728 Xaaa\P
2729 Xaaaa\P
2730
2731 /X[abc]{2,4}+b/
2732 X\P
2733 Xa\P
2734 Xaa\P
2735 Xaaa\P
2736 Xaaaa\P
2737
2738 /X[^a]{2,4}b/
2739 X\P
2740 Xz\P
2741 Xzz\P
2742 Xzzz\P
2743 Xzzzz\P
2744
2745 /X[^a]{2,4}?b/
2746 X\P
2747 Xz\P
2748 Xzz\P
2749 Xzzz\P
2750 Xzzzz\P
2751
2752 /X[^a]{2,4}+b/
2753 X\P
2754 Xz\P
2755 Xzz\P
2756 Xzzz\P
2757 Xzzzz\P
2758
2759 /(Y)X\1{2,4}b/
2760 YX\P
2761 YXY\P
2762 YXYY\P
2763 YXYYY\P
2764 YXYYYY\P
2765
2766 /(Y)X\1{2,4}?b/
2767 YX\P
2768 YXY\P
2769 YXYY\P
2770 YXYYY\P
2771 YXYYYY\P
2772
2773 /(Y)X\1{2,4}+b/
2774 YX\P
2775 YXY\P
2776 YXYY\P
2777 YXYYY\P
2778 YXYYYY\P
2779
2780 /\++\KZ|\d+X|9+Y/
2781 ++++123999\P
2782 ++++123999Y\P
2783 ++++Z1234\P
2784
2785 /Z(*F)/
2786 Z\P
2787 ZA\P
2788
2789 /Z(?!)/
2790 Z\P
2791 ZA\P
2792
2793 /dog(sbody)?/
2794 dogs\P
2795 dogs\P\P
2796
2797 /dog(sbody)??/
2798 dogs\P
2799 dogs\P\P
2800
2801 /dog|dogsbody/
2802 dogs\P
2803 dogs\P\P
2804
2805 /dogsbody|dog/
2806 dogs\P
2807 dogs\P\P
2808
2809 /\bthe cat\b/
2810 the cat\P
2811 the cat\P\P
2812
2813 /abc/
2814 abc\P
2815 abc\P\P
2816
2817 /\w+A/P
2818 CDAAAAB
2819
2820 /\w+A/PU
2821 CDAAAAB
2822
2823 /abc\K123/
2824 xyzabc123pqr
2825 xyzabc12\P
2826 xyzabc12\P\P
2827
2828 /(?<=abc)123/
2829 xyzabc123pqr
2830 xyzabc12\P
2831 xyzabc12\P\P
2832
2833 /\babc\b/
2834 +++abc+++
2835 +++ab\P
2836 +++ab\P\P
2837
2838 /(?&word)(?&element)(?(DEFINE)(?<element><[^m][^>]>[^<])(?<word>\w*+))/BZ
2839
2840 /(?&word)(?&element)(?(DEFINE)(?<element><[^\d][^>]>[^<])(?<word>\w*+))/BZ
2841
2842 /(ab)(x(y)z(cd(*ACCEPT)))pq/BZ
2843
2844 /abc\K/+
2845 abcdef
2846 abcdef\N\N
2847 xyzabcdef\N\N
2848 ** Failers
2849 abcdef\N
2850 xyzabcdef\N
2851
2852 /^(?:(?=abc)|abc\K)/+
2853 abcdef
2854 abcdef\N\N
2855 ** Failers
2856 abcdef\N
2857
2858 /a?b?/+
2859 xyz
2860 xyzabc
2861 xyzabc\N
2862 xyzabc\N\N
2863 xyz\N\N
2864 ** Failers
2865 xyz\N
2866
2867 /^a?b?/+
2868 xyz
2869 xyzabc
2870 ** Failers
2871 xyzabc\N
2872 xyzabc\N\N
2873 xyz\N\N
2874 xyz\N
2875
2876 /^(?<name>a|b\g<name>c)/
2877 aaaa
2878 bacxxx
2879 bbaccxxx
2880 bbbacccxx
2881
2882 /^(?<name>a|b\g'name'c)/
2883 aaaa
2884 bacxxx
2885 bbaccxxx
2886 bbbacccxx
2887
2888 /^(a|b\g<1>c)/
2889 aaaa
2890 bacxxx
2891 bbaccxxx
2892 bbbacccxx
2893
2894 /^(a|b\g'1'c)/
2895 aaaa
2896 bacxxx
2897 bbaccxxx
2898 bbbacccxx
2899
2900 /^(a|b\g'-1'c)/
2901 aaaa
2902 bacxxx
2903 bbaccxxx
2904 bbbacccxx
2905
2906 /(^(a|b\g<-1>c))/
2907 aaaa
2908 bacxxx
2909 bbaccxxx
2910 bbbacccxx
2911
2912 /(?-i:\g<name>)(?i:(?<name>a))/
2913 XaaX
2914 XAAX
2915
2916 /(?i:\g<name>)(?-i:(?<name>a))/
2917 XaaX
2918 ** Failers
2919 XAAX
2920
2921 /(?-i:\g<+1>)(?i:(a))/
2922 XaaX
2923 XAAX
2924
2925 /(?=(?<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>\})\}))\{/
2926
2927 /(?<n>a|b|c)\g<n>*/
2928 abc
2929 accccbbb
2930
2931 /^X(?7)(a)(?|(b)|(q)(r)(s))(c)(d)(Y)/
2932 XYabcdY
2933
2934 /(?<=b(?1)|zzz)(a)/
2935 xbaax
2936 xzzzax
2937
2938 /(a)(?<=b\1)/
2939
2940 /(a)(?<=b+(?1))/
2941
2942 /(a+)(?<=b(?1))/
2943
2944 /(a(?<=b(?1)))/
2945
2946 /(?<=b(?1))xyz/
2947
2948 /(?<=b(?1))xyz(b+)pqrstuvew/
2949
2950 /(a|bc)\1/SI
2951
2952 /(a|bc)\1{2,3}/SI
2953
2954 /(a|bc)(?1)/SI
2955
2956 /(a|b\1)(a|b\1)/SI
2957
2958 /(a|b\1){2}/SI
2959
2960 /(a|bbbb\1)(a|bbbb\1)/SI
2961
2962 /(a|bbbb\1){2}/SI
2963
2964 /^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
2965
2966 / (?: [\040\t] | \(
2967 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2968 \) )* # optional leading comment
2969 (?: (?:
2970 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2971 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2972 |
2973 " (?: # opening quote...
2974 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
2975 | # or
2976 \\ [^\x80-\xff] # Escaped something (something != CR)
2977 )* " # closing quote
2978 ) # initial word
2979 (?: (?: [\040\t] | \(
2980 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2981 \) )* \. (?: [\040\t] | \(
2982 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2983 \) )* (?:
2984 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2985 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
2986 |
2987 " (?: # opening quote...
2988 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
2989 | # or
2990 \\ [^\x80-\xff] # Escaped something (something != CR)
2991 )* " # closing quote
2992 ) )* # further okay, if led by a period
2993 (?: [\040\t] | \(
2994 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2995 \) )* @ (?: [\040\t] | \(
2996 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
2997 \) )* (?:
2998 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
2999 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3000 | \[ # [
3001 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
3002 \] # ]
3003 ) # initial subdomain
3004 (?: #
3005 (?: [\040\t] | \(
3006 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3007 \) )* \. # if led by a period...
3008 (?: [\040\t] | \(
3009 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3010 \) )* (?:
3011 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3012 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3013 | \[ # [
3014 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
3015 \] # ]
3016 ) # ...further okay
3017 )*
3018 # address
3019 | # or
3020 (?:
3021 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3022 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3023 |
3024 " (?: # opening quote...
3025 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
3026 | # or
3027 \\ [^\x80-\xff] # Escaped something (something != CR)
3028 )* " # closing quote
3029 ) # one word, optionally followed by....
3030 (?:
3031 [^()<>@,;:".\\\[\]\x80-\xff\000-\010\012-\037] | # atom and space parts, or...
3032 \(
3033 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3034 \) | # comments, or...
3035
3036 " (?: # opening quote...
3037 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
3038 | # or
3039 \\ [^\x80-\xff] # Escaped something (something != CR)
3040 )* " # closing quote
3041 # quoted strings
3042 )*
3043 < (?: [\040\t] | \(
3044 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3045 \) )* # leading <
3046 (?: @ (?: [\040\t] | \(
3047 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
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 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
3053 \] # ]
3054 ) # initial subdomain
3055 (?: #
3056 (?: [\040\t] | \(
3057 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3058 \) )* \. # if led by a period...
3059 (?: [\040\t] | \(
3060 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3061 \) )* (?:
3062 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3063 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3064 | \[ # [
3065 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
3066 \] # ]
3067 ) # ...further okay
3068 )*
3069
3070 (?: (?: [\040\t] | \(
3071 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
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 )* # further okay, if led by comma
3098 : # closing colon
3099 (?: [\040\t] | \(
3100 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3101 \) )* )? # optional route
3102 (?:
3103 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3104 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3105 |
3106 " (?: # opening quote...
3107 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
3108 | # or
3109 \\ [^\x80-\xff] # Escaped something (something != CR)
3110 )* " # closing quote
3111 ) # initial word
3112 (?: (?: [\040\t] | \(
3113 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3114 \) )* \. (?: [\040\t] | \(
3115 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3116 \) )* (?:
3117 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3118 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3119 |
3120 " (?: # opening quote...
3121 [^\\\x80-\xff\n\015"] # Anything except backslash and quote
3122 | # or
3123 \\ [^\x80-\xff] # Escaped something (something != CR)
3124 )* " # closing quote
3125 ) )* # further okay, if led by a period
3126 (?: [\040\t] | \(
3127 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3128 \) )* @ (?: [\040\t] | \(
3129 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3130 \) )* (?:
3131 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3132 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3133 | \[ # [
3134 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
3135 \] # ]
3136 ) # initial subdomain
3137 (?: #
3138 (?: [\040\t] | \(
3139 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3140 \) )* \. # if led by a period...
3141 (?: [\040\t] | \(
3142 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3143 \) )* (?:
3144 [^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]+ # some number of atom characters...
3145 (?![^(\040)<>@,;:".\\\[\]\000-\037\x80-\xff]) # ..not followed by something that could be part of an atom
3146 | \[ # [
3147 (?: [^\\\x80-\xff\n\015\[\]] | \\ [^\x80-\xff] )* # stuff
3148 \] # ]
3149 ) # ...further okay
3150 )*
3151 # address spec
3152 (?: [\040\t] | \(
3153 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3154 \) )* > # trailing >
3155 # name and address
3156 ) (?: [\040\t] | \(
3157 (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] | \( (?: [^\\\x80-\xff\n\015()] | \\ [^\x80-\xff] )* \) )*
3158 \) )* # optional trailing comment
3159 /xSI
3160
3161 /<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
3162
3163 "(?>.*/)foo"SI
3164
3165 /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /xSI
3166
3167 /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI
3168
3169 /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI
3170
3171 /<a[\s]+href[\s]*=[\s]* # find <a href=
3172 ([\"\'])? # find single or double quote
3173 (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching
3174 # quote, otherwise match up to next space
3175 /isxSI
3176
3177 /^(?!:) # colon disallowed at start
3178 (?: # start of item
3179 (?: [0-9a-f]{1,4} | # 1-4 hex digits or
3180 (?(1)0 | () ) ) # if null previously matched, fail; else null
3181 : # followed by colon
3182 ){1,7} # end item; 1-7 of them required
3183 [0-9a-f]{1,4} $ # final hex number at end of string
3184 (?(1)|.) # check that there was an empty component
3185 /xiIS
3186
3187 /(?|(?<a>A)|(?<a>B))/I
3188 AB\Ca
3189 BA\Ca
3190
3191 /(?|(?<a>A)|(?<b>B))/
3192
3193 /(?:a(?<quote> (?<apostrophe>')|(?<realquote>")) |
3194 b(?<quote> (?<apostrophe>')|(?<realquote>")) )
3195 (?('quote')[a-z]+|[0-9]+)/JIx
3196 a"aaaaa
3197 b"aaaaa
3198 ** Failers
3199 b"11111
3200 a"11111
3201
3202 /^(?|(a)(b)(c)(?<D>d)|(?<D>e)) (?('D')X|Y)/JDZx
3203 abcdX
3204 eX
3205 ** Failers
3206 abcdY
3207 ey
3208
3209 /(?<A>a) (b)(c) (?<A>d (?(R&A)$ | (?4)) )/JDZx
3210 abcdd
3211 ** Failers
3212 abcdde
3213
3214 /abcd*/
3215 xxxxabcd\P
3216 xxxxabcd\P\P
3217
3218 /abcd*/i
3219 xxxxabcd\P
3220 xxxxabcd\P\P
3221 XXXXABCD\P
3222 XXXXABCD\P\P
3223
3224 /abc\d*/
3225 xxxxabc1\P
3226 xxxxabc1\P\P
3227
3228 /(a)bc\1*/
3229 xxxxabca\P
3230 xxxxabca\P\P
3231
3232 /abc[de]*/
3233 xxxxabcde\P
3234 xxxxabcde\P\P
3235
3236 /-- This is not in the Perl >= 5.10 test because Perl seems currently to be
3237 broken and not behaving as specified in that it *does* bumpalong after
3238 hitting (*COMMIT). --/
3239
3240 /(?1)(A(*COMMIT)|B)D/
3241 ABD
3242 XABD
3243 BAD
3244 ABXABD
3245 ** Failers
3246 ABX
3247 BAXBAD
3248
3249 /(\3)(\1)(a)/<JS>
3250 cat
3251
3252 /(\3)(\1)(a)/SI<JS>
3253 cat
3254
3255 /(\3)(\1)(a)/SI
3256 cat
3257
3258 /i(?(DEFINE)(?<s>a))/SI
3259 i
3260
3261 /()i(?(1)a)/SI
3262 ia
3263
3264 /(?i)a(?-i)b|c/BZ
3265 XabX
3266 XAbX
3267 CcC
3268 ** Failers
3269 XABX
3270
3271 /(?i)a(?s)b|c/BZ
3272
3273 /(?i)a(?s-i)b|c/BZ
3274
3275 /^(ab(c\1)d|x){2}$/BZ
3276 xabcxd
3277
3278 /^(?&t)*+(?(DEFINE)(?<t>.))$/BZ
3279
3280 /^(?&t)*(?(DEFINE)(?<t>.))$/BZ
3281
3282 / -- The first four of these are not in the Perl >= 5.10 test because Perl
3283 documents that the use of \K in assertions is "not well defined". The
3284 last is here because Perl gives the match as "b" rather than "ab". I
3285 believe this to be a Perl bug. --/
3286
3287 /(?=a\Kb)ab/
3288 ab
3289
3290 /(?!a\Kb)ac/
3291 ac
3292
3293 /^abc(?<=b\Kc)d/
3294 abcd
3295
3296 /^abc(?<!b\Kq)d/
3297 abcd
3298
3299 /(?>a\Kb)z|(ab)/
3300 ab
3301
3302 /----------------------/
3303
3304 /(?P<L1>(?P<L2>0|)|(?P>L2)(?P>L1))/
3305
3306 /abc(*MARK:)pqr/
3307
3308 /abc(*:)pqr/
3309
3310 /abc(*FAIL:123)xyz/
3311
3312 /--- This should, and does, fail. In Perl, it does not, which I think is a
3313 bug because replacing the B in the pattern by (B|D) does make it fail. ---/
3314
3315 /A(*COMMIT)B/+K
3316 ACABX
3317
3318 /--- These should be different, but in Perl 5.11 are not, which I think
3319 is a bug in Perl. ---/
3320
3321 /A(*THEN)B|A(*THEN)C/K
3322 AC
3323
3324 /A(*PRUNE)B|A(*PRUNE)C/K
3325 AC
3326
3327 /--- A whole lot of tests of verbs with arguments are here rather than in test
3328 11 because Perl doesn't seem to follow its specification entirely
3329 correctly. ---/
3330
3331 /--- Perl 5.11 sets $REGERROR on the AC failure case here; PCRE does not. It is
3332 not clear how Perl defines "involved in the failure of the match". ---/
3333
3334 /^(A(*THEN:A)B|C(*THEN:B)D)/K
3335 AB
3336 CD
3337 ** Failers
3338 AC
3339 CB
3340
3341 /--- Check the use of names for success and failure. PCRE doesn't show these
3342 names for success, though Perl does, contrary to its spec. ---/
3343
3344 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/K
3345 AB
3346 CD
3347 ** Failers
3348 AC
3349 CB
3350
3351 /--- An empty name does not pass back an empty string. It is the same as if no
3352 name were given. ---/
3353
3354 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/K
3355 AB
3356 CD
3357
3358 /--- PRUNE goes to next bumpalong; COMMIT does not. ---/
3359
3360 /A(*PRUNE:A)B/K
3361 ACAB
3362
3363 /(*MARK:A)(*PRUNE:B)(C|X)/KS
3364 C
3365 D
3366
3367 /(*MARK:A)(*PRUNE:B)(C|X)/KSS
3368 C
3369 D
3370
3371 /(*MARK:A)(*THEN:B)(C|X)/KS
3372 C
3373 D
3374
3375 /(*MARK:A)(*THEN:B)(C|X)/KSS
3376 C
3377 D
3378
3379 /--- This should fail, as the skip causes a bump to offset 3 (the skip) ---/
3380
3381 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xK
3382 AAAC
3383
3384 /--- Same --/
3385
3386 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xK
3387 AAAC
3388
3389 /--- This should fail; the SKIP advances by one, but when we get to AC, the
3390 PRUNE kills it. ---/
3391
3392 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xK
3393 AAAC
3394
3395 /A(*:A)A+(*SKIP)(B|Z) | AC/xK
3396 AAAC
3397
3398 /--- This should fail, as a null name is the same as no name ---/
3399
3400 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xK
3401 AAAC
3402
3403 /--- This fails in PCRE, and I think that is in accordance with Perl's
3404 documentation, though in Perl it succeeds. ---/
3405
3406 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xK
3407 AAAC
3408
3409 /--- Mark names can be duplicated ---/
3410
3411 /A(*:A)B|X(*:A)Y/K
3412 AABC
3413 XXYZ
3414
3415 /^A(*:A)B|^X(*:A)Y/K
3416 ** Failers
3417 XAQQ
3418
3419 /--- A check on what happens after hitting a mark and them bumping along to
3420 something that does not even start. Perl reports tags after the failures here,
3421 though it does not when the individual letters are made into something
3422 more complicated. ---/
3423
3424 /A(*:A)B|XX(*:B)Y/K
3425 AABC
3426 XXYZ
3427 ** Failers
3428 XAQQ
3429 XAQQXZZ
3430 AXQQQ
3431 AXXQQQ
3432
3433 /--- COMMIT at the start of a pattern should be the same as an anchor. Perl
3434 optimizations defeat this. So does the PCRE optimization unless we disable it
3435 with \Y. ---/
3436
3437 /(*COMMIT)ABC/
3438 ABCDEFG
3439 ** Failers
3440 DEFGABC\Y
3441
3442 /--- Repeat some tests with added studying. ---/
3443
3444 /A(*COMMIT)B/+KS
3445 ACABX
3446
3447 /A(*THEN)B|A(*THEN)C/KS
3448 AC
3449
3450 /A(*PRUNE)B|A(*PRUNE)C/KS
3451 AC
3452
3453 /^(A(*THEN:A)B|C(*THEN:B)D)/KS
3454 AB
3455 CD
3456 ** Failers
3457 AC
3458 CB
3459
3460 /^(A(*PRUNE:A)B|C(*PRUNE:B)D)/KS
3461 AB
3462 CD
3463 ** Failers
3464 AC
3465 CB
3466
3467 /^(A(*PRUNE:)B|C(*PRUNE:B)D)/KS
3468 AB
3469 CD
3470
3471 /A(*PRUNE:A)B/KS
3472 ACAB
3473
3474 /(*MARK:A)(*PRUNE:B)(C|X)/KS
3475 C
3476 D
3477
3478 /(*MARK:A)(*THEN:B)(C|X)/KS
3479 C
3480 D
3481
3482 /A(*MARK:A)A+(*SKIP)(B|Z) | AC/xKS
3483 AAAC
3484
3485 /A(*MARK:A)A+(*MARK:B)(*SKIP:B)(B|Z) | AC/xKS
3486 AAAC
3487
3488 /A(*PRUNE:A)A+(*SKIP:A)(B|Z) | AC/xKS
3489 AAAC
3490
3491 /A(*:A)A+(*SKIP)(B|Z) | AC/xKS
3492 AAAC
3493
3494 /A(*MARK:A)A+(*SKIP:)(B|Z) | AC/xKS
3495 AAAC
3496
3497 /A(*MARK:A)A+(*SKIP:B)(B|Z) | AAC/xKS
3498 AAAC
3499
3500 /A(*:A)B|XX(*:B)Y/KS
3501 AABC
3502 XXYZ
3503 ** Failers
3504 XAQQ
3505 XAQQXZZ
3506 AXQQQ
3507 AXXQQQ
3508
3509 /(*COMMIT)ABC/
3510 ABCDEFG
3511 ** Failers
3512 DEFGABC\Y
3513
3514 /^(ab (c+(*THEN)cd) | xyz)/x
3515 abcccd
3516
3517 /^(ab (c+(*PRUNE)cd) | xyz)/x
3518 abcccd
3519
3520 /^(ab (c+(*FAIL)cd) | xyz)/x
3521 abcccd
3522
3523 /--- Perl 5.11 gets some of these wrong ---/
3524
3525 /(?>.(*ACCEPT))*?5/
3526 abcde
3527
3528 /(.(*ACCEPT))*?5/
3529 abcde
3530
3531 /(.(*ACCEPT))5/
3532 abcde
3533
3534 /(.(*ACCEPT))*5/
3535 abcde
3536
3537 /A\NB./BZ
3538 ACBD
3539 *** Failers
3540 A\nB
3541 ACB\n
3542
3543 /A\NB./sBZ
3544 ACBD
3545 ACB\n
3546 *** Failers
3547 A\nB
3548
3549 /A\NB/<crlf>
3550 A\nB
3551 A\rB
3552 ** Failers
3553 A\r\nB
3554
3555 /\R+b/BZ
3556
3557 /\R+\n/BZ
3558
3559 /\R+\d/BZ
3560
3561 /\d*\R/BZ
3562
3563 /\s*\R/BZ
3564
3565 /-- Perl treats this one differently, not failing the second string. I believe
3566 that is a bug in Perl. --/
3567
3568 /^((abc|abcx)(*THEN)y|abcd)/
3569 abcd
3570 *** Failers
3571 abcxy
3572
3573 /(?<=abc)def/
3574 abc\P\P
3575
3576 /abc$/
3577 abc
3578 abc\P
3579 abc\P\P
3580
3581 /abc$/m
3582 abc
3583 abc\n
3584 abc\P\P
3585 abc\n\P\P
3586 abc\P
3587 abc\n\P
3588
3589 /abc\z/
3590 abc
3591 abc\P
3592 abc\P\P
3593
3594 /abc\Z/
3595 abc
3596 abc\P
3597 abc\P\P
3598
3599 /abc\b/
3600 abc
3601 abc\P
3602 abc\P\P
3603
3604 /abc\B/
3605 abc
3606 abc\P
3607 abc\P\P
3608
3609 /.+/
3610 abc\>0
3611 abc\>1
3612 abc\>2
3613 abc\>3
3614 abc\>4
3615 abc\>-4
3616
3617 /^\cģ/
3618
3619 /(?P<abn>(?P=abn)xxx)/BZ
3620
3621 /(a\1z)/BZ
3622
3623 /(?P<abn>(?P=abn)(?<badstufxxx)/BZ
3624
3625 /(?P<abn>(?P=axn)xxx)/BZ
3626
3627 /(?P<abn>(?P=axn)xxx)(?<axn>yy)/BZ
3628
3629 /-- These tests are here because Perl gets the first one wrong. --/
3630
3631 /(\R*)(.)/s
3632 \r\n
3633 \r\r\n\n\r
3634 \r\r\n\n\r\n
3635
3636 /(\R)*(.)/s
3637 \r\n
3638 \r\r\n\n\r
3639 \r\r\n\n\r\n
3640
3641 /((?>\r\n|\n|\x0b|\f|\r|\x85)*)(.)/s
3642 \r\n
3643 \r\r\n\n\r
3644 \r\r\n\n\r\n
3645
3646 /-- --/
3647
3648 /^abc$/BZ
3649
3650 /^abc$/BZm
3651
3652 /^(a)*+(\w)/S
3653 aaaaX
3654 ** Failers
3655 aaaa
3656
3657 /^(?:a)*+(\w)/S
3658 aaaaX
3659 ** Failers
3660 aaaa
3661
3662 /(a)++1234/SDZ
3663
3664 /([abc])++1234/SI
3665
3666 /(?<=(abc)+)X/
3667
3668 /(^ab)/I
3669
3670 /(^ab)++/I
3671
3672 /(^ab|^)+/I
3673
3674 /(^ab|^)++/I
3675
3676 /(?:^ab)/I
3677
3678 /(?:^ab)++/I
3679
3680 /(?:^ab|^)+/I
3681
3682 /(?:^ab|^)++/I
3683
3684 /(.*ab)/I
3685
3686 /(.*ab)++/I
3687
3688 /(.*ab|.*)+/I
3689
3690 /(.*ab|.*)++/I
3691
3692 /(?:.*ab)/I
3693
3694 /(?:.*ab)++/I
3695
3696 /(?:.*ab|.*)+/I
3697
3698 /(?:.*ab|.*)++/I
3699
3700 /(?=a)[bcd]/I
3701
3702 /((?=a))[bcd]/I
3703
3704 /((?=a))+[bcd]/I
3705
3706 /((?=a))++[bcd]/I
3707
3708 /(?=a+)[bcd]/iI
3709
3710 /(?=a+?)[bcd]/iI
3711
3712 /(?=a++)[bcd]/iI
3713
3714 /(?=a{3})[bcd]/iI
3715
3716 /(abc)\1+/S
3717
3718 /-- Perl doesn't get these right IMO (the 3rd is PCRE-specific) --/
3719
3720 /(?1)(?:(b(*ACCEPT))){0}/
3721 b
3722
3723 /(?1)(?:(b(*ACCEPT))){0}c/
3724 bc
3725 ** Failers
3726 b
3727
3728 /(?1)(?:((*ACCEPT))){0}c/
3729 c
3730 c\N
3731
3732 /^.*?(?(?=a)a|b(*THEN)c)/
3733 ba
3734
3735 /^.*?(?(?=a)a|bc)/
3736 ba
3737
3738 /-- --/
3739
3740 /-- These studied versions are here because they are not Perl-compatible; the
3741 studying means the mark is not seen. --/
3742
3743 /(*MARK:A)(*SKIP:B)(C|X)/KS
3744 C
3745 D
3746
3747 /(*:A)A+(*SKIP:A)(B|Z)/KS
3748 AAAC
3749
3750 /-- --/
3751
3752 "(?=a*(*ACCEPT)b)c"
3753 c
3754 c\N
3755
3756 /(?1)c(?(DEFINE)((*ACCEPT)b))/
3757 c
3758 c\N
3759
3760 /(?>(*ACCEPT)b)c/
3761 c
3762 c\N
3763
3764 /(?:(?>(a)))+a%/++
3765 %aa%
3766
3767 /(a)b|ac/++
3768 ac\O3
3769
3770 /(?(DEFINE)(a(?2)|b)(b(?1)|a))(?:(?1)|(?2))/SI
3771
3772 /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI
3773
3774 /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI
3775
3776 /(abc)(?1)/SI
3777
3778 /^(?>a)++/
3779 aa\M
3780 aaaaaaaaa\M
3781
3782 /(a)(?1)++/
3783 aa\M
3784 aaaaaaaaa\M
3785
3786 /(?:(foo)|(bar)|(baz))X/=
3787 bazfooX
3788 foobazbarX
3789 barfooX
3790 bazX
3791 foobarbazX
3792 bazfooX\O0
3793 bazfooX\O2
3794 bazfooX\O4
3795 bazfooX\O6
3796 bazfooX\O8
3797 bazfooX\O10
3798
3799 /-- End of testinput2 --/

Properties

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

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12