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

Contents of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log


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

1 nigel 47 PCRE version 3.2 12-May-2000
2 nigel 41
3     /(a)b|/
4 nigel 43 Capturing subpattern count = 1
5 nigel 41 No options
6     No first char
7 nigel 43 No need char
8 nigel 41
9     /abc/
10 nigel 43 Capturing subpattern count = 0
11 nigel 41 No options
12     First char = 'a'
13 nigel 43 Need char = 'c'
14 nigel 41 abc
15     0: abc
16     defabc
17     0: abc
18     \Aabc
19     0: abc
20     *** Failers
21     No match
22     \Adefabc
23     No match
24     ABC
25     No match
26    
27     /^abc/
28 nigel 43 Capturing subpattern count = 0
29 nigel 41 Options: anchored
30     No first char
31 nigel 43 Need char = 'c'
32 nigel 41 abc
33     0: abc
34     \Aabc
35     0: abc
36     *** Failers
37     No match
38     defabc
39     No match
40     \Adefabc
41     No match
42    
43     /a+bc/
44 nigel 43 Capturing subpattern count = 0
45 nigel 41 No options
46     First char = 'a'
47 nigel 43 Need char = 'c'
48 nigel 41
49     /a*bc/
50 nigel 43 Capturing subpattern count = 0
51 nigel 41 No options
52     No first char
53 nigel 43 Need char = 'c'
54 nigel 41
55     /a{3}bc/
56 nigel 43 Capturing subpattern count = 0
57 nigel 41 No options
58     First char = 'a'
59 nigel 43 Need char = 'c'
60 nigel 41
61     /(abc|a+z)/
62 nigel 43 Capturing subpattern count = 1
63 nigel 41 No options
64     First char = 'a'
65 nigel 43 No need char
66 nigel 41
67     /^abc$/
68 nigel 43 Capturing subpattern count = 0
69 nigel 41 Options: anchored
70     No first char
71 nigel 43 Need char = 'c'
72 nigel 41 abc
73     0: abc
74     *** Failers
75     No match
76     def\nabc
77     No match
78    
79     /ab\gdef/X
80     Failed: unrecognized character follows \ at offset 3
81    
82     /(?X)ab\gdef/X
83     Failed: unrecognized character follows \ at offset 7
84    
85     /x{5,4}/
86     Failed: numbers out of order in {} quantifier at offset 5
87    
88     /z{65536}/
89     Failed: number too big in {} quantifier at offset 7
90    
91     /[abcd/
92     Failed: missing terminating ] for character class at offset 5
93    
94     /[\B]/
95     Failed: invalid escape sequence in character class at offset 2
96    
97     /[a-\w]/
98     Failed: invalid escape sequence in character class at offset 4
99    
100     /[z-a]/
101     Failed: range out of order in character class at offset 3
102    
103     /^*/
104     Failed: nothing to repeat at offset 1
105    
106     /(abc/
107     Failed: missing ) at offset 4
108    
109     /(?# abc/
110     Failed: missing ) after comment at offset 7
111    
112     /(?z)abc/
113     Failed: unrecognized character after (? at offset 2
114    
115     /.*b/
116 nigel 43 Capturing subpattern count = 0
117 nigel 41 No options
118     First char at start or follows \n
119 nigel 43 Need char = 'b'
120 nigel 41
121     /.*?b/
122 nigel 43 Capturing subpattern count = 0
123 nigel 41 No options
124     First char at start or follows \n
125 nigel 43 Need char = 'b'
126 nigel 41
127     /cat|dog|elephant/
128 nigel 43 Capturing subpattern count = 0
129 nigel 41 No options
130     No first char
131 nigel 43 No need char
132 nigel 41 this sentence eventually mentions a cat
133     0: cat
134     this sentences rambles on and on for a while and then reaches elephant
135     0: elephant
136    
137     /cat|dog|elephant/S
138 nigel 43 Capturing subpattern count = 0
139 nigel 41 No options
140     No first char
141 nigel 43 No need char
142 nigel 41 Starting character set: c d e
143     this sentence eventually mentions a cat
144     0: cat
145     this sentences rambles on and on for a while and then reaches elephant
146     0: elephant
147    
148     /cat|dog|elephant/iS
149 nigel 43 Capturing subpattern count = 0
150 nigel 41 Options: caseless
151     No first char
152 nigel 43 No need char
153 nigel 41 Starting character set: C D E c d e
154     this sentence eventually mentions a CAT cat
155     0: CAT
156     this sentences rambles on and on for a while to elephant ElePhant
157     0: elephant
158    
159     /a|[bcd]/S
160 nigel 43 Capturing subpattern count = 0
161 nigel 41 No options
162     No first char
163 nigel 43 No need char
164 nigel 41 Starting character set: a b c d
165    
166     /(a|[^\dZ])/S
167 nigel 43 Capturing subpattern count = 1
168 nigel 41 No options
169     No first char
170 nigel 43 No need char
171 nigel 41 Starting character set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
172     \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
173     \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
174     ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d
175     e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x7f \x80 \x81 \x82 \x83
176     \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92
177     \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1
178     \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0
179     \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf
180     \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce
181     \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd
182     \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec
183     \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
184     \xfc \xfd \xfe \xff
185    
186     /(a|b)*[\s]/S
187 nigel 43 Capturing subpattern count = 1
188 nigel 41 No options
189     No first char
190 nigel 43 No need char
191 nigel 41 Starting character set: \x09 \x0a \x0b \x0c \x0d \x20 a b
192    
193     /(ab\2)/
194     Failed: back reference to non-existent subpattern at offset 6
195    
196     /{4,5}abc/
197     Failed: nothing to repeat at offset 4
198    
199     /(a)(b)(c)\2/
200 nigel 43 Capturing subpattern count = 3
201     Max back reference = 2
202 nigel 41 No options
203     First char = 'a'
204 nigel 43 Need char = 'c'
205 nigel 41 abcb
206     0: abcb
207     1: a
208     2: b
209     3: c
210     \O0abcb
211     Matched, but too many substrings
212     \O3abcb
213     Matched, but too many substrings
214     0: abcb
215     \O6abcb
216     Matched, but too many substrings
217     0: abcb
218     1: a
219     \O9abcb
220     Matched, but too many substrings
221     0: abcb
222     1: a
223     2: b
224     \O12abcb
225     0: abcb
226     1: a
227     2: b
228     3: c
229    
230     /(a)bc|(a)(b)\2/
231 nigel 43 Capturing subpattern count = 3
232     Max back reference = 2
233 nigel 41 No options
234     First char = 'a'
235 nigel 43 No need char
236 nigel 41 abc
237     0: abc
238     1: a
239     \O0abc
240     Matched, but too many substrings
241     \O3abc
242     Matched, but too many substrings
243     0: abc
244     \O6abc
245     0: abc
246     1: a
247     aba
248     0: aba
249     1: <unset>
250     2: a
251     3: b
252     \O0aba
253     Matched, but too many substrings
254     \O3aba
255     Matched, but too many substrings
256     0: aba
257     \O6aba
258     Matched, but too many substrings
259     0: aba
260     1: <unset>
261     \O9aba
262     Matched, but too many substrings
263     0: aba
264     1: <unset>
265     2: a
266     \O12aba
267     0: aba
268     1: <unset>
269     2: a
270     3: b
271    
272     /abc$/E
273 nigel 43 Capturing subpattern count = 0
274 nigel 41 Options: dollar_endonly
275     First char = 'a'
276 nigel 43 Need char = 'c'
277 nigel 41 abc
278     0: abc
279     *** Failers
280     No match
281     abc\n
282     No match
283     abc\ndef
284     No match
285    
286     /(a)(b)(c)(d)(e)\6/
287     Failed: back reference to non-existent subpattern at offset 17
288    
289     /the quick brown fox/
290 nigel 43 Capturing subpattern count = 0
291 nigel 41 No options
292     First char = 't'
293 nigel 43 Need char = 'x'
294 nigel 41 the quick brown fox
295     0: the quick brown fox
296     this is a line with the quick brown fox
297     0: the quick brown fox
298    
299     /the quick brown fox/A
300 nigel 43 Capturing subpattern count = 0
301 nigel 41 Options: anchored
302     No first char
303 nigel 43 Need char = 'x'
304 nigel 41 the quick brown fox
305     0: the quick brown fox
306     *** Failers
307     No match
308     this is a line with the quick brown fox
309     No match
310    
311     /ab(?z)cd/
312     Failed: unrecognized character after (? at offset 4
313    
314     /^abc|def/
315 nigel 43 Capturing subpattern count = 0
316 nigel 41 No options
317     No first char
318 nigel 43 No need char
319 nigel 41 abcdef
320     0: abc
321     abcdef\B
322     0: def
323    
324     /.*((abc)$|(def))/
325 nigel 43 Capturing subpattern count = 3
326 nigel 41 No options
327     First char at start or follows \n
328 nigel 43 No need char
329 nigel 41 defabc
330     0: defabc
331     1: abc
332     2: abc
333     \Zdefabc
334     0: def
335     1: def
336     2: <unset>
337     3: def
338    
339     /abc/P
340     abc
341     0: abc
342     *** Failers
343     No match: POSIX code 17: match failed
344    
345     /^abc|def/P
346     abcdef
347     0: abc
348     abcdef\B
349     0: def
350    
351     /.*((abc)$|(def))/P
352     defabc
353     0: defabc
354     1: abc
355     2: abc
356     \Zdefabc
357     0: def
358     1: def
359     3: def
360    
361     /the quick brown fox/P
362     the quick brown fox
363     0: the quick brown fox
364     *** Failers
365     No match: POSIX code 17: match failed
366     The Quick Brown Fox
367     No match: POSIX code 17: match failed
368    
369     /the quick brown fox/Pi
370     the quick brown fox
371     0: the quick brown fox
372     The Quick Brown Fox
373     0: The Quick Brown Fox
374    
375     /abc.def/P
376     *** Failers
377     No match: POSIX code 17: match failed
378     abc\ndef
379     No match: POSIX code 17: match failed
380    
381     /abc$/P
382     abc
383     0: abc
384     abc\n
385     0: abc
386    
387     /(abc)\2/P
388     Failed: POSIX code 15: bad back reference at offset 7
389    
390     /(abc\1)/P
391     abc
392     No match: POSIX code 17: match failed
393    
394     /)/
395     Failed: unmatched parentheses at offset 0
396    
397     /a[]b/
398     Failed: missing terminating ] for character class at offset 4
399    
400     /[^aeiou ]{3,}/
401 nigel 43 Capturing subpattern count = 0
402 nigel 41 No options
403     No first char
404 nigel 43 No need char
405 nigel 41 co-processors, and for
406     0: -pr
407    
408     /<.*>/
409 nigel 43 Capturing subpattern count = 0
410 nigel 41 No options
411     First char = '<'
412 nigel 43 Need char = '>'
413 nigel 41 abc<def>ghi<klm>nop
414     0: <def>ghi<klm>
415    
416     /<.*?>/
417 nigel 43 Capturing subpattern count = 0
418 nigel 41 No options
419     First char = '<'
420 nigel 43 Need char = '>'
421 nigel 41 abc<def>ghi<klm>nop
422     0: <def>
423    
424     /<.*>/U
425 nigel 43 Capturing subpattern count = 0
426 nigel 41 Options: ungreedy
427     First char = '<'
428 nigel 43 Need char = '>'
429 nigel 41 abc<def>ghi<klm>nop
430     0: <def>
431    
432     /<.*>(?U)/
433 nigel 43 Capturing subpattern count = 0
434 nigel 41 Options: ungreedy
435     First char = '<'
436 nigel 43 Need char = '>'
437 nigel 41 abc<def>ghi<klm>nop
438     0: <def>
439    
440     /<.*?>/U
441 nigel 43 Capturing subpattern count = 0
442 nigel 41 Options: ungreedy
443     First char = '<'
444 nigel 43 Need char = '>'
445 nigel 41 abc<def>ghi<klm>nop
446     0: <def>ghi<klm>
447    
448     /={3,}/U
449 nigel 43 Capturing subpattern count = 0
450 nigel 41 Options: ungreedy
451     First char = '='
452 nigel 43 Need char = '='
453 nigel 41 abc========def
454     0: ===
455    
456     /(?U)={3,}?/
457 nigel 43 Capturing subpattern count = 0
458 nigel 41 Options: ungreedy
459     First char = '='
460 nigel 43 Need char = '='
461 nigel 41 abc========def
462     0: ========
463    
464     /(?<!bar|cattle)foo/
465 nigel 43 Capturing subpattern count = 0
466 nigel 41 No options
467     First char = 'f'
468 nigel 43 Need char = 'o'
469 nigel 41 foo
470     0: foo
471     catfoo
472     0: foo
473     *** Failers
474     No match
475     the barfoo
476     No match
477     and cattlefoo
478     No match
479    
480     /(?<=a+)b/
481     Failed: lookbehind assertion is not fixed length at offset 6
482    
483     /(?<=aaa|b{0,3})b/
484     Failed: lookbehind assertion is not fixed length at offset 14
485    
486     /(?<!(foo)a\1)bar/
487     Failed: lookbehind assertion is not fixed length at offset 12
488    
489     /(?i)abc/
490 nigel 43 Capturing subpattern count = 0
491 nigel 41 Options: caseless
492     First char = 'a'
493 nigel 43 Need char = 'c'
494 nigel 41
495     /(a|(?m)a)/
496 nigel 43 Capturing subpattern count = 1
497 nigel 41 No options
498     First char = 'a'
499 nigel 43 No need char
500 nigel 41
501     /(?i)^1234/
502 nigel 43 Capturing subpattern count = 0
503 nigel 41 Options: anchored caseless
504     No first char
505 nigel 43 Need char = '4'
506 nigel 41
507     /(^b|(?i)^d)/
508 nigel 43 Capturing subpattern count = 1
509 nigel 41 Options: anchored
510     Case state changes
511     No first char
512 nigel 43 No need char
513 nigel 41
514     /(?s).*/
515 nigel 43 Capturing subpattern count = 0
516 nigel 41 Options: anchored dotall
517     No first char
518 nigel 43 No need char
519 nigel 41
520     /[abcd]/S
521 nigel 43 Capturing subpattern count = 0
522 nigel 41 No options
523     No first char
524 nigel 43 No need char
525 nigel 41 Starting character set: a b c d
526    
527     /(?i)[abcd]/S
528 nigel 43 Capturing subpattern count = 0
529 nigel 41 Options: caseless
530     No first char
531 nigel 43 No need char
532 nigel 41 Starting character set: A B C D a b c d
533    
534     /(?m)[xy]|(b|c)/S
535 nigel 43 Capturing subpattern count = 1
536 nigel 41 Options: multiline
537     No first char
538 nigel 43 No need char
539 nigel 41 Starting character set: b c x y
540    
541     /(^a|^b)/m
542 nigel 43 Capturing subpattern count = 1
543 nigel 41 Options: multiline
544     First char at start or follows \n
545 nigel 43 No need char
546 nigel 41
547     /(?i)(^a|^b)/m
548 nigel 43 Capturing subpattern count = 1
549 nigel 41 Options: caseless multiline
550     First char at start or follows \n
551 nigel 43 No need char
552 nigel 41
553     /(a)(?(1)a|b|c)/
554     Failed: conditional group contains more than two branches at offset 13
555    
556     /(?(?=a)a|b|c)/
557     Failed: conditional group contains more than two branches at offset 12
558    
559     /(?(1a)/
560     Failed: malformed number after (?( at offset 4
561    
562     /(?(?i))/
563     Failed: assertion expected after (?( at offset 3
564    
565     /(?(abc))/
566     Failed: assertion expected after (?( at offset 3
567    
568     /(?(?<ab))/
569     Failed: unrecognized character after (?< at offset 2
570    
571     /((?s)blah)\s+\1/
572 nigel 43 Capturing subpattern count = 1
573     Max back reference = 1
574 nigel 41 No options
575     First char = 'b'
576 nigel 43 Need char = 'h'
577 nigel 41
578     /((?i)blah)\s+\1/
579 nigel 43 Capturing subpattern count = 1
580     Max back reference = 1
581 nigel 41 No options
582     Case state changes
583     No first char
584 nigel 43 Need char = 'h'
585 nigel 41
586     /((?i)b)/DS
587     ------------------------------------------------------------------
588     0 16 Bra 0
589     3 8 Bra 1
590     6 01 Opt
591     8 1 b
592     11 8 Ket
593     14 00 Opt
594     16 16 Ket
595     19 End
596     ------------------------------------------------------------------
597 nigel 43 Capturing subpattern count = 1
598 nigel 41 No options
599     Case state changes
600     No first char
601 nigel 43 Need char = 'b'
602 nigel 41 Starting character set: B b
603    
604     /(a*b|(?i:c*(?-i)d))/S
605 nigel 43 Capturing subpattern count = 1
606 nigel 41 No options
607     Case state changes
608     No first char
609 nigel 43 No need char
610 nigel 41 Starting character set: C a b c d
611    
612     /a$/
613 nigel 43 Capturing subpattern count = 0
614 nigel 41 No options
615     First char = 'a'
616 nigel 43 No need char
617 nigel 41 a
618     0: a
619     a\n
620     0: a
621     *** Failers
622     No match
623     \Za
624     No match
625     \Za\n
626     No match
627    
628     /a$/m
629 nigel 43 Capturing subpattern count = 0
630 nigel 41 Options: multiline
631     First char = 'a'
632 nigel 43 No need char
633 nigel 41 a
634     0: a
635     a\n
636     0: a
637     \Za\n
638     0: a
639     *** Failers
640     No match
641     \Za
642     No match
643    
644     /\Aabc/m
645 nigel 43 Capturing subpattern count = 0
646 nigel 41 Options: anchored multiline
647     No first char
648 nigel 43 Need char = 'c'
649 nigel 41
650     /^abc/m
651 nigel 43 Capturing subpattern count = 0
652 nigel 41 Options: multiline
653     First char at start or follows \n
654 nigel 43 Need char = 'c'
655 nigel 41
656     /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
657 nigel 43 Capturing subpattern count = 5
658 nigel 41 Options: anchored
659     No first char
660 nigel 43 Need char = 'a'
661 nigel 41 aaaaabbbbbcccccdef
662     0: aaaaabbbbbcccccdef
663     1: aaaaabbbbbcccccdef
664     2: aaaaa
665     3: b
666     4: bbbbccccc
667     5: def
668    
669     /(?<=foo)[ab]/S
670 nigel 43 Capturing subpattern count = 0
671 nigel 41 No options
672     No first char
673 nigel 43 No need char
674 nigel 41 Starting character set: a b
675    
676     /(?<!foo)(alpha|omega)/S
677 nigel 43 Capturing subpattern count = 1
678 nigel 41 No options
679     No first char
680 nigel 43 Need char = 'a'
681 nigel 41 Starting character set: a o
682    
683     /(?!alphabet)[ab]/S
684 nigel 43 Capturing subpattern count = 0
685 nigel 41 No options
686     No first char
687 nigel 43 No need char
688 nigel 41 Starting character set: a b
689    
690     /(?<=foo\n)^bar/m
691 nigel 43 Capturing subpattern count = 0
692 nigel 41 Options: multiline
693     First char at start or follows \n
694 nigel 43 Need char = 'r'
695 nigel 41
696     /(?>^abc)/m
697 nigel 43 Capturing subpattern count = 0
698 nigel 41 Options: multiline
699     First char at start or follows \n
700 nigel 43 Need char = 'c'
701 nigel 41 abc
702     0: abc
703     def\nabc
704     0: abc
705     *** Failers
706     No match
707     defabc
708     No match
709    
710     /(?<=ab(c+)d)ef/
711     Failed: lookbehind assertion is not fixed length at offset 11
712    
713     /(?<=ab(?<=c+)d)ef/
714     Failed: lookbehind assertion is not fixed length at offset 12
715    
716     /(?<=ab(c|de)f)g/
717     Failed: lookbehind assertion is not fixed length at offset 13
718    
719     /The next three are in testinput2 because they have variable length branches/
720 nigel 43 Capturing subpattern count = 0
721 nigel 41 No options
722     First char = 'T'
723 nigel 43 Need char = 's'
724 nigel 41
725     /(?<=bullock|donkey)-cart/
726 nigel 43 Capturing subpattern count = 0
727 nigel 41 No options
728     First char = '-'
729 nigel 43 Need char = 't'
730 nigel 41 the bullock-cart
731     0: -cart
732     a donkey-cart race
733     0: -cart
734     *** Failers
735     No match
736     cart
737     No match
738     horse-and-cart
739     No match
740    
741     /(?<=ab(?i)x|y|z)/
742 nigel 43 Capturing subpattern count = 0
743 nigel 41 No options
744     Case state changes
745     No first char
746 nigel 43 No need char
747 nigel 41
748     /(?>.*)(?<=(abcd)|(xyz))/
749 nigel 43 Capturing subpattern count = 2
750 nigel 41 No options
751     First char at start or follows \n
752 nigel 43 No need char
753 nigel 41 alphabetabcd
754     0: alphabetabcd
755     1: abcd
756     endingxyz
757     0: endingxyz
758     1: <unset>
759     2: xyz
760    
761     /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
762 nigel 43 Capturing subpattern count = 0
763 nigel 41 No options
764     Case state changes
765     First char = 'Z'
766 nigel 43 Need char = 'Z'
767 nigel 41 abxyZZ
768     0: ZZ
769     abXyZZ
770     0: ZZ
771     ZZZ
772     0: ZZ
773     zZZ
774     0: ZZ
775     bZZ
776     0: ZZ
777     BZZ
778     0: ZZ
779     *** Failers
780     No match
781     ZZ
782     No match
783     abXYZZ
784     No match
785     zzz
786     No match
787     bzz
788     No match
789    
790     /(?<!(foo)a)bar/
791 nigel 43 Capturing subpattern count = 1
792 nigel 41 No options
793     First char = 'b'
794 nigel 43 Need char = 'r'
795 nigel 41 bar
796     0: bar
797     foobbar
798     0: bar
799     *** Failers
800     No match
801     fooabar
802     No match
803    
804     /This one is here because Perl 5.005_02 doesn't fail it/
805 nigel 43 Capturing subpattern count = 0
806 nigel 41 No options
807     First char = 'T'
808 nigel 43 Need char = 't'
809 nigel 41
810     /^(a)?(?(1)a|b)+$/
811 nigel 43 Capturing subpattern count = 1
812 nigel 41 Options: anchored
813     No first char
814 nigel 43 No need char
815 nigel 41 *** Failers
816     No match
817     a
818     No match
819    
820     /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/
821 nigel 43 Capturing subpattern count = 0
822 nigel 41 No options
823     First char = 'T'
824 nigel 43 Need char = 'g'
825 nigel 41
826     /^(a\1?){4}$/
827 nigel 43 Capturing subpattern count = 1
828     Max back reference = 1
829 nigel 41 Options: anchored
830     No first char
831 nigel 43 Need char = 'a'
832 nigel 41 aaaaaa
833     0: aaaaaa
834     1: aa
835    
836     /These are syntax tests from Perl 5.005/
837 nigel 43 Capturing subpattern count = 0
838 nigel 41 No options
839     First char = 'T'
840 nigel 43 Need char = '5'
841 nigel 41
842     /a[b-a]/
843     Failed: range out of order in character class at offset 4
844    
845     /a[]b/
846     Failed: missing terminating ] for character class at offset 4
847    
848     /a[/
849     Failed: missing terminating ] for character class at offset 2
850    
851     /*a/
852     Failed: nothing to repeat at offset 0
853    
854     /(*)b/
855     Failed: nothing to repeat at offset 1
856    
857     /abc)/
858     Failed: unmatched parentheses at offset 3
859    
860     /(abc/
861     Failed: missing ) at offset 4
862    
863     /a**/
864     Failed: nothing to repeat at offset 2
865    
866     /)(/
867     Failed: unmatched parentheses at offset 0
868    
869     /\1/
870     Failed: back reference to non-existent subpattern at offset 2
871    
872     /\2/
873     Failed: back reference to non-existent subpattern at offset 2
874    
875     /(a)|\2/
876     Failed: back reference to non-existent subpattern at offset 6
877    
878     /a[b-a]/i
879     Failed: range out of order in character class at offset 4
880    
881     /a[]b/i
882     Failed: missing terminating ] for character class at offset 4
883    
884     /a[/i
885     Failed: missing terminating ] for character class at offset 2
886    
887     /*a/i
888     Failed: nothing to repeat at offset 0
889    
890     /(*)b/i
891     Failed: nothing to repeat at offset 1
892    
893     /abc)/i
894     Failed: unmatched parentheses at offset 3
895    
896     /(abc/i
897     Failed: missing ) at offset 4
898    
899     /a**/i
900     Failed: nothing to repeat at offset 2
901    
902     /)(/i
903     Failed: unmatched parentheses at offset 0
904    
905     /:(?:/
906     Failed: missing ) at offset 4
907    
908     /(?<%)b/
909     Failed: unrecognized character after (?< at offset 0
910    
911     /a(?{)b/
912     Failed: unrecognized character after (? at offset 3
913    
914     /a(?{{})b/
915     Failed: unrecognized character after (? at offset 3
916    
917     /a(?{}})b/
918     Failed: unrecognized character after (? at offset 3
919    
920     /a(?{"{"})b/
921     Failed: unrecognized character after (? at offset 3
922    
923     /a(?{"{"}})b/
924     Failed: unrecognized character after (? at offset 3
925    
926     /(?(1?)a|b)/
927     Failed: malformed number after (?( at offset 4
928    
929     /(?(1)a|b|c)/
930     Failed: conditional group contains more than two branches at offset 10
931    
932     /[a[:xyz:/
933     Failed: missing terminating ] for character class at offset 8
934    
935     /(?<=x+)y/
936     Failed: lookbehind assertion is not fixed length at offset 6
937    
938     /a{37,17}/
939     Failed: numbers out of order in {} quantifier at offset 7
940    
941     /abc/\
942     Failed: \ at end of pattern at offset 4
943    
944     /abc/\P
945     Failed: POSIX code 9: bad escape sequence at offset 4
946    
947     /abc/\i
948     Failed: \ at end of pattern at offset 4
949    
950     /(a)bc(d)/
951 nigel 43 Capturing subpattern count = 2
952 nigel 41 No options
953     First char = 'a'
954 nigel 43 Need char = 'd'
955 nigel 41 abcd
956     0: abcd
957     1: a
958     2: d
959     abcd\C2
960     0: abcd
961     1: a
962     2: d
963     2C d (1)
964     abcd\C5
965     0: abcd
966     1: a
967     2: d
968     copy substring 5 failed -7
969    
970     /(.{20})/
971 nigel 43 Capturing subpattern count = 1
972 nigel 41 No options
973     No first char
974 nigel 43 No need char
975 nigel 41 abcdefghijklmnopqrstuvwxyz
976     0: abcdefghijklmnopqrst
977     1: abcdefghijklmnopqrst
978     abcdefghijklmnopqrstuvwxyz\C1
979     0: abcdefghijklmnopqrst
980     1: abcdefghijklmnopqrst
981     copy substring 1 failed -6
982     abcdefghijklmnopqrstuvwxyz\G1
983     0: abcdefghijklmnopqrst
984     1: abcdefghijklmnopqrst
985     1G abcdefghijklmnopqrst (20)
986    
987     /(.{15})/
988 nigel 43 Capturing subpattern count = 1
989 nigel 41 No options
990     No first char
991 nigel 43 No need char
992 nigel 41 abcdefghijklmnopqrstuvwxyz
993     0: abcdefghijklmno
994     1: abcdefghijklmno
995     abcdefghijklmnopqrstuvwxyz\C1\G1
996     0: abcdefghijklmno
997     1: abcdefghijklmno
998     1C abcdefghijklmno (15)
999     1G abcdefghijklmno (15)
1000    
1001     /(.{16})/
1002 nigel 43 Capturing subpattern count = 1
1003 nigel 41 No options
1004     No first char
1005 nigel 43 No need char
1006 nigel 41 abcdefghijklmnopqrstuvwxyz
1007     0: abcdefghijklmnop
1008     1: abcdefghijklmnop
1009     abcdefghijklmnopqrstuvwxyz\C1\G1\L
1010     0: abcdefghijklmnop
1011     1: abcdefghijklmnop
1012     copy substring 1 failed -6
1013     1G abcdefghijklmnop (16)
1014     0L abcdefghijklmnop
1015     1L abcdefghijklmnop
1016    
1017     /^(a|(bc))de(f)/
1018 nigel 43 Capturing subpattern count = 3
1019 nigel 41 Options: anchored
1020     No first char
1021 nigel 43 Need char = 'f'
1022 nigel 41 adef\G1\G2\G3\G4\L
1023     0: adef
1024     1: a
1025     2: <unset>
1026     3: f
1027     1G a (1)
1028     2G (0)
1029     3G f (1)
1030     get substring 4 failed -7
1031     0L adef
1032     1L a
1033     2L
1034     3L f
1035     bcdef\G1\G2\G3\G4\L
1036     0: bcdef
1037     1: bc
1038     2: bc
1039     3: f
1040     1G bc (2)
1041     2G bc (2)
1042     3G f (1)
1043     get substring 4 failed -7
1044     0L bcdef
1045     1L bc
1046     2L bc
1047     3L f
1048     adefghijk\C0
1049     0: adef
1050     1: a
1051     2: <unset>
1052     3: f
1053     0C adef (4)
1054    
1055     /^abc\00def/
1056 nigel 43 Capturing subpattern count = 0
1057 nigel 41 Options: anchored
1058     No first char
1059 nigel 43 Need char = 'f'
1060 nigel 41 abc\00def\L\C0
1061     0: abc\x00def
1062     0C abc (7)
1063     0L abc
1064    
1065     /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1066     )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1067     )?)?)?)?)?)?)?)?)?otherword/M
1068     Memory allocation (code space): 428
1069 nigel 43 Capturing subpattern count = 8
1070 nigel 41 No options
1071     First char = 'w'
1072 nigel 43 Need char = 'd'
1073 nigel 41
1074     /.*X/D
1075     ------------------------------------------------------------------
1076     0 8 Bra 0
1077     3 Any*
1078     5 1 X
1079     8 8 Ket
1080     11 End
1081     ------------------------------------------------------------------
1082 nigel 43 Capturing subpattern count = 0
1083 nigel 41 No options
1084     First char at start or follows \n
1085 nigel 43 Need char = 'X'
1086 nigel 41
1087     /.*X/Ds
1088     ------------------------------------------------------------------
1089     0 8 Bra 0
1090     3 Any*
1091     5 1 X
1092     8 8 Ket
1093     11 End
1094     ------------------------------------------------------------------
1095 nigel 43 Capturing subpattern count = 0
1096 nigel 41 Options: anchored dotall
1097     No first char
1098 nigel 43 Need char = 'X'
1099 nigel 41
1100     /(.*X|^B)/D
1101     ------------------------------------------------------------------
1102     0 21 Bra 0
1103     3 8 Bra 1
1104     6 Any*
1105     8 1 X
1106     11 7 Alt
1107     14 ^
1108     15 1 B
1109     18 15 Ket
1110     21 21 Ket
1111     24 End
1112     ------------------------------------------------------------------
1113 nigel 43 Capturing subpattern count = 1
1114 nigel 41 No options
1115     First char at start or follows \n
1116 nigel 43 No need char
1117 nigel 41
1118     /(.*X|^B)/Ds
1119     ------------------------------------------------------------------
1120     0 21 Bra 0
1121     3 8 Bra 1
1122     6 Any*
1123     8 1 X
1124     11 7 Alt
1125     14 ^
1126     15 1 B
1127     18 15 Ket
1128     21 21 Ket
1129     24 End
1130     ------------------------------------------------------------------
1131 nigel 43 Capturing subpattern count = 1
1132 nigel 41 Options: anchored dotall
1133     No first char
1134 nigel 43 No need char
1135 nigel 41
1136     /(?s)(.*X|^B)/D
1137     ------------------------------------------------------------------
1138     0 21 Bra 0
1139     3 8 Bra 1
1140     6 Any*
1141     8 1 X
1142     11 7 Alt
1143     14 ^
1144     15 1 B
1145     18 15 Ket
1146     21 21 Ket
1147     24 End
1148     ------------------------------------------------------------------
1149 nigel 43 Capturing subpattern count = 1
1150 nigel 41 Options: anchored dotall
1151     No first char
1152 nigel 43 No need char
1153 nigel 41
1154     /(?s:.*X|^B)/D
1155     ------------------------------------------------------------------
1156     0 27 Bra 0
1157     3 10 Bra 0
1158     6 04 Opt
1159     8 Any*
1160     10 1 X
1161     13 9 Alt
1162     16 04 Opt
1163     18 ^
1164     19 1 B
1165     22 19 Ket
1166     25 00 Opt
1167     27 27 Ket
1168     30 End
1169     ------------------------------------------------------------------
1170 nigel 43 Capturing subpattern count = 0
1171 nigel 41 No options
1172     First char at start or follows \n
1173 nigel 43 No need char
1174 nigel 41
1175     /\Biss\B/+
1176 nigel 43 Capturing subpattern count = 0
1177 nigel 41 No options
1178     First char = 'i'
1179 nigel 43 Need char = 's'
1180 nigel 41 Mississippi
1181     0: iss
1182     0+ issippi
1183    
1184     /\Biss\B/+P
1185     Mississippi
1186     0: iss
1187     0+ issippi
1188    
1189     /iss/G+
1190 nigel 43 Capturing subpattern count = 0
1191 nigel 41 No options
1192     First char = 'i'
1193 nigel 43 Need char = 's'
1194 nigel 41 Mississippi
1195     0: iss
1196     0+ issippi
1197     0: iss
1198     0+ ippi
1199    
1200     /\Biss\B/G+
1201 nigel 43 Capturing subpattern count = 0
1202 nigel 41 No options
1203     First char = 'i'
1204 nigel 43 Need char = 's'
1205 nigel 41 Mississippi
1206     0: iss
1207     0+ issippi
1208    
1209     /\Biss\B/g+
1210 nigel 43 Capturing subpattern count = 0
1211 nigel 41 No options
1212     First char = 'i'
1213 nigel 43 Need char = 's'
1214 nigel 41 Mississippi
1215     0: iss
1216     0+ issippi
1217     0: iss
1218     0+ ippi
1219     *** Failers
1220     No match
1221     Mississippi\A
1222     No match
1223    
1224     /(?<=[Ms])iss/g+
1225 nigel 43 Capturing subpattern count = 0
1226 nigel 41 No options
1227     First char = 'i'
1228 nigel 43 Need char = 's'
1229 nigel 41 Mississippi
1230     0: iss
1231     0+ issippi
1232     0: iss
1233     0+ ippi
1234    
1235     /(?<=[Ms])iss/G+
1236 nigel 43 Capturing subpattern count = 0
1237 nigel 41 No options
1238     First char = 'i'
1239 nigel 43 Need char = 's'
1240 nigel 41 Mississippi
1241     0: iss
1242     0+ issippi
1243    
1244     /^iss/g+
1245 nigel 43 Capturing subpattern count = 0
1246 nigel 41 Options: anchored
1247     No first char
1248 nigel 43 Need char = 's'
1249 nigel 41 ississippi
1250     0: iss
1251     0+ issippi
1252    
1253     /.*iss/g+
1254 nigel 43 Capturing subpattern count = 0
1255 nigel 41 No options
1256     First char at start or follows \n
1257 nigel 43 Need char = 's'
1258 nigel 41 abciss\nxyzisspqr
1259     0: abciss
1260     0+ \x0axyzisspqr
1261     0: xyziss
1262     0+ pqr
1263    
1264     /.i./+g
1265 nigel 43 Capturing subpattern count = 0
1266 nigel 41 No options
1267     No first char
1268 nigel 43 Need char = 'i'
1269 nigel 41 Mississippi
1270     0: Mis
1271     0+ sissippi
1272     0: sis
1273     0+ sippi
1274     0: sip
1275     0+ pi
1276     Mississippi\A
1277     0: Mis
1278     0+ sissippi
1279     0: sis
1280     0+ sippi
1281     0: sip
1282     0+ pi
1283     Missouri river
1284     0: Mis
1285     0+ souri river
1286     0: ri
1287     0+ river
1288     0: riv
1289     0+ er
1290     Missouri river\A
1291     0: Mis
1292     0+ souri river
1293    
1294     /^.is/+g
1295 nigel 43 Capturing subpattern count = 0
1296 nigel 41 Options: anchored
1297     No first char
1298 nigel 43 Need char = 's'
1299 nigel 41 Mississippi
1300     0: Mis
1301     0+ sissippi
1302    
1303     /^ab\n/g+
1304 nigel 43 Capturing subpattern count = 0
1305 nigel 41 Options: anchored
1306     No first char
1307 nigel 43 Need char = 10
1308 nigel 41 ab\nab\ncd
1309     0: ab\x0a
1310     0+ ab\x0acd
1311    
1312     /^ab\n/mg+
1313 nigel 43 Capturing subpattern count = 0
1314 nigel 41 Options: multiline
1315     First char at start or follows \n
1316 nigel 43 Need char = 10
1317 nigel 41 ab\nab\ncd
1318     0: ab\x0a
1319     0+ ab\x0acd
1320     0: ab\x0a
1321     0+ cd
1322    
1323     /abc/
1324 nigel 43 Capturing subpattern count = 0
1325 nigel 41 No options
1326     First char = 'a'
1327 nigel 43 Need char = 'c'
1328 nigel 41
1329     /abc|bac/
1330 nigel 43 Capturing subpattern count = 0
1331 nigel 41 No options
1332     No first char
1333 nigel 43 Need char = 'c'
1334 nigel 41
1335     /(abc|bac)/
1336 nigel 43 Capturing subpattern count = 1
1337 nigel 41 No options
1338     No first char
1339 nigel 43 Need char = 'c'
1340 nigel 41
1341     /(abc|(c|dc))/
1342 nigel 43 Capturing subpattern count = 2
1343 nigel 41 No options
1344     No first char
1345 nigel 43 Need char = 'c'
1346 nigel 41
1347     /(abc|(d|de)c)/
1348 nigel 43 Capturing subpattern count = 2
1349 nigel 41 No options
1350     No first char
1351 nigel 43 Need char = 'c'
1352 nigel 41
1353     /a*/
1354 nigel 43 Capturing subpattern count = 0
1355 nigel 41 No options
1356     No first char
1357 nigel 43 No need char
1358 nigel 41
1359     /a+/
1360 nigel 43 Capturing subpattern count = 0
1361 nigel 41 No options
1362     First char = 'a'
1363 nigel 43 No need char
1364 nigel 41
1365     /(baa|a+)/
1366 nigel 43 Capturing subpattern count = 1
1367 nigel 41 No options
1368     No first char
1369 nigel 43 Need char = 'a'
1370 nigel 41
1371     /a{0,3}/
1372 nigel 43 Capturing subpattern count = 0
1373 nigel 41 No options
1374     No first char
1375 nigel 43 No need char
1376 nigel 41
1377     /baa{3,}/
1378 nigel 43 Capturing subpattern count = 0
1379 nigel 41 No options
1380     First char = 'b'
1381 nigel 43 Need char = 'a'
1382 nigel 41
1383     /"([^\\"]+|\\.)*"/
1384 nigel 43 Capturing subpattern count = 1
1385 nigel 41 No options
1386     First char = '"'
1387 nigel 43 Need char = '"'
1388 nigel 41
1389     /(abc|ab[cd])/
1390 nigel 43 Capturing subpattern count = 1
1391 nigel 41 No options
1392     First char = 'a'
1393 nigel 43 No need char
1394 nigel 41
1395     /(a|.)/
1396 nigel 43 Capturing subpattern count = 1
1397 nigel 41 No options
1398     No first char
1399 nigel 43 No need char
1400 nigel 41
1401     /a|ba|\w/
1402 nigel 43 Capturing subpattern count = 0
1403 nigel 41 No options
1404     No first char
1405 nigel 43 No need char
1406 nigel 41
1407     /abc(?=pqr)/
1408 nigel 43 Capturing subpattern count = 0
1409 nigel 41 No options
1410     First char = 'a'
1411 nigel 43 Need char = 'r'
1412 nigel 41
1413     /...(?<=abc)/
1414 nigel 43 Capturing subpattern count = 0
1415 nigel 41 No options
1416     No first char
1417 nigel 43 No need char
1418 nigel 41
1419     /abc(?!pqr)/
1420 nigel 43 Capturing subpattern count = 0
1421 nigel 41 No options
1422     First char = 'a'
1423 nigel 43 Need char = 'c'
1424 nigel 41
1425     /ab./
1426 nigel 43 Capturing subpattern count = 0
1427 nigel 41 No options
1428     First char = 'a'
1429 nigel 43 Need char = 'b'
1430 nigel 41
1431     /ab[xyz]/
1432 nigel 43 Capturing subpattern count = 0
1433 nigel 41 No options
1434     First char = 'a'
1435 nigel 43 Need char = 'b'
1436 nigel 41
1437     /abc*/
1438 nigel 43 Capturing subpattern count = 0
1439 nigel 41 No options
1440     First char = 'a'
1441 nigel 43 Need char = 'b'
1442 nigel 41
1443     /ab.c*/
1444 nigel 43 Capturing subpattern count = 0
1445 nigel 41 No options
1446     First char = 'a'
1447 nigel 43 Need char = 'b'
1448 nigel 41
1449     /a.c*/
1450 nigel 43 Capturing subpattern count = 0
1451 nigel 41 No options
1452     First char = 'a'
1453 nigel 43 No need char
1454 nigel 41
1455     /.c*/
1456 nigel 43 Capturing subpattern count = 0
1457 nigel 41 No options
1458     No first char
1459 nigel 43 No need char
1460 nigel 41
1461     /ac*/
1462 nigel 43 Capturing subpattern count = 0
1463 nigel 41 No options
1464     First char = 'a'
1465 nigel 43 No need char
1466 nigel 41
1467     /(a.c*|b.c*)/
1468 nigel 43 Capturing subpattern count = 1
1469 nigel 41 No options
1470     No first char
1471 nigel 43 No need char
1472 nigel 41
1473     /a.c*|aba/
1474 nigel 43 Capturing subpattern count = 0
1475 nigel 41 No options
1476     First char = 'a'
1477 nigel 43 No need char
1478 nigel 41
1479     /.+a/
1480 nigel 43 Capturing subpattern count = 0
1481 nigel 41 No options
1482     No first char
1483 nigel 43 Need char = 'a'
1484 nigel 41
1485     /(?=abcda)a.*/
1486 nigel 43 Capturing subpattern count = 0
1487 nigel 41 No options
1488     First char = 'a'
1489 nigel 43 No need char
1490 nigel 41
1491     /(?=a)a.*/
1492 nigel 43 Capturing subpattern count = 0
1493 nigel 41 No options
1494     First char = 'a'
1495 nigel 43 No need char
1496 nigel 41
1497     /a(b)*/
1498 nigel 43 Capturing subpattern count = 1
1499 nigel 41 No options
1500     First char = 'a'
1501 nigel 43 No need char
1502 nigel 41
1503     /a\d*/
1504 nigel 43 Capturing subpattern count = 0
1505 nigel 41 No options
1506     First char = 'a'
1507 nigel 43 No need char
1508 nigel 41
1509     /ab\d*/
1510 nigel 43 Capturing subpattern count = 0
1511 nigel 41 No options
1512     First char = 'a'
1513 nigel 43 Need char = 'b'
1514 nigel 41
1515     /a(\d)*/
1516 nigel 43 Capturing subpattern count = 1
1517 nigel 41 No options
1518     First char = 'a'
1519 nigel 43 No need char
1520 nigel 41
1521     /abcde{0,0}/
1522 nigel 43 Capturing subpattern count = 0
1523 nigel 41 No options
1524     First char = 'a'
1525 nigel 43 Need char = 'd'
1526 nigel 41
1527     /ab\d+/
1528 nigel 43 Capturing subpattern count = 0
1529 nigel 41 No options
1530     First char = 'a'
1531 nigel 43 Need char = 'b'
1532 nigel 41
1533     /a(?(1)b)/
1534 nigel 43 Capturing subpattern count = 0
1535 nigel 41 No options
1536     First char = 'a'
1537 nigel 43 No need char
1538 nigel 41
1539     /a(?(1)bag|big)/
1540 nigel 43 Capturing subpattern count = 0
1541 nigel 41 No options
1542     First char = 'a'
1543 nigel 43 Need char = 'g'
1544 nigel 41
1545     /a(?(1)bag|big)*/
1546 nigel 43 Capturing subpattern count = 0
1547 nigel 41 No options
1548     First char = 'a'
1549 nigel 43 No need char
1550 nigel 41
1551     /a(?(1)bag|big)+/
1552 nigel 43 Capturing subpattern count = 0
1553 nigel 41 No options
1554     First char = 'a'
1555 nigel 43 Need char = 'g'
1556 nigel 41
1557     /a(?(1)b..|b..)/
1558 nigel 43 Capturing subpattern count = 0
1559 nigel 41 No options
1560     First char = 'a'
1561 nigel 43 Need char = 'b'
1562 nigel 41
1563     /ab\d{0}e/
1564 nigel 43 Capturing subpattern count = 0
1565 nigel 41 No options
1566     First char = 'a'
1567 nigel 43 Need char = 'e'
1568 nigel 41
1569     /a?b?/
1570 nigel 43 Capturing subpattern count = 0
1571 nigel 41 No options
1572     No first char
1573 nigel 43 No need char
1574 nigel 41 a
1575     0: a
1576     b
1577     0: b
1578     ab
1579     0: ab
1580     \
1581     0:
1582     *** Failers
1583     0:
1584     \N
1585     No match
1586    
1587     /|-/
1588 nigel 43 Capturing subpattern count = 0
1589 nigel 41 No options
1590     No first char
1591 nigel 43 No need char
1592 nigel 41 abcd
1593     0:
1594     -abc
1595     0:
1596     \Nab-c
1597     0: -
1598     *** Failers
1599     0:
1600     \Nabc
1601     No match
1602    
1603     /a*(b+)(z)(z)/P
1604     aaaabbbbzzzz
1605     0: aaaabbbbzz
1606     1: bbbb
1607     2: z
1608     3: z
1609     aaaabbbbzzzz\O0
1610     aaaabbbbzzzz\O1
1611     0: aaaabbbbzz
1612     aaaabbbbzzzz\O2
1613     0: aaaabbbbzz
1614     1: bbbb
1615     aaaabbbbzzzz\O3
1616     0: aaaabbbbzz
1617     1: bbbb
1618     2: z
1619     aaaabbbbzzzz\O4
1620     0: aaaabbbbzz
1621     1: bbbb
1622     2: z
1623     3: z
1624     aaaabbbbzzzz\O5
1625     0: aaaabbbbzz
1626     1: bbbb
1627     2: z
1628     3: z
1629 nigel 43
1630     /^.?abcd/S
1631     Capturing subpattern count = 0
1632     Options: anchored
1633     No first char
1634     Need char = 'd'
1635     Study returned NULL
1636 nigel 41
1637 nigel 43 /\( # ( at start
1638     (?: # Non-capturing bracket
1639     (?>[^()]+) # Either a sequence of non-brackets (no backtracking)
1640     | # Or
1641     (?R) # Recurse - i.e. nested bracketed string
1642     )* # Zero or more contents
1643     \) # Closing )
1644     /x
1645     Capturing subpattern count = 0
1646     Options: extended
1647     First char = '('
1648     Need char = ')'
1649     (abcd)
1650     0: (abcd)
1651     (abcd)xyz
1652     0: (abcd)
1653     xyz(abcd)
1654     0: (abcd)
1655     (ab(xy)cd)pqr
1656     0: (ab(xy)cd)
1657     (ab(xycd)pqr
1658     0: (xycd)
1659     () abc ()
1660     0: ()
1661     12(abcde(fsh)xyz(foo(bar))lmno)89
1662     0: (abcde(fsh)xyz(foo(bar))lmno)
1663     *** Failers
1664     No match
1665     abcd
1666     No match
1667     abcd)
1668     No match
1669     (abcd
1670     No match
1671    
1672     /\( ( (?>[^()]+) | (?R) )* \) /xg
1673     Capturing subpattern count = 1
1674     Options: extended
1675     First char = '('
1676     Need char = ')'
1677     (ab(xy)cd)pqr
1678     0: (ab(xy)cd)
1679     1: cd
1680     1(abcd)(x(y)z)pqr
1681     0: (abcd)
1682     1: abcd
1683     0: (x(y)z)
1684     1: z
1685    
1686     /\( (?: (?>[^()]+) | (?R) ) \) /x
1687     Capturing subpattern count = 0
1688     Options: extended
1689     First char = '('
1690     Need char = ')'
1691     (abcd)
1692     0: (abcd)
1693     (ab(xy)cd)
1694     0: (xy)
1695     (a(b(c)d)e)
1696     0: (c)
1697     ((ab))
1698     0: ((ab))
1699     *** Failers
1700     No match
1701     ()
1702     No match
1703    
1704     /\( (?: (?>[^()]+) | (?R) )? \) /x
1705     Capturing subpattern count = 0
1706     Options: extended
1707     First char = '('
1708     Need char = ')'
1709     ()
1710     0: ()
1711     12(abcde(fsh)xyz(foo(bar))lmno)89
1712     0: (fsh)
1713    
1714     /\( ( (?>[^()]+) | (?R) )* \) /x
1715     Capturing subpattern count = 1
1716     Options: extended
1717     First char = '('
1718     Need char = ')'
1719     (ab(xy)cd)
1720     0: (ab(xy)cd)
1721     1: cd
1722    
1723     /\( ( ( (?>[^()]+) | (?R) )* ) \) /x
1724     Capturing subpattern count = 2
1725     Options: extended
1726     First char = '('
1727     Need char = ')'
1728     (ab(xy)cd)
1729     0: (ab(xy)cd)
1730     1: ab(xy)cd
1731     2: cd
1732    
1733     /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x
1734     Capturing subpattern count = 3
1735     Options: extended
1736     First char = '('
1737     Need char = ')'
1738     (ab(xy)cd)
1739     0: (ab(xy)cd)
1740     1: <unset>
1741     2: ab(xy)cd
1742     3: cd
1743     (123ab(xy)cd)
1744     0: (123ab(xy)cd)
1745     1: 123
1746     2: ab(xy)cd
1747     3: cd
1748    
1749     /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x
1750     Capturing subpattern count = 3
1751     Options: extended
1752     First char = '('
1753     Need char = ')'
1754     (ab(xy)cd)
1755     0: (ab(xy)cd)
1756     1: ab(xy)cd
1757     2: <unset>
1758     3: cd
1759     (123ab(xy)cd)
1760     0: (123ab(xy)cd)
1761     1: 123ab(xy)cd
1762     2: 123
1763     3: cd
1764    
1765     /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x
1766     Capturing subpattern count = 11
1767     Options: extended
1768     First char = '('
1769     Need char = ')'
1770     (ab(xy)cd)
1771     0: (ab(xy)cd)
1772     1: ab(xy)cd
1773     2: ab(xy)cd
1774     3: ab(xy)cd
1775     4: ab(xy)cd
1776     5: ab(xy)cd
1777     6: ab(xy)cd
1778     7: ab(xy)cd
1779     8: ab(xy)cd
1780     9: ab(xy)cd
1781     10: ab(xy)cd
1782     11: cd
1783    
1784     /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x
1785     Capturing subpattern count = 3
1786     Options: extended
1787     First char = '('
1788     Need char = ')'
1789     (abcd(xyz<p>qrs)123)
1790     0: (abcd(xyz<p>qrs)123)
1791     1: abcd(xyz<p>qrs)123
1792     2: 123
1793     3: <p>qrs
1794    
1795     /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
1796     Capturing subpattern count = 3
1797     Options: extended
1798     First char = '('
1799     Need char = ')'
1800     (ab(cd)ef)
1801     0: (ab(cd)ef)
1802     1: ab(cd)ef
1803     2: ef
1804     3: (cd)
1805     (ab(cd(ef)gh)ij)
1806     0: (ab(cd(ef)gh)ij)
1807     1: ab(cd(ef)gh)ij
1808     2: ij
1809     3: (cd(ef)gh)
1810    
1811     /^[[:alnum:]]/D
1812     ------------------------------------------------------------------
1813     0 37 Bra 0
1814     3 ^
1815     4 [0-9A-Za-z]
1816     37 37 Ket
1817     40 End
1818     ------------------------------------------------------------------
1819     Capturing subpattern count = 0
1820     Options: anchored
1821     No first char
1822     No need char
1823    
1824     /^[[:alpha:]]/D
1825     ------------------------------------------------------------------
1826     0 37 Bra 0
1827     3 ^
1828     4 [A-Za-z]
1829     37 37 Ket
1830     40 End
1831     ------------------------------------------------------------------
1832     Capturing subpattern count = 0
1833     Options: anchored
1834     No first char
1835     No need char
1836    
1837     /^[[:ascii:]]/D
1838     ------------------------------------------------------------------
1839     0 37 Bra 0
1840     3 ^
1841     4 [\x00-\x7f]
1842     37 37 Ket
1843     40 End
1844     ------------------------------------------------------------------
1845     Capturing subpattern count = 0
1846     Options: anchored
1847     No first char
1848     No need char
1849    
1850     /^[[:cntrl:]]/D
1851     ------------------------------------------------------------------
1852     0 37 Bra 0
1853     3 ^
1854     4 [\x00-\x1f\x7f]
1855     37 37 Ket
1856     40 End
1857     ------------------------------------------------------------------
1858     Capturing subpattern count = 0
1859     Options: anchored
1860     No first char
1861     No need char
1862    
1863     /^[[:digit:]]/D
1864     ------------------------------------------------------------------
1865     0 37 Bra 0
1866     3 ^
1867     4 [0-9]
1868     37 37 Ket
1869     40 End
1870     ------------------------------------------------------------------
1871     Capturing subpattern count = 0
1872     Options: anchored
1873     No first char
1874     No need char
1875    
1876     /^[[:graph:]]/D
1877     ------------------------------------------------------------------
1878     0 37 Bra 0
1879     3 ^
1880     4 [!-~]
1881     37 37 Ket
1882     40 End
1883     ------------------------------------------------------------------
1884     Capturing subpattern count = 0
1885     Options: anchored
1886     No first char
1887     No need char
1888    
1889     /^[[:lower:]]/D
1890     ------------------------------------------------------------------
1891     0 37 Bra 0
1892     3 ^
1893     4 [a-z]
1894     37 37 Ket
1895     40 End
1896     ------------------------------------------------------------------
1897     Capturing subpattern count = 0
1898     Options: anchored
1899     No first char
1900     No need char
1901    
1902     /^[[:print:]]/D
1903     ------------------------------------------------------------------
1904     0 37 Bra 0
1905     3 ^
1906     4 [ -~]
1907     37 37 Ket
1908     40 End
1909     ------------------------------------------------------------------
1910     Capturing subpattern count = 0
1911     Options: anchored
1912     No first char
1913     No need char
1914    
1915     /^[[:punct:]]/D
1916     ------------------------------------------------------------------
1917     0 37 Bra 0
1918     3 ^
1919     4 [!-/:-@[-`{-~]
1920     37 37 Ket
1921     40 End
1922     ------------------------------------------------------------------
1923     Capturing subpattern count = 0
1924     Options: anchored
1925     No first char
1926     No need char
1927    
1928     /^[[:space:]]/D
1929     ------------------------------------------------------------------
1930     0 37 Bra 0
1931     3 ^
1932     4 [\x09-\x0d ]
1933     37 37 Ket
1934     40 End
1935     ------------------------------------------------------------------
1936     Capturing subpattern count = 0
1937     Options: anchored
1938     No first char
1939     No need char
1940    
1941     /^[[:upper:]]/D
1942     ------------------------------------------------------------------
1943     0 37 Bra 0
1944     3 ^
1945     4 [A-Z]
1946     37 37 Ket
1947     40 End
1948     ------------------------------------------------------------------
1949     Capturing subpattern count = 0
1950     Options: anchored
1951     No first char
1952     No need char
1953    
1954     /^[[:xdigit:]]/D
1955     ------------------------------------------------------------------
1956     0 37 Bra 0
1957     3 ^
1958     4 [0-9A-Fa-f]
1959     37 37 Ket
1960     40 End
1961     ------------------------------------------------------------------
1962     Capturing subpattern count = 0
1963     Options: anchored
1964     No first char
1965     No need char
1966    
1967     /^[[:word:]]/D
1968     ------------------------------------------------------------------
1969     0 37 Bra 0
1970     3 ^
1971     4 [0-9A-Z_a-z]
1972     37 37 Ket
1973     40 End
1974     ------------------------------------------------------------------
1975     Capturing subpattern count = 0
1976     Options: anchored
1977     No first char
1978     No need char
1979    
1980     /^[[:^cntrl:]]/D
1981     ------------------------------------------------------------------
1982     0 37 Bra 0
1983     3 ^
1984     4 [ -~\x80-\xff]
1985     37 37 Ket
1986     40 End
1987     ------------------------------------------------------------------
1988     Capturing subpattern count = 0
1989     Options: anchored
1990     No first char
1991     No need char
1992    
1993     /^[12[:^digit:]]/D
1994     ------------------------------------------------------------------
1995     0 37 Bra 0
1996     3 ^
1997     4 [\x00-/1-2:-\xff]
1998     37 37 Ket
1999     40 End
2000     ------------------------------------------------------------------
2001     Capturing subpattern count = 0
2002     Options: anchored
2003     No first char
2004     No need char
2005    
2006     /[01[:alpha:]%]/D
2007     ------------------------------------------------------------------
2008     0 36 Bra 0
2009     3 [%0-1A-Za-z]
2010     36 36 Ket
2011     39 End
2012     ------------------------------------------------------------------
2013     Capturing subpattern count = 0
2014     No options
2015     No first char
2016     No need char
2017    
2018     /[[.ch.]]/
2019     Failed: POSIX collating elements are not supported at offset 1
2020    
2021     /[[=ch=]]/
2022     Failed: POSIX collating elements are not supported at offset 1
2023    
2024     /[[:rhubarb:]]/
2025     Failed: unknown POSIX class name at offset 3
2026    
2027     /[[:upper:]]/i
2028     Capturing subpattern count = 0
2029     Options: caseless
2030     No first char
2031     No need char
2032     A
2033     0: A
2034     a
2035     0: a
2036    
2037     /[[:lower:]]/i
2038     Capturing subpattern count = 0
2039     Options: caseless
2040     No first char
2041     No need char
2042     A
2043     0: A
2044     a
2045     0: a
2046    
2047     /((?-i)[[:lower:]])[[:lower:]]/i
2048     Capturing subpattern count = 1
2049     Options: caseless
2050     Case state changes
2051     No first char
2052     No need char
2053     ab
2054     0: ab
2055     1: a
2056     aB
2057     0: aB
2058     1: a
2059     *** Failers
2060     0: ai
2061     1: a
2062     Ab
2063     No match
2064     AB
2065     No match
2066    
2067 nigel 41 / End of test input /
2068 nigel 43 Capturing subpattern count = 0
2069 nigel 41 No options
2070     First char = ' '
2071 nigel 43 Need char = ' '
2072 nigel 41

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12