/[pcre]/code/branches/pcre16/testdata/testinput2
ViewVC logotype

Contents of /code/branches/pcre16/testdata/testinput2

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.5