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

Contents of /code/trunk/testdata/testinput2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 500 - (show annotations) (download)
Sat Mar 6 19:00:29 2010 UTC (4 years, 8 months ago) by ph10
File size: 61838 byte(s)
Fix bugs with \K in atomic groups, subroutines, and assertions.

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

Properties

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

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12