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

Contents of /code/trunk/testdata/testoutput3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 47 - (hide annotations) (download)
Sat Feb 24 21:39:29 2007 UTC (7 years, 5 months ago) by nigel
File size: 28412 byte(s)
Load pcre-3.2 into code/trunk.

1 nigel 47 PCRE version 3.2 12-May-2000
2 nigel 41
3     /(?<!bar)foo/
4     foo
5     0: foo
6     catfood
7     0: foo
8     arfootle
9     0: foo
10     rfoosh
11     0: foo
12     *** Failers
13     No match
14     barfoo
15     No match
16     towbarfoo
17     No match
18    
19     /\w{3}(?<!bar)foo/
20     catfood
21     0: catfoo
22     *** Failers
23     No match
24     foo
25     No match
26     barfoo
27     No match
28     towbarfoo
29     No match
30    
31     /(?<=(foo)a)bar/
32     fooabar
33     0: bar
34     1: foo
35     *** Failers
36     No match
37     bar
38     No match
39     foobbar
40     No match
41    
42     /\Aabc\z/m
43     abc
44     0: abc
45     *** Failers
46     No match
47     abc\n
48     No match
49     qqq\nabc
50     No match
51     abc\nzzz
52     No match
53     qqq\nabc\nzzz
54     No match
55    
56     "(?>.*/)foo"
57     /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/it/you/see/
58     No match
59    
60     "(?>.*/)foo"
61     /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
62     0: /this/is/a/very/long/line/in/deed/with/very/many/slashes/in/and/foo
63    
64     /(?>(\.\d\d[1-9]?))\d+/
65     1.230003938
66     0: .230003938
67     1: .23
68     1.875000282
69     0: .875000282
70     1: .875
71     *** Failers
72     No match
73     1.235
74     No match
75    
76     /^((?>\w+)|(?>\s+))*$/
77     now is the time for all good men to come to the aid of the party
78     0: now is the time for all good men to come to the aid of the party
79     1: party
80     *** Failers
81     No match
82     this is not a line with only words and spaces!
83     No match
84    
85     /(\d+)(\w)/
86     12345a
87     0: 12345a
88     1: 12345
89     2: a
90     12345+
91     0: 12345
92     1: 1234
93     2: 5
94    
95     /((?>\d+))(\w)/
96     12345a
97     0: 12345a
98     1: 12345
99     2: a
100     *** Failers
101     No match
102     12345+
103     No match
104    
105     /(?>a+)b/
106     aaab
107     0: aaab
108    
109     /((?>a+)b)/
110     aaab
111     0: aaab
112     1: aaab
113    
114     /(?>(a+))b/
115     aaab
116     0: aaab
117     1: aaa
118    
119     /(?>b)+/
120     aaabbbccc
121     0: bbb
122    
123     /(?>a+|b+|c+)*c/
124     aaabbbbccccd
125     0: aaabbbbc
126    
127     /((?>[^()]+)|\([^()]*\))+/
128     ((abc(ade)ufh()()x
129     0: abc(ade)ufh()()x
130     1: x
131    
132     /\(((?>[^()]+)|\([^()]+\))+\)/
133     (abc)
134     0: (abc)
135     1: abc
136     (abc(def)xyz)
137     0: (abc(def)xyz)
138     1: xyz
139     *** Failers
140     No match
141     ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
142     No match
143    
144     /a(?-i)b/i
145     ab
146     0: ab
147     *** Failers
148     No match
149     Ab
150     No match
151     aB
152     No match
153     AB
154     No match
155    
156     /(a (?x)b c)d e/
157     a bcd e
158     0: a bcd e
159     1: a bc
160     *** Failers
161     No match
162     a b cd e
163     No match
164     abcd e
165     No match
166     a bcde
167     No match
168    
169     /(a b(?x)c d (?-x)e f)/
170     a bcde f
171     0: a bcde f
172     1: a bcde f
173     *** Failers
174     No match
175     abcdef
176     No match
177    
178     /(a(?i)b)c/
179     abc
180     0: abc
181     1: ab
182     aBc
183     0: aBc
184     1: aB
185     *** Failers
186     No match
187     abC
188     No match
189     aBC
190     No match
191     Abc
192     No match
193     ABc
194     No match
195     ABC
196     No match
197     AbC
198     No match
199    
200     /a(?i:b)c/
201     abc
202     0: abc
203     aBc
204     0: aBc
205     *** Failers
206     No match
207     ABC
208     No match
209     abC
210     No match
211     aBC
212     No match
213    
214     /a(?i:b)*c/
215     aBc
216     0: aBc
217     aBBc
218     0: aBBc
219     *** Failers
220     No match
221     aBC
222     No match
223     aBBC
224     No match
225    
226     /a(?=b(?i)c)\w\wd/
227     abcd
228     0: abcd
229     abCd
230     0: abCd
231     *** Failers
232     No match
233     aBCd
234     No match
235     abcD
236     No match
237    
238     /(?s-i:more.*than).*million/i
239     more than million
240     0: more than million
241     more than MILLION
242     0: more than MILLION
243     more \n than Million
244     0: more \x0a than Million
245     *** Failers
246     No match
247     MORE THAN MILLION
248     No match
249     more \n than \n million
250     No match
251    
252     /(?:(?s-i)more.*than).*million/i
253     more than million
254     0: more than million
255     more than MILLION
256     0: more than MILLION
257     more \n than Million
258     0: more \x0a than Million
259     *** Failers
260     No match
261     MORE THAN MILLION
262     No match
263     more \n than \n million
264     No match
265    
266     /(?>a(?i)b+)+c/
267     abc
268     0: abc
269     aBbc
270     0: aBbc
271     aBBc
272     0: aBBc
273     *** Failers
274     No match
275     Abc
276     No match
277     abAb
278     No match
279     abbC
280     No match
281    
282     /(?=a(?i)b)\w\wc/
283     abc
284     0: abc
285     aBc
286     0: aBc
287     *** Failers
288     No match
289     Ab
290     No match
291     abC
292     No match
293     aBC
294     No match
295    
296     /(?<=a(?i)b)(\w\w)c/
297     abxxc
298     0: xxc
299     1: xx
300     aBxxc
301     0: xxc
302     1: xx
303     *** Failers
304     No match
305     Abxxc
306     No match
307     ABxxc
308     No match
309     abxxC
310     No match
311    
312     /(?:(a)|b)(?(1)A|B)/
313     aA
314     0: aA
315     1: a
316     bB
317     0: bB
318     *** Failers
319     No match
320     aB
321     No match
322     bA
323     No match
324    
325     /^(a)?(?(1)a|b)+$/
326     aa
327     0: aa
328     1: a
329     b
330     0: b
331     bb
332     0: bb
333     *** Failers
334     No match
335     ab
336     No match
337    
338     /^(?(?=abc)\w{3}:|\d\d)$/
339     abc:
340     0: abc:
341     12
342     0: 12
343     *** Failers
344     No match
345     123
346     No match
347     xyz
348     No match
349    
350     /^(?(?!abc)\d\d|\w{3}:)$/
351     abc:
352     0: abc:
353     12
354     0: 12
355     *** Failers
356     No match
357     123
358     No match
359     xyz
360     No match
361    
362     /(?(?<=foo)bar|cat)/
363     foobar
364     0: bar
365     cat
366     0: cat
367     fcat
368     0: cat
369     focat
370     0: cat
371     *** Failers
372     No match
373     foocat
374     No match
375    
376     /(?(?<!foo)cat|bar)/
377     foobar
378     0: bar
379     cat
380     0: cat
381     fcat
382     0: cat
383     focat
384     0: cat
385     *** Failers
386     No match
387     foocat
388     No match
389    
390     /( \( )? [^()]+ (?(1) \) |) /x
391     abcd
392     0: abcd
393     (abcd)
394     0: (abcd)
395     1: (
396     the quick (abcd) fox
397     0: the quick
398     (abcd
399     0: abcd
400    
401     /( \( )? [^()]+ (?(1) \) ) /x
402     abcd
403     0: abcd
404     (abcd)
405     0: (abcd)
406     1: (
407     the quick (abcd) fox
408     0: the quick
409     (abcd
410     0: abcd
411    
412     /^(?(2)a|(1)(2))+$/
413     12
414     0: 12
415     1: 1
416     2: 2
417     12a
418     0: 12a
419     1: 1
420     2: 2
421     12aa
422     0: 12aa
423     1: 1
424     2: 2
425     *** Failers
426     No match
427     1234
428     No match
429    
430     /((?i)blah)\s+\1/
431     blah blah
432     0: blah blah
433     1: blah
434     BLAH BLAH
435     0: BLAH BLAH
436     1: BLAH
437     Blah Blah
438     0: Blah Blah
439     1: Blah
440     blaH blaH
441     0: blaH blaH
442     1: blaH
443     *** Failers
444     No match
445     blah BLAH
446     No match
447     Blah blah
448     No match
449     blaH blah
450     No match
451    
452     /((?i)blah)\s+(?i:\1)/
453     blah blah
454     0: blah blah
455     1: blah
456     BLAH BLAH
457     0: BLAH BLAH
458     1: BLAH
459     Blah Blah
460     0: Blah Blah
461     1: Blah
462     blaH blaH
463     0: blaH blaH
464     1: blaH
465     blah BLAH
466     0: blah BLAH
467     1: blah
468     Blah blah
469     0: Blah blah
470     1: Blah
471     blaH blah
472     0: blaH blah
473     1: blaH
474    
475     /(?>a*)*/
476     a
477     0: a
478     aa
479     0: aa
480     aaaa
481     0: aaaa
482    
483     /(abc|)+/
484     abc
485     0: abc
486     1:
487     abcabc
488     0: abcabc
489     1:
490     abcabcabc
491     0: abcabcabc
492     1:
493     xyz
494     0:
495     1:
496    
497     /([a]*)*/
498     a
499     0: a
500     1:
501     aaaaa
502     0: aaaaa
503     1:
504    
505     /([ab]*)*/
506     a
507     0: a
508     1:
509     b
510     0: b
511     1:
512     ababab
513     0: ababab
514     1:
515     aaaabcde
516     0: aaaab
517     1:
518     bbbb
519     0: bbbb
520     1:
521    
522     /([^a]*)*/
523     b
524     0: b
525     1:
526     bbbb
527     0: bbbb
528     1:
529     aaa
530     0:
531     1:
532    
533     /([^ab]*)*/
534     cccc
535     0: cccc
536     1:
537     abab
538     0:
539     1:
540    
541     /([a]*?)*/
542     a
543     0:
544     1:
545     aaaa
546     0:
547     1:
548    
549     /([ab]*?)*/
550     a
551     0:
552     1:
553     b
554     0:
555     1:
556     abab
557     0:
558     1:
559     baba
560     0:
561     1:
562    
563     /([^a]*?)*/
564     b
565     0:
566     1:
567     bbbb
568     0:
569     1:
570     aaa
571     0:
572     1:
573    
574     /([^ab]*?)*/
575     c
576     0:
577     1:
578     cccc
579     0:
580     1:
581     baba
582     0:
583     1:
584    
585     /(?>a*)*/
586     a
587     0: a
588     aaabcde
589     0: aaa
590    
591     /((?>a*))*/
592     aaaaa
593     0: aaaaa
594     1:
595     aabbaa
596     0: aa
597     1:
598    
599     /((?>a*?))*/
600     aaaaa
601     0:
602     1:
603     aabbaa
604     0:
605     1:
606    
607     /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /x
608     12-sep-98
609     0: 12-sep-98
610     12-09-98
611     0: 12-09-98
612     *** Failers
613     No match
614     sep-12-98
615     No match
616    
617     /(?<=(foo))bar\1/
618     foobarfoo
619     0: barfoo
620     1: foo
621     foobarfootling
622     0: barfoo
623     1: foo
624     *** Failers
625     No match
626     foobar
627     No match
628     barfoo
629     No match
630    
631     /(?i:saturday|sunday)/
632     saturday
633     0: saturday
634     sunday
635     0: sunday
636     Saturday
637     0: Saturday
638     Sunday
639     0: Sunday
640     SATURDAY
641     0: SATURDAY
642     SUNDAY
643     0: SUNDAY
644     SunDay
645     0: SunDay
646    
647     /(a(?i)bc|BB)x/
648     abcx
649     0: abcx
650     1: abc
651     aBCx
652     0: aBCx
653     1: aBC
654     bbx
655     0: bbx
656     1: bb
657     BBx
658     0: BBx
659     1: BB
660     *** Failers
661     No match
662     abcX
663     No match
664     aBCX
665     No match
666     bbX
667     No match
668     BBX
669     No match
670    
671     /^([ab](?i)[cd]|[ef])/
672     ac
673     0: ac
674     1: ac
675     aC
676     0: aC
677     1: aC
678     bD
679     0: bD
680     1: bD
681     elephant
682     0: e
683     1: e
684     Europe
685     0: E
686     1: E
687     frog
688     0: f
689     1: f
690     France
691     0: F
692     1: F
693     *** Failers
694     No match
695     Africa
696     No match
697    
698     /^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)/
699     ab
700     0: ab
701     1: ab
702     aBd
703     0: aBd
704     1: aBd
705     xy
706     0: xy
707     1: xy
708     xY
709     0: xY
710     1: xY
711     zebra
712     0: z
713     1: z
714     Zambesi
715     0: Z
716     1: Z
717     *** Failers
718     No match
719     aCD
720     No match
721     XY
722     No match
723    
724     /(?<=foo\n)^bar/m
725     foo\nbar
726     0: bar
727     *** Failers
728     No match
729     bar
730     No match
731     baz\nbar
732     No match
733    
734     /(?<=(?<!foo)bar)baz/
735     barbaz
736     0: baz
737     barbarbaz
738     0: baz
739     koobarbaz
740     0: baz
741     *** Failers
742     No match
743     baz
744     No match
745     foobarbaz
746     No match
747    
748     /The case of aaaaaa is missed out below because I think Perl 5.005_02 gets/
749     /it wrong; it sets $1 to aaa rather than aa. Compare the following test,/
750     No match
751     /where it does set $1 to aa when matching aaaaaa./
752     No match
753    
754     /^(a\1?){4}$/
755     a
756     No match
757     aa
758     No match
759     aaa
760     No match
761     aaaa
762     0: aaaa
763     1: a
764     aaaaa
765     0: aaaaa
766     1: a
767     aaaaaaa
768     0: aaaaaaa
769     1: a
770     aaaaaaaa
771     No match
772     aaaaaaaaa
773     No match
774     aaaaaaaaaa
775     0: aaaaaaaaaa
776     1: aaaa
777     aaaaaaaaaaa
778     No match
779     aaaaaaaaaaaa
780     No match
781     aaaaaaaaaaaaa
782     No match
783     aaaaaaaaaaaaaa
784     No match
785     aaaaaaaaaaaaaaa
786     No match
787     aaaaaaaaaaaaaaaa
788     No match
789    
790     /^(a\1?)(a\1?)(a\2?)(a\3?)$/
791     a
792     No match
793     aa
794     No match
795     aaa
796     No match
797     aaaa
798     0: aaaa
799     1: a
800     2: a
801     3: a
802     4: a
803     aaaaa
804     0: aaaaa
805     1: a
806     2: aa
807     3: a
808     4: a
809     aaaaaa
810     0: aaaaaa
811     1: a
812     2: aa
813     3: a
814     4: aa
815     aaaaaaa
816     0: aaaaaaa
817     1: a
818     2: aa
819     3: aaa
820     4: a
821     aaaaaaaa
822     No match
823     aaaaaaaaa
824     No match
825     aaaaaaaaaa
826     0: aaaaaaaaaa
827     1: a
828     2: aa
829     3: aaa
830     4: aaaa
831     aaaaaaaaaaa
832     No match
833     aaaaaaaaaaaa
834     No match
835     aaaaaaaaaaaaa
836     No match
837     aaaaaaaaaaaaaa
838     No match
839     aaaaaaaaaaaaaaa
840     No match
841     aaaaaaaaaaaaaaaa
842     No match
843    
844     /The following tests are taken from the Perl 5.005 test suite; some of them/
845     /are compatible with 5.004, but I'd rather not have to sort them out./
846     No match
847    
848     /abc/
849     abc
850     0: abc
851     xabcy
852     0: abc
853     ababc
854     0: abc
855     *** Failers
856     No match
857     xbc
858     No match
859     axc
860     No match
861     abx
862     No match
863    
864     /ab*c/
865     abc
866     0: abc
867    
868     /ab*bc/
869     abc
870     0: abc
871     abbc
872     0: abbc
873     abbbbc
874     0: abbbbc
875    
876     /.{1}/
877     abbbbc
878     0: a
879    
880     /.{3,4}/
881     abbbbc
882     0: abbb
883    
884     /ab{0,}bc/
885     abbbbc
886     0: abbbbc
887    
888     /ab+bc/
889     abbc
890     0: abbc
891     *** Failers
892     No match
893     abc
894     No match
895     abq
896     No match
897    
898     /ab{1,}bc/
899    
900     /ab+bc/
901     abbbbc
902     0: abbbbc
903    
904     /ab{1,}bc/
905     abbbbc
906     0: abbbbc
907    
908     /ab{1,3}bc/
909     abbbbc
910     0: abbbbc
911    
912     /ab{3,4}bc/
913     abbbbc
914     0: abbbbc
915    
916     /ab{4,5}bc/
917     *** Failers
918     No match
919     abq
920     No match
921     abbbbc
922     No match
923    
924     /ab?bc/
925     abbc
926     0: abbc
927     abc
928     0: abc
929    
930     /ab{0,1}bc/
931     abc
932     0: abc
933    
934     /ab?bc/
935    
936     /ab?c/
937     abc
938     0: abc
939    
940     /ab{0,1}c/
941     abc
942     0: abc
943    
944     /^abc$/
945     abc
946     0: abc
947     *** Failers
948     No match
949     abbbbc
950     No match
951     abcc
952     No match
953    
954     /^abc/
955     abcc
956     0: abc
957    
958     /^abc$/
959    
960     /abc$/
961     aabc
962     0: abc
963     *** Failers
964     No match
965     aabc
966     0: abc
967     aabcd
968     No match
969    
970     /^/
971     abc
972     0:
973    
974     /$/
975     abc
976     0:
977    
978     /a.c/
979     abc
980     0: abc
981     axc
982     0: axc
983    
984     /a.*c/
985     axyzc
986     0: axyzc
987    
988     /a[bc]d/
989     abd
990     0: abd
991     *** Failers
992     No match
993     axyzd
994     No match
995     abc
996     No match
997    
998     /a[b-d]e/
999     ace
1000     0: ace
1001    
1002     /a[b-d]/
1003     aac
1004     0: ac
1005    
1006     /a[-b]/
1007     a-
1008     0: a-
1009    
1010     /a[b-]/
1011     a-
1012     0: a-
1013    
1014     /a]/
1015     a]
1016     0: a]
1017    
1018     /a[]]b/
1019     a]b
1020     0: a]b
1021    
1022     /a[^bc]d/
1023     aed
1024     0: aed
1025     *** Failers
1026     No match
1027     abd
1028     No match
1029     abd
1030     No match
1031    
1032     /a[^-b]c/
1033     adc
1034     0: adc
1035    
1036     /a[^]b]c/
1037     adc
1038     0: adc
1039     *** Failers
1040     No match
1041     a-c
1042     0: a-c
1043     a]c
1044     No match
1045    
1046     /\ba\b/
1047     a-
1048     0: a
1049     -a
1050     0: a
1051     -a-
1052     0: a
1053    
1054     /\by\b/
1055     *** Failers
1056     No match
1057     xy
1058     No match
1059     yz
1060     No match
1061     xyz
1062     No match
1063    
1064     /\Ba\B/
1065     *** Failers
1066     0: a
1067     a-
1068     No match
1069     -a
1070     No match
1071     -a-
1072     No match
1073    
1074     /\By\b/
1075     xy
1076     0: y
1077    
1078     /\by\B/
1079     yz
1080     0: y
1081    
1082     /\By\B/
1083     xyz
1084     0: y
1085    
1086     /\w/
1087     a
1088     0: a
1089    
1090     /\W/
1091     -
1092     0: -
1093     *** Failers
1094     0: *
1095     -
1096     0: -
1097     a
1098     No match
1099    
1100     /a\sb/
1101     a b
1102     0: a b
1103    
1104     /a\Sb/
1105     a-b
1106     0: a-b
1107     *** Failers
1108     No match
1109     a-b
1110     0: a-b
1111     a b
1112     No match
1113    
1114     /\d/
1115     1
1116     0: 1
1117    
1118     /\D/
1119     -
1120     0: -
1121     *** Failers
1122     0: *
1123     -
1124     0: -
1125     1
1126     No match
1127    
1128     /[\w]/
1129     a
1130     0: a
1131    
1132     /[\W]/
1133     -
1134     0: -
1135     *** Failers
1136     0: *
1137     -
1138     0: -
1139     a
1140     No match
1141    
1142     /a[\s]b/
1143     a b
1144     0: a b
1145    
1146     /a[\S]b/
1147     a-b
1148     0: a-b
1149     *** Failers
1150     No match
1151     a-b
1152     0: a-b
1153     a b
1154     No match
1155    
1156     /[\d]/
1157     1
1158     0: 1
1159    
1160     /[\D]/
1161     -
1162     0: -
1163     *** Failers
1164     0: *
1165     -
1166     0: -
1167     1
1168     No match
1169    
1170     /ab|cd/
1171     abc
1172     0: ab
1173     abcd
1174     0: ab
1175    
1176     /()ef/
1177     def
1178     0: ef
1179     1:
1180    
1181     /$b/
1182    
1183     /a\(b/
1184     a(b
1185     0: a(b
1186    
1187     /a\(*b/
1188     ab
1189     0: ab
1190     a((b
1191     0: a((b
1192    
1193     /a\\b/
1194     a\b
1195     No match
1196    
1197     /((a))/
1198     abc
1199     0: a
1200     1: a
1201     2: a
1202    
1203     /(a)b(c)/
1204     abc
1205     0: abc
1206     1: a
1207     2: c
1208    
1209     /a+b+c/
1210     aabbabc
1211     0: abc
1212    
1213     /a{1,}b{1,}c/
1214     aabbabc
1215     0: abc
1216    
1217     /a.+?c/
1218     abcabc
1219     0: abc
1220    
1221     /(a+|b)*/
1222     ab
1223     0: ab
1224     1: b
1225    
1226     /(a+|b){0,}/
1227     ab
1228     0: ab
1229     1: b
1230    
1231     /(a+|b)+/
1232     ab
1233     0: ab
1234     1: b
1235    
1236     /(a+|b){1,}/
1237     ab
1238     0: ab
1239     1: b
1240    
1241     /(a+|b)?/
1242     ab
1243     0: a
1244     1: a
1245    
1246     /(a+|b){0,1}/
1247     ab
1248     0: a
1249     1: a
1250    
1251     /[^ab]*/
1252     cde
1253     0: cde
1254    
1255     /abc/
1256     *** Failers
1257     No match
1258     b
1259     No match
1260    
1261    
1262     /a*/
1263    
1264    
1265     /([abc])*d/
1266     abbbcd
1267     0: abbbcd
1268     1: c
1269    
1270     /([abc])*bcd/
1271     abcd
1272     0: abcd
1273     1: a
1274    
1275     /a|b|c|d|e/
1276     e
1277     0: e
1278    
1279     /(a|b|c|d|e)f/
1280     ef
1281     0: ef
1282     1: e
1283    
1284     /abcd*efg/
1285     abcdefg
1286     0: abcdefg
1287    
1288     /ab*/
1289     xabyabbbz
1290     0: ab
1291     xayabbbz
1292     0: a
1293    
1294     /(ab|cd)e/
1295     abcde
1296     0: cde
1297     1: cd
1298    
1299     /[abhgefdc]ij/
1300     hij
1301     0: hij
1302    
1303     /^(ab|cd)e/
1304    
1305     /(abc|)ef/
1306     abcdef
1307     0: ef
1308     1:
1309    
1310     /(a|b)c*d/
1311     abcd
1312     0: bcd
1313     1: b
1314    
1315     /(ab|ab*)bc/
1316     abc
1317     0: abc
1318     1: a
1319    
1320     /a([bc]*)c*/
1321     abc
1322     0: abc
1323     1: bc
1324    
1325     /a([bc]*)(c*d)/
1326     abcd
1327     0: abcd
1328     1: bc
1329     2: d
1330    
1331     /a([bc]+)(c*d)/
1332     abcd
1333     0: abcd
1334     1: bc
1335     2: d
1336    
1337     /a([bc]*)(c+d)/
1338     abcd
1339     0: abcd
1340     1: b
1341     2: cd
1342    
1343     /a[bcd]*dcdcde/
1344     adcdcde
1345     0: adcdcde
1346    
1347     /a[bcd]+dcdcde/
1348     *** Failers
1349     No match
1350     abcde
1351     No match
1352     adcdcde
1353     No match
1354    
1355     /(ab|a)b*c/
1356     abc
1357     0: abc
1358     1: ab
1359    
1360     /((a)(b)c)(d)/
1361     abcd
1362     0: abcd
1363     1: abc
1364     2: a
1365     3: b
1366     4: d
1367    
1368     /[a-zA-Z_][a-zA-Z0-9_]*/
1369     alpha
1370     0: alpha
1371    
1372     /^a(bc+|b[eh])g|.h$/
1373     abh
1374     0: bh
1375    
1376     /(bc+d$|ef*g.|h?i(j|k))/
1377     effgz
1378     0: effgz
1379     1: effgz
1380     ij
1381     0: ij
1382     1: ij
1383     2: j
1384     reffgz
1385     0: effgz
1386     1: effgz
1387     *** Failers
1388     No match
1389     effg
1390     No match
1391     bcdd
1392     No match
1393    
1394     /((((((((((a))))))))))/
1395     a
1396     0: a
1397     1: a
1398     2: a
1399     3: a
1400     4: a
1401     5: a
1402     6: a
1403     7: a
1404     8: a
1405     9: a
1406     10: a
1407    
1408     /((((((((((a))))))))))\10/
1409     aa
1410     0: aa
1411     1: a
1412     2: a
1413     3: a
1414     4: a
1415     5: a
1416     6: a
1417     7: a
1418     8: a
1419     9: a
1420     10: a
1421    
1422     /(((((((((a)))))))))/
1423     a
1424     0: a
1425     1: a
1426     2: a
1427     3: a
1428     4: a
1429     5: a
1430     6: a
1431     7: a
1432     8: a
1433     9: a
1434    
1435     /multiple words of text/
1436     *** Failers
1437     No match
1438     aa
1439     No match
1440     uh-uh
1441     No match
1442    
1443     /multiple words/
1444     multiple words, yeah
1445     0: multiple words
1446    
1447     /(.*)c(.*)/
1448     abcde
1449     0: abcde
1450     1: ab
1451     2: de
1452    
1453     /\((.*), (.*)\)/
1454     (a, b)
1455     0: (a, b)
1456     1: a
1457     2: b
1458    
1459     /[k]/
1460    
1461     /abcd/
1462     abcd
1463     0: abcd
1464    
1465     /a(bc)d/
1466     abcd
1467     0: abcd
1468     1: bc
1469    
1470     /a[-]?c/
1471     ac
1472     0: ac
1473    
1474     /(abc)\1/
1475     abcabc
1476     0: abcabc
1477     1: abc
1478    
1479     /([a-c]*)\1/
1480     abcabc
1481     0: abcabc
1482     1: abc
1483    
1484     /(a)|\1/
1485     a
1486     0: a
1487     1: a
1488     *** Failers
1489     0: a
1490     1: a
1491     ab
1492     0: a
1493     1: a
1494     x
1495     No match
1496    
1497     /(([a-c])b*?\2)*/
1498     ababbbcbc
1499     0: ababb
1500     1: bb
1501     2: b
1502    
1503     /(([a-c])b*?\2){3}/
1504     ababbbcbc
1505     0: ababbbcbc
1506     1: cbc
1507     2: c
1508    
1509     /((\3|b)\2(a)x)+/
1510     aaaxabaxbaaxbbax
1511     0: bbax
1512     1: bbax
1513     2: b
1514     3: a
1515    
1516     /((\3|b)\2(a)){2,}/
1517     bbaababbabaaaaabbaaaabba
1518     0: bbaaaabba
1519     1: bba
1520     2: b
1521     3: a
1522    
1523     /abc/i
1524     ABC
1525     0: ABC
1526     XABCY
1527     0: ABC
1528     ABABC
1529     0: ABC
1530     *** Failers
1531     No match
1532     aaxabxbaxbbx
1533     No match
1534     XBC
1535     No match
1536     AXC
1537     No match
1538     ABX
1539     No match
1540    
1541     /ab*c/i
1542     ABC
1543     0: ABC
1544    
1545     /ab*bc/i
1546     ABC
1547     0: ABC
1548     ABBC
1549     0: ABBC
1550    
1551     /ab*?bc/i
1552     ABBBBC
1553     0: ABBBBC
1554    
1555     /ab{0,}?bc/i
1556     ABBBBC
1557     0: ABBBBC
1558    
1559     /ab+?bc/i
1560     ABBC
1561     0: ABBC
1562    
1563     /ab+bc/i
1564     *** Failers
1565     No match
1566     ABC
1567     No match
1568     ABQ
1569     No match
1570    
1571     /ab{1,}bc/i
1572    
1573     /ab+bc/i
1574     ABBBBC
1575     0: ABBBBC
1576    
1577     /ab{1,}?bc/i
1578     ABBBBC
1579     0: ABBBBC
1580    
1581     /ab{1,3}?bc/i
1582     ABBBBC
1583     0: ABBBBC
1584    
1585     /ab{3,4}?bc/i
1586     ABBBBC
1587     0: ABBBBC
1588    
1589     /ab{4,5}?bc/i
1590     *** Failers
1591     No match
1592     ABQ
1593     No match
1594     ABBBBC
1595     No match
1596    
1597     /ab??bc/i
1598     ABBC
1599     0: ABBC
1600     ABC
1601     0: ABC
1602    
1603     /ab{0,1}?bc/i
1604     ABC
1605     0: ABC
1606    
1607     /ab??bc/i
1608    
1609     /ab??c/i
1610     ABC
1611     0: ABC
1612    
1613     /ab{0,1}?c/i
1614     ABC
1615     0: ABC
1616    
1617     /^abc$/i
1618     ABC
1619     0: ABC
1620     *** Failers
1621     No match
1622     ABBBBC
1623     No match
1624     ABCC
1625     No match
1626    
1627     /^abc/i
1628     ABCC
1629     0: ABC
1630    
1631     /^abc$/i
1632    
1633     /abc$/i
1634     AABC
1635     0: ABC
1636    
1637     /^/i
1638     ABC
1639     0:
1640    
1641     /$/i
1642     ABC
1643     0:
1644    
1645     /a.c/i
1646     ABC
1647     0: ABC
1648     AXC
1649     0: AXC
1650    
1651     /a.*?c/i
1652     AXYZC
1653     0: AXYZC
1654    
1655     /a.*c/i
1656     *** Failers
1657     No match
1658     AABC
1659     0: AABC
1660     AXYZD
1661     No match
1662    
1663     /a[bc]d/i
1664     ABD
1665     0: ABD
1666    
1667     /a[b-d]e/i
1668     ACE
1669     0: ACE
1670     *** Failers
1671     No match
1672     ABC
1673     No match
1674     ABD
1675     No match
1676    
1677     /a[b-d]/i
1678     AAC
1679     0: AC
1680    
1681     /a[-b]/i
1682     A-
1683     0: A-
1684    
1685     /a[b-]/i
1686     A-
1687     0: A-
1688    
1689     /a]/i
1690     A]
1691     0: A]
1692    
1693     /a[]]b/i
1694     A]B
1695     0: A]B
1696    
1697     /a[^bc]d/i
1698     AED
1699     0: AED
1700    
1701     /a[^-b]c/i
1702     ADC
1703     0: ADC
1704     *** Failers
1705     No match
1706     ABD
1707     No match
1708     A-C
1709     No match
1710    
1711     /a[^]b]c/i
1712     ADC
1713     0: ADC
1714    
1715     /ab|cd/i
1716     ABC
1717     0: AB
1718     ABCD
1719     0: AB
1720    
1721     /()ef/i
1722     DEF
1723     0: EF
1724     1:
1725    
1726     /$b/i
1727     *** Failers
1728     No match
1729     A]C
1730     No match
1731     B
1732     No match
1733    
1734     /a\(b/i
1735     A(B
1736     0: A(B
1737    
1738     /a\(*b/i
1739     AB
1740     0: AB
1741     A((B
1742     0: A((B
1743    
1744     /a\\b/i
1745     A\B
1746     No match
1747    
1748     /((a))/i
1749     ABC
1750     0: A
1751     1: A
1752     2: A
1753    
1754     /(a)b(c)/i
1755     ABC
1756     0: ABC
1757     1: A
1758     2: C
1759    
1760     /a+b+c/i
1761     AABBABC
1762     0: ABC
1763    
1764     /a{1,}b{1,}c/i
1765     AABBABC
1766     0: ABC
1767    
1768     /a.+?c/i
1769     ABCABC
1770     0: ABC
1771    
1772     /a.*?c/i
1773     ABCABC
1774     0: ABC
1775    
1776     /a.{0,5}?c/i
1777     ABCABC
1778     0: ABC
1779    
1780     /(a+|b)*/i
1781     AB
1782     0: AB
1783     1: B
1784    
1785     /(a+|b){0,}/i
1786     AB
1787     0: AB
1788     1: B
1789    
1790     /(a+|b)+/i
1791     AB
1792     0: AB
1793     1: B
1794    
1795     /(a+|b){1,}/i
1796     AB
1797     0: AB
1798     1: B
1799    
1800     /(a+|b)?/i
1801     AB
1802     0: A
1803     1: A
1804    
1805     /(a+|b){0,1}/i
1806     AB
1807     0: A
1808     1: A
1809    
1810     /(a+|b){0,1}?/i
1811     AB
1812     0:
1813    
1814     /[^ab]*/i
1815     CDE
1816     0: CDE
1817    
1818     /abc/i
1819    
1820     /a*/i
1821    
1822    
1823     /([abc])*d/i
1824     ABBBCD
1825     0: ABBBCD
1826     1: C
1827    
1828     /([abc])*bcd/i
1829     ABCD
1830     0: ABCD
1831     1: A
1832    
1833     /a|b|c|d|e/i
1834     E
1835     0: E
1836    
1837     /(a|b|c|d|e)f/i
1838     EF
1839     0: EF
1840     1: E
1841    
1842     /abcd*efg/i
1843     ABCDEFG
1844     0: ABCDEFG
1845    
1846     /ab*/i
1847     XABYABBBZ
1848     0: AB
1849     XAYABBBZ
1850     0: A
1851    
1852     /(ab|cd)e/i
1853     ABCDE
1854     0: CDE
1855     1: CD
1856    
1857     /[abhgefdc]ij/i
1858     HIJ
1859     0: HIJ
1860    
1861     /^(ab|cd)e/i
1862     ABCDE
1863     No match
1864    
1865     /(abc|)ef/i
1866     ABCDEF
1867     0: EF
1868     1:
1869    
1870     /(a|b)c*d/i
1871     ABCD
1872     0: BCD
1873     1: B
1874    
1875     /(ab|ab*)bc/i
1876     ABC
1877     0: ABC
1878     1: A
1879    
1880     /a([bc]*)c*/i
1881     ABC
1882     0: ABC
1883     1: BC
1884    
1885     /a([bc]*)(c*d)/i
1886     ABCD
1887     0: ABCD
1888     1: BC
1889     2: D
1890    
1891     /a([bc]+)(c*d)/i
1892     ABCD
1893     0: ABCD
1894     1: BC
1895     2: D
1896    
1897     /a([bc]*)(c+d)/i
1898     ABCD
1899     0: ABCD
1900     1: B
1901     2: CD
1902    
1903     /a[bcd]*dcdcde/i
1904     ADCDCDE
1905     0: ADCDCDE
1906    
1907     /a[bcd]+dcdcde/i
1908    
1909     /(ab|a)b*c/i
1910     ABC
1911     0: ABC
1912     1: AB
1913    
1914     /((a)(b)c)(d)/i
1915     ABCD
1916     0: ABCD
1917     1: ABC
1918     2: A
1919     3: B
1920     4: D
1921    
1922     /[a-zA-Z_][a-zA-Z0-9_]*/i
1923     ALPHA
1924     0: ALPHA
1925    
1926     /^a(bc+|b[eh])g|.h$/i
1927     ABH
1928     0: BH
1929    
1930     /(bc+d$|ef*g.|h?i(j|k))/i
1931     EFFGZ
1932     0: EFFGZ
1933     1: EFFGZ
1934     IJ
1935     0: IJ
1936     1: IJ
1937     2: J
1938     REFFGZ
1939     0: EFFGZ
1940     1: EFFGZ
1941     *** Failers
1942     No match
1943     ADCDCDE
1944     No match
1945     EFFG
1946     No match
1947     BCDD
1948     No match
1949    
1950     /((((((((((a))))))))))/i
1951     A
1952     0: A
1953     1: A
1954     2: A
1955     3: A
1956     4: A
1957     5: A
1958     6: A
1959     7: A
1960     8: A
1961     9: A
1962     10: A
1963    
1964     /((((((((((a))))))))))\10/i
1965     AA
1966     0: AA
1967     1: A
1968     2: A
1969     3: A
1970     4: A
1971     5: A
1972     6: A
1973     7: A
1974     8: A
1975     9: A
1976     10: A
1977    
1978     /(((((((((a)))))))))/i
1979     A
1980     0: A
1981     1: A
1982     2: A
1983     3: A
1984     4: A
1985     5: A
1986     6: A
1987     7: A
1988     8: A
1989     9: A
1990    
1991     /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
1992     A
1993     0: A
1994     1: A
1995    
1996     /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
1997     C
1998     0: C
1999     1: C
2000    
2001     /multiple words of text/i
2002     *** Failers
2003     No match
2004     AA
2005     No match
2006     UH-UH
2007     No match
2008    
2009     /multiple words/i
2010     MULTIPLE WORDS, YEAH
2011     0: MULTIPLE WORDS
2012    
2013     /(.*)c(.*)/i
2014     ABCDE
2015     0: ABCDE
2016     1: AB
2017     2: DE
2018    
2019     /\((.*), (.*)\)/i
2020     (A, B)
2021     0: (A, B)
2022     1: A
2023     2: B
2024    
2025     /[k]/i
2026    
2027     /abcd/i
2028     ABCD
2029     0: ABCD
2030    
2031     /a(bc)d/i
2032     ABCD
2033     0: ABCD
2034     1: BC
2035    
2036     /a[-]?c/i
2037     AC
2038     0: AC
2039    
2040     /(abc)\1/i
2041     ABCABC
2042     0: ABCABC
2043     1: ABC
2044    
2045     /([a-c]*)\1/i
2046     ABCABC
2047     0: ABCABC
2048     1: ABC
2049    
2050     /a(?!b)./
2051     abad
2052     0: ad
2053    
2054     /a(?=d)./
2055     abad
2056     0: ad
2057    
2058     /a(?=c|d)./
2059     abad
2060     0: ad
2061    
2062     /a(?:b|c|d)(.)/
2063     ace
2064     0: ace
2065     1: e
2066    
2067     /a(?:b|c|d)*(.)/
2068     ace
2069     0: ace
2070     1: e
2071    
2072     /a(?:b|c|d)+?(.)/
2073     ace
2074     0: ace
2075     1: e
2076     acdbcdbe
2077     0: acd
2078     1: d
2079    
2080     /a(?:b|c|d)+(.)/
2081     acdbcdbe
2082     0: acdbcdbe
2083     1: e
2084    
2085     /a(?:b|c|d){2}(.)/
2086     acdbcdbe
2087     0: acdb
2088     1: b
2089    
2090     /a(?:b|c|d){4,5}(.)/
2091     acdbcdbe
2092     0: acdbcdb
2093     1: b
2094    
2095     /a(?:b|c|d){4,5}?(.)/
2096     acdbcdbe
2097     0: acdbcd
2098     1: d
2099    
2100     /((foo)|(bar))*/
2101     foobar
2102     0: foobar
2103     1: bar
2104     2: foo
2105     3: bar
2106    
2107     /a(?:b|c|d){6,7}(.)/
2108     acdbcdbe
2109     0: acdbcdbe
2110     1: e
2111    
2112     /a(?:b|c|d){6,7}?(.)/
2113     acdbcdbe
2114     0: acdbcdbe
2115     1: e
2116    
2117     /a(?:b|c|d){5,6}(.)/
2118     acdbcdbe
2119     0: acdbcdbe
2120     1: e
2121    
2122     /a(?:b|c|d){5,6}?(.)/
2123     acdbcdbe
2124     0: acdbcdb
2125     1: b
2126    
2127     /a(?:b|c|d){5,7}(.)/
2128     acdbcdbe
2129     0: acdbcdbe
2130     1: e
2131    
2132     /a(?:b|c|d){5,7}?(.)/
2133     acdbcdbe
2134     0: acdbcdb
2135     1: b
2136    
2137     /a(?:b|(c|e){1,2}?|d)+?(.)/
2138     ace
2139     0: ace
2140     1: c
2141     2: e
2142    
2143     /^(.+)?B/
2144     AB
2145     0: AB
2146     1: A
2147    
2148     /^([^a-z])|(\^)$/
2149     .
2150     0: .
2151     1: .
2152    
2153     /^[<>]&/
2154     <&OUT
2155     0: <&
2156    
2157     /^(a\1?){4}$/
2158     aaaaaaaaaa
2159     0: aaaaaaaaaa
2160     1: aaaa
2161     *** Failers
2162     No match
2163     AB
2164     No match
2165     aaaaaaaaa
2166     No match
2167     aaaaaaaaaaa
2168     No match
2169    
2170     /^(a(?(1)\1)){4}$/
2171     aaaaaaaaaa
2172     0: aaaaaaaaaa
2173     1: aaaa
2174     *** Failers
2175     No match
2176     aaaaaaaaa
2177     No match
2178     aaaaaaaaaaa
2179     No match
2180    
2181     /(?:(f)(o)(o)|(b)(a)(r))*/
2182     foobar
2183     0: foobar
2184     1: f
2185     2: o
2186     3: o
2187     4: b
2188     5: a
2189     6: r
2190    
2191     /(?<=a)b/
2192     ab
2193     0: b
2194     *** Failers
2195     No match
2196     cb
2197     No match
2198     b
2199     No match
2200    
2201     /(?<!c)b/
2202     ab
2203     0: b
2204     b
2205     0: b
2206     b
2207     0: b
2208    
2209     /(?:..)*a/
2210     aba
2211     0: aba
2212    
2213     /(?:..)*?a/
2214     aba
2215     0: a
2216    
2217     /^(?:b|a(?=(.)))*\1/
2218     abc
2219     0: ab
2220     1: b
2221    
2222     /^(){3,5}/
2223     abc
2224     0:
2225     1:
2226    
2227     /^(a+)*ax/
2228     aax
2229     0: aax
2230     1: a
2231    
2232     /^((a|b)+)*ax/
2233     aax
2234     0: aax
2235     1: a
2236     2: a
2237    
2238     /^((a|bc)+)*ax/
2239     aax
2240     0: aax
2241     1: a
2242     2: a
2243    
2244     /(a|x)*ab/
2245     cab
2246     0: ab
2247    
2248     /(a)*ab/
2249     cab
2250     0: ab
2251    
2252     /(?:(?i)a)b/
2253     ab
2254     0: ab
2255    
2256     /((?i)a)b/
2257     ab
2258     0: ab
2259     1: a
2260    
2261     /(?:(?i)a)b/
2262     Ab
2263     0: Ab
2264    
2265     /((?i)a)b/
2266     Ab
2267     0: Ab
2268     1: A
2269    
2270     /(?:(?i)a)b/
2271     *** Failers
2272     No match
2273     cb
2274     No match
2275     aB
2276     No match
2277    
2278     /((?i)a)b/
2279    
2280     /(?i:a)b/
2281     ab
2282     0: ab
2283    
2284     /((?i:a))b/
2285     ab
2286     0: ab
2287     1: a
2288    
2289     /(?i:a)b/
2290     Ab
2291     0: Ab
2292    
2293     /((?i:a))b/
2294     Ab
2295     0: Ab
2296     1: A
2297    
2298     /(?i:a)b/
2299     *** Failers
2300     No match
2301     aB
2302     No match
2303     aB
2304     No match
2305    
2306     /((?i:a))b/
2307    
2308     /(?:(?-i)a)b/i
2309     ab
2310     0: ab
2311    
2312     /((?-i)a)b/i
2313     ab
2314     0: ab
2315     1: a
2316    
2317     /(?:(?-i)a)b/i
2318     aB
2319     0: aB
2320    
2321     /((?-i)a)b/i
2322     aB
2323     0: aB
2324     1: a
2325    
2326     /(?:(?-i)a)b/i
2327     *** Failers
2328     No match
2329     aB
2330     0: aB
2331     Ab
2332     No match
2333    
2334     /((?-i)a)b/i
2335    
2336     /(?:(?-i)a)b/i
2337     aB
2338     0: aB
2339    
2340     /((?-i)a)b/i
2341     aB
2342     0: aB
2343     1: a
2344    
2345     /(?:(?-i)a)b/i
2346     *** Failers
2347     No match
2348     Ab
2349     No match
2350     AB
2351     No match
2352    
2353     /((?-i)a)b/i
2354    
2355     /(?-i:a)b/i
2356     ab
2357     0: ab
2358    
2359     /((?-i:a))b/i
2360     ab
2361     0: ab
2362     1: a
2363    
2364     /(?-i:a)b/i
2365     aB
2366     0: aB
2367    
2368     /((?-i:a))b/i
2369     aB
2370     0: aB
2371     1: a
2372    
2373     /(?-i:a)b/i
2374     *** Failers
2375     No match
2376     AB
2377     No match
2378     Ab
2379     No match
2380    
2381     /((?-i:a))b/i
2382    
2383     /(?-i:a)b/i
2384     aB
2385     0: aB
2386    
2387     /((?-i:a))b/i
2388     aB
2389     0: aB
2390     1: a
2391    
2392     /(?-i:a)b/i
2393     *** Failers
2394     No match
2395     Ab
2396     No match
2397     AB
2398     No match
2399    
2400     /((?-i:a))b/i
2401    
2402     /((?-i:a.))b/i
2403     *** Failers
2404     No match
2405     AB
2406     No match
2407     a\nB
2408     No match
2409    
2410     /((?s-i:a.))b/i
2411     a\nB
2412     0: a\x0aB
2413     1: a\x0a
2414    
2415     /(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
2416     cabbbb
2417     0: cabbbb
2418    
2419     /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
2420     caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
2421     0: caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
2422    
2423     /(ab)\d\1/i
2424     Ab4ab
2425     0: Ab4ab
2426     1: Ab
2427     ab4Ab
2428     0: ab4Ab
2429     1: ab
2430    
2431     /foo\w*\d{4}baz/
2432     foobar1234baz
2433     0: foobar1234baz
2434    
2435     /x(~~)*(?:(?:F)?)?/
2436     x~~
2437     0: x~~
2438     1: ~~
2439    
2440     /^a(?#xxx){3}c/
2441     aaac
2442     0: aaac
2443    
2444     /^a (?#xxx) (?#yyy) {3}c/x
2445     aaac
2446     0: aaac
2447    
2448     /(?<![cd])b/
2449     *** Failers
2450     No match
2451     B\nB
2452     No match
2453     dbcb
2454     No match
2455    
2456     /(?<![cd])[ab]/
2457     dbaacb
2458     0: a
2459    
2460     /(?<!(c|d))b/
2461    
2462     /(?<!(c|d))[ab]/
2463     dbaacb
2464     0: a
2465    
2466     /(?<!cd)[ab]/
2467     cdaccb
2468     0: b
2469    
2470     /^(?:a?b?)*$/
2471     *** Failers
2472     No match
2473     dbcb
2474     No match
2475     a--
2476     No match
2477    
2478     /((?s)^a(.))((?m)^b$)/
2479     a\nb\nc\n
2480     0: a\x0ab
2481     1: a\x0a
2482     2: \x0a
2483     3: b
2484    
2485     /((?m)^b$)/
2486     a\nb\nc\n
2487     0: b
2488     1: b
2489    
2490     /(?m)^b/
2491     a\nb\n
2492     0: b
2493    
2494     /(?m)^(b)/
2495     a\nb\n
2496     0: b
2497     1: b
2498    
2499     /((?m)^b)/
2500     a\nb\n
2501     0: b
2502     1: b
2503    
2504     /\n((?m)^b)/
2505     a\nb\n
2506     0: \x0ab
2507     1: b
2508    
2509     /((?s).)c(?!.)/
2510     a\nb\nc\n
2511     0: \x0ac
2512     1: \x0a
2513     a\nb\nc\n
2514     0: \x0ac
2515     1: \x0a
2516    
2517     /((?s)b.)c(?!.)/
2518     a\nb\nc\n
2519     0: b\x0ac
2520     1: b\x0a
2521     a\nb\nc\n
2522     0: b\x0ac
2523     1: b\x0a
2524    
2525     /^b/
2526    
2527     /()^b/
2528     *** Failers
2529     No match
2530     a\nb\nc\n
2531     No match
2532     a\nb\nc\n
2533     No match
2534    
2535     /((?m)^b)/
2536     a\nb\nc\n
2537     0: b
2538     1: b
2539    
2540     /(?(1)a|b)/
2541    
2542     /(?(1)b|a)/
2543     a
2544     0: a
2545    
2546     /(x)?(?(1)a|b)/
2547     *** Failers
2548     No match
2549     a
2550     No match
2551     a
2552     No match
2553    
2554     /(x)?(?(1)b|a)/
2555     a
2556     0: a
2557    
2558     /()?(?(1)b|a)/
2559     a
2560     0: a
2561    
2562     /()(?(1)b|a)/
2563    
2564     /()?(?(1)a|b)/
2565     a
2566     0: a
2567     1:
2568    
2569     /^(\()?blah(?(1)(\)))$/
2570     (blah)
2571     0: (blah)
2572     1: (
2573     2: )
2574     blah
2575     0: blah
2576     *** Failers
2577     No match
2578     a
2579     No match
2580     blah)
2581     No match
2582     (blah
2583     No match
2584    
2585     /^(\(+)?blah(?(1)(\)))$/
2586     (blah)
2587     0: (blah)
2588     1: (
2589     2: )
2590     blah
2591     0: blah
2592     *** Failers
2593     No match
2594     blah)
2595     No match
2596     (blah
2597     No match
2598    
2599     /(?(?!a)a|b)/
2600    
2601     /(?(?!a)b|a)/
2602     a
2603     0: a
2604    
2605     /(?(?=a)b|a)/
2606     *** Failers
2607     No match
2608     a
2609     No match
2610     a
2611     No match
2612    
2613     /(?(?=a)a|b)/
2614     a
2615     0: a
2616    
2617     /(?=(a+?))(\1ab)/
2618     aaab
2619     0: aab
2620     1: a
2621     2: aab
2622    
2623     /^(?=(a+?))\1ab/
2624    
2625     /(\w+:)+/
2626     one:
2627     0: one:
2628     1: one:
2629    
2630     /$(?<=^(a))/
2631     a
2632     0:
2633     1: a
2634    
2635     /(?=(a+?))(\1ab)/
2636     aaab
2637     0: aab
2638     1: a
2639     2: aab
2640    
2641     /^(?=(a+?))\1ab/
2642     *** Failers
2643     No match
2644     aaab
2645     No match
2646     aaab
2647     No match
2648    
2649     /([\w:]+::)?(\w+)$/
2650     abcd
2651     0: abcd
2652     1: <unset>
2653     2: abcd
2654     xy:z:::abcd
2655     0: xy:z:::abcd
2656     1: xy:z:::
2657     2: abcd
2658    
2659     /^[^bcd]*(c+)/
2660     aexycd
2661     0: aexyc
2662     1: c
2663    
2664     /(a*)b+/
2665     caab
2666     0: aab
2667     1: aa
2668    
2669     /([\w:]+::)?(\w+)$/
2670     abcd
2671     0: abcd
2672     1: <unset>
2673     2: abcd
2674     xy:z:::abcd
2675     0: xy:z:::abcd
2676     1: xy:z:::
2677     2: abcd
2678     *** Failers
2679     0: Failers
2680     1: <unset>
2681     2: Failers
2682     abcd:
2683     No match
2684     abcd:
2685     No match
2686    
2687     /^[^bcd]*(c+)/
2688     aexycd
2689     0: aexyc
2690     1: c
2691    
2692     /(>a+)ab/
2693    
2694     /(?>a+)b/
2695     aaab
2696     0: aaab
2697    
2698     /([[:]+)/
2699     a:[b]:
2700     0: :[
2701     1: :[
2702    
2703     /([[=]+)/
2704     a=[b]=
2705     0: =[
2706     1: =[
2707    
2708     /([[.]+)/
2709     a.[b].
2710     0: .[
2711     1: .[
2712    
2713     /((?>a+)b)/
2714     aaab
2715     0: aaab
2716     1: aaab
2717    
2718     /(?>(a+))b/
2719     aaab
2720     0: aaab
2721     1: aaa
2722    
2723     /((?>[^()]+)|\([^()]*\))+/
2724     ((abc(ade)ufh()()x
2725     0: abc(ade)ufh()()x
2726     1: x
2727    
2728     /a\Z/
2729     *** Failers
2730     No match
2731     aaab
2732     No match
2733     a\nb\n
2734     No match
2735    
2736     /b\Z/
2737     a\nb\n
2738     0: b
2739    
2740     /b\z/
2741    
2742     /b\Z/
2743     a\nb
2744     0: b
2745    
2746     /b\z/
2747     a\nb
2748     0: b
2749     *** Failers
2750     No match
2751    
2752     /^(?>(?(1)\.|())[^\W_](?>[a-z0-9-]*[^\W_])?)+$/
2753     a
2754     0: a
2755     1:
2756     abc
2757     0: abc
2758     1:
2759     a-b
2760     0: a-b
2761     1:
2762     0-9
2763     0: 0-9
2764     1:
2765     a.b
2766     0: a.b
2767     1:
2768     5.6.7
2769     0: 5.6.7
2770     1:
2771     the.quick.brown.fox
2772     0: the.quick.brown.fox
2773     1:
2774     a100.b200.300c
2775     0: a100.b200.300c
2776     1:
2777     12-ab.1245
2778     0: 12-ab.1245
2779     1:
2780     ***Failers
2781     No match
2782     \
2783     No match
2784     .a
2785     No match
2786     -a
2787     No match
2788     a-
2789     No match
2790     a.
2791     No match
2792     a_b
2793     No match
2794     a.-
2795     No match
2796     a..
2797     No match
2798     ab..bc
2799     No match
2800     the.quick.brown.fox-
2801     No match
2802     the.quick.brown.fox.
2803     No match
2804     the.quick.brown.fox_
2805     No match
2806     the.quick.brown.fox+
2807     No match
2808    
2809     /(?>.*)(?<=(abcd|wxyz))/
2810     alphabetabcd
2811     0: alphabetabcd
2812     1: abcd
2813     endingwxyz
2814     0: endingwxyz
2815     1: wxyz
2816     *** Failers
2817     No match
2818     a rather long string that doesn't end with one of them
2819     No match
2820    
2821     /word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword/
2822     word cat dog elephant mussel cow horse canary baboon snake shark otherword
2823     0: word cat dog elephant mussel cow horse canary baboon snake shark otherword
2824     word cat dog elephant mussel cow horse canary baboon snake shark
2825     No match
2826    
2827     /word (?>[a-zA-Z0-9]+ ){0,30}otherword/
2828     word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope
2829     No match
2830    
2831     /(?<=\d{3}(?!999))foo/
2832     999foo
2833     0: foo
2834     123999foo
2835     0: foo
2836     *** Failers
2837     No match
2838     123abcfoo
2839     No match
2840    
2841     /(?<=(?!...999)\d{3})foo/
2842     999foo
2843     0: foo
2844     123999foo
2845     0: foo
2846     *** Failers
2847     No match
2848     123abcfoo
2849     No match
2850    
2851     /(?<=\d{3}(?!999)...)foo/
2852     123abcfoo
2853     0: foo
2854     123456foo
2855     0: foo
2856     *** Failers
2857     No match
2858     123999foo
2859     No match
2860    
2861     /(?<=\d{3}...)(?<!999)foo/
2862     123abcfoo
2863     0: foo
2864     123456foo
2865     0: foo
2866     *** Failers
2867     No match
2868     123999foo
2869     No match
2870    
2871     /<a[\s]+href[\s]*=[\s]* # find <a href=
2872     ([\"\'])? # find single or double quote
2873     (?(1) (.*?)\1 | ([^\s]+)) # if quote found, match up to next matching
2874     # quote, otherwise match up to next space
2875     /isx
2876     <a href=abcd xyz
2877     0: <a href=abcd
2878     1: <unset>
2879     2: <unset>
2880     3: abcd
2881     <a href=\"abcd xyz pqr\" cats
2882     0: <a href="abcd xyz pqr"
2883     1: "
2884     2: abcd xyz pqr
2885     <a href=\'abcd xyz pqr\' cats
2886     0: <a href='abcd xyz pqr'
2887     1: '
2888     2: abcd xyz pqr
2889    
2890     /<a\s+href\s*=\s* # find <a href=
2891     (["'])? # find single or double quote
2892     (?(1) (.*?)\1 | (\S+)) # if quote found, match up to next matching
2893     # quote, otherwise match up to next space
2894     /isx
2895     <a href=abcd xyz
2896     0: <a href=abcd
2897     1: <unset>
2898     2: <unset>
2899     3: abcd
2900     <a href=\"abcd xyz pqr\" cats
2901     0: <a href="abcd xyz pqr"
2902     1: "
2903     2: abcd xyz pqr
2904     <a href = \'abcd xyz pqr\' cats
2905     0: <a href = 'abcd xyz pqr'
2906     1: '
2907     2: abcd xyz pqr
2908    
2909     /<a\s+href(?>\s*)=(?>\s*) # find <a href=
2910     (["'])? # find single or double quote
2911     (?(1) (.*?)\1 | (\S+)) # if quote found, match up to next matching
2912     # quote, otherwise match up to next space
2913     /isx
2914     <a href=abcd xyz
2915     0: <a href=abcd
2916     1: <unset>
2917     2: <unset>
2918     3: abcd
2919     <a href=\"abcd xyz pqr\" cats
2920     0: <a href="abcd xyz pqr"
2921     1: "
2922     2: abcd xyz pqr
2923     <a href = \'abcd xyz pqr\' cats
2924     0: <a href = 'abcd xyz pqr'
2925     1: '
2926     2: abcd xyz pqr
2927    
2928 nigel 47 /((Z)+|A)*/
2929     ZABCDEFG
2930     0: ZA
2931     1: A
2932     2: Z
2933    
2934     /(Z()|A)*/
2935     ZABCDEFG
2936     0: ZA
2937     1: A
2938     2:
2939    
2940     /(Z(())|A)*/
2941     ZABCDEFG
2942     0: ZA
2943     1: A
2944     2:
2945     3:
2946    
2947     /((?>Z)+|A)*/
2948     ZABCDEFG
2949     0: ZA
2950     1: A
2951    
2952     /((?>)+|A)*/
2953     ZABCDEFG
2954     0:
2955     1:
2956    
2957     /a*/g
2958     abbab
2959     0: a
2960     0:
2961     0:
2962     0: a
2963     0:
2964     0:
2965    
2966 nigel 41 / End of test input /
2967    

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12