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

Diff of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 91 by nigel, Sat Feb 24 21:41:34 2007 UTC revision 167 by ph10, Wed May 9 15:53:54 2007 UTC
# Line 1  Line 1 
1  /(a)b|/  /(a)b|/I
2  Capturing subpattern count = 1  Capturing subpattern count = 1
3  No options  No options
4  No first char  No first char
5  No need char  No need char
6    Capturing subpattern count = 1
7     0:
8    No options
9     0:
10    No first char
11     0:
12    No need char
13     0:
14    
15  /abc/  /abc/I
16  Capturing subpattern count = 0  Capturing subpattern count = 0
17  No options  No options
18  First char = 'a'  First char = 'a'
19  Need char = 'c'  Need char = 'c'
20    Capturing subpattern count = 0
21    No match
22    No options
23    No match
24    First char = 'a'
25    No match
26    Need char = 'c'
27    No match
28      abc      abc
29   0: abc   0: abc
30     0: abc
31     0: abc
32      defabc      defabc
33   0: abc   0: abc
34     0: abc
35     0: abc
36      \Aabc      \Aabc
37   0: abc   0: abc
38     0: abc
39     0: abc
40      *** Failers      *** Failers
41  No match  No match
42    No match
43    No match
44      \Adefabc      \Adefabc
45  No match  No match
46    No match
47    No match
48      ABC      ABC
49  No match  No match
50    No match
51    No match
52    
53  /^abc/  /^abc/I
54    Capturing subpattern count = 0
55    Options: anchored
56    No first char
57    No need char
58  Capturing subpattern count = 0  Capturing subpattern count = 0
59    No match
60  Options: anchored  Options: anchored
61    No match
62  No first char  No first char
63    No match
64  No need char  No need char
65    No match
66      abc      abc
67   0: abc   0: abc
68     0: abc
69    No match
70      \Aabc      \Aabc
71   0: abc   0: abc
72     0: abc
73    No match
74      *** Failers      *** Failers
75  No match  No match
76    No match
77    No match
78      defabc      defabc
79  No match  No match
80    No match
81    No match
82      \Adefabc      \Adefabc
83  No match  No match
84    No match
85    No match
86    
87  /a+bc/  /a+bc/I
88    Capturing subpattern count = 0
89    Partial matching not supported
90    No options
91    First char = 'a'
92    Need char = 'c'
93  Capturing subpattern count = 0  Capturing subpattern count = 0
94    No match
95  Partial matching not supported  Partial matching not supported
96    No match
97  No options  No options
98    No match
99  First char = 'a'  First char = 'a'
100    No match
101  Need char = 'c'  Need char = 'c'
102    No match
103    
104  /a*bc/  /a*bc/I
105  Capturing subpattern count = 0  Capturing subpattern count = 0
106  Partial matching not supported  Partial matching not supported
107  No options  No options
108  No first char  No first char
109  Need char = 'c'  Need char = 'c'
110    Capturing subpattern count = 0
111    No match
112    Partial matching not supported
113    No match
114    No options
115    No match
116    No first char
117    No match
118    Need char = 'c'
119    No match
120    
121  /a{3}bc/  /a{3}bc/I
122    Capturing subpattern count = 0
123    Partial matching not supported
124    No options
125    First char = 'a'
126    Need char = 'c'
127  Capturing subpattern count = 0  Capturing subpattern count = 0
128    No match
129  Partial matching not supported  Partial matching not supported
130    No match
131  No options  No options
132    No match
133  First char = 'a'  First char = 'a'
134    No match
135  Need char = 'c'  Need char = 'c'
136    No match
137    
138  /(abc|a+z)/  /(abc|a+z)/I
139    Capturing subpattern count = 1
140    Partial matching not supported
141    No options
142    First char = 'a'
143    No need char
144  Capturing subpattern count = 1  Capturing subpattern count = 1
145    No match
146  Partial matching not supported  Partial matching not supported
147    No match
148  No options  No options
149    No match
150  First char = 'a'  First char = 'a'
151    No match
152  No need char  No need char
153    No match
154    
155  /^abc$/  /^abc$/I
156    Capturing subpattern count = 0
157    Options: anchored
158    No first char
159    No need char
160  Capturing subpattern count = 0  Capturing subpattern count = 0
161    No match
162  Options: anchored  Options: anchored
163    No match
164  No first char  No first char
165    No match
166  No need char  No need char
167    No match
168      abc      abc
169   0: abc   0: abc
170     0: abc
171    No match
172      *** Failers      *** Failers
173  No match  No match
174    No match
175    No match
176      def\nabc      def\nabc
177  No match  No match
178    No match
179    No match
180    
181  /ab\gdef/X  /ab\hdef/X
182  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
183    
184  /(?X)ab\gdef/X  /(?X)ab\hdef/X
185  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
186    
187  /x{5,4}/  /x{5,4}/
# Line 111  Failed: missing ) after comment at offse Line 211  Failed: missing ) after comment at offse
211  /(?z)abc/  /(?z)abc/
212  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? at offset 2
213    
214  /.*b/  /.*b/I
215    Capturing subpattern count = 0
216    Partial matching not supported
217    No options
218    First char at start or follows newline
219    Need char = 'b'
220  Capturing subpattern count = 0  Capturing subpattern count = 0
221     0: Capturing sub
222  Partial matching not supported  Partial matching not supported
223    No match
224  No options  No options
225    No match
226  First char at start or follows newline  First char at start or follows newline
227    No match
228  Need char = 'b'  Need char = 'b'
229     0: Need char = 'b
230    
231  /.*?b/  /.*?b/I
232    Capturing subpattern count = 0
233    Partial matching not supported
234    No options
235    First char at start or follows newline
236    Need char = 'b'
237  Capturing subpattern count = 0  Capturing subpattern count = 0
238     0: Capturing sub
239  Partial matching not supported  Partial matching not supported
240    No match
241  No options  No options
242    No match
243  First char at start or follows newline  First char at start or follows newline
244    No match
245  Need char = 'b'  Need char = 'b'
246     0: Need char = 'b
247    
248  /cat|dog|elephant/  /cat|dog|elephant/I
249    Capturing subpattern count = 0
250    No options
251    No first char
252    No need char
253  Capturing subpattern count = 0  Capturing subpattern count = 0
254    No match
255  No options  No options
256    No match
257  No first char  No first char
258    No match
259  No need char  No need char
260    No match
261      this sentence eventually mentions a cat      this sentence eventually mentions a cat
262   0: cat   0: cat
263     0: cat
264     0: cat
265      this sentences rambles on and on for a while and then reaches elephant      this sentences rambles on and on for a while and then reaches elephant
266   0: elephant   0: elephant
267     0: elephant
268     0: elephant
269    
270  /cat|dog|elephant/S  /cat|dog|elephant/IS
271  Capturing subpattern count = 0  Capturing subpattern count = 0
272  No options  No options
273  No first char  No first char
274  No need char  No need char
275  Starting byte set: c d e  Starting byte set: c d e
276    Capturing subpattern count = 0
277    No match
278    No options
279    No match
280    No first char
281    No match
282    No need char
283    No match
284    Starting byte set: c d e
285    No match
286      this sentence eventually mentions a cat      this sentence eventually mentions a cat
287   0: cat   0: cat
288     0: cat
289     0: cat
290      this sentences rambles on and on for a while and then reaches elephant      this sentences rambles on and on for a while and then reaches elephant
291   0: elephant   0: elephant
292     0: elephant
293     0: elephant
294    
295  /cat|dog|elephant/iS  /cat|dog|elephant/IiS
296    Capturing subpattern count = 0
297    Options: caseless
298    No first char
299    No need char
300    Starting byte set: C D E c d e
301  Capturing subpattern count = 0  Capturing subpattern count = 0
302    No match
303  Options: caseless  Options: caseless
304    No match
305  No first char  No first char
306    No match
307  No need char  No need char
308    No match
309  Starting byte set: C D E c d e  Starting byte set: C D E c d e
310    No match
311      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
312   0: CAT   0: CAT
313     0: CAT
314     0: CAT
315      this sentences rambles on and on for a while to elephant ElePhant      this sentences rambles on and on for a while to elephant ElePhant
316   0: elephant   0: elephant
317     0: elephant
318     0: elephant
319    
320  /a|[bcd]/S  /a|[bcd]/IS
321    Capturing subpattern count = 0
322    No options
323    No first char
324    No need char
325    Starting byte set: a b c d
326  Capturing subpattern count = 0  Capturing subpattern count = 0
327     0: a
328  No options  No options
329    No match
330  No first char  No first char
331     0: c
332  No need char  No need char
333     0: d
334  Starting byte set: a b c d  Starting byte set: a b c d
335     0: a
336    
337  /(a|[^\dZ])/S  /(a|[^\dZ])/IS
338    Capturing subpattern count = 1
339    No options
340    No first char
341    No need char
342    Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
343      \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
344      \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
345      ? @ 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
346      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
347      \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92
348      \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1
349      \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0
350      \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf
351      \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce
352      \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd
353      \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec
354      \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
355      \xfc \xfd \xfe \xff
356  Capturing subpattern count = 1  Capturing subpattern count = 1
357     0: C
358     1: C
359  No options  No options
360     0: N
361     1: N
362  No first char  No first char
363     0: N
364     1: N
365  No need char  No need char
366     0: N
367     1: N
368  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
369     0: S
370     1: S
371    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
372     0: \x0b
373     1: \x0b
374    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
375     0: \x1a
376     1: \x1a
377    ? @ 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    ? @ 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
378     0: ?
379     1: ?
380    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    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
381     0: e
382     1: e
383    \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92    \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92
384     0: \x84
385     1: \x84
386    \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1    \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1
387     0: \x93
388     1: \x93
389    \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0    \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0
390     0: \xa2
391     1: \xa2
392    \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf    \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf
393     0: \xb1
394     1: \xb1
395    \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce    \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce
396     0: \xc0
397     1: \xc0
398    \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd    \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd
399     0: \xcf
400     1: \xcf
401    \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec    \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec
402     0: \xde
403     1: \xde
404    \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb    \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
405     0: \xed
406     1: \xed
407    \xfc \xfd \xfe \xff    \xfc \xfd \xfe \xff
408     0: \xfc
409     1: \xfc
410    
411  /(a|b)*[\s]/S  /(a|b)*[\s]/IS
412    Capturing subpattern count = 1
413    No options
414    No first char
415    No need char
416    Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
417  Capturing subpattern count = 1  Capturing subpattern count = 1
418     0:
419  No options  No options
420     0:
421  No first char  No first char
422     0:
423  No need char  No need char
424     0:
425  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
426     0:
427    
428  /(ab\2)/  /(ab\2)/
429  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
# Line 197  Failed: reference to non-existent subpat Line 431  Failed: reference to non-existent subpat
431  /{4,5}abc/  /{4,5}abc/
432  Failed: nothing to repeat at offset 4  Failed: nothing to repeat at offset 4
433    
434  /(a)(b)(c)\2/  /(a)(b)(c)\2/I
435    Capturing subpattern count = 3
436    Max back reference = 2
437    No options
438    First char = 'a'
439    Need char = 'c'
440  Capturing subpattern count = 3  Capturing subpattern count = 3
441    No match
442  Max back reference = 2  Max back reference = 2
443    No match
444  No options  No options
445    No match
446  First char = 'a'  First char = 'a'
447    No match
448  Need char = 'c'  Need char = 'c'
449    No match
450      abcb      abcb
451   0: abcb   0: abcb
452   1: a   1: a
453   2: b   2: b
454   3: c   3: c
455     0: abcb
456     0: abcb
457     1: a
458     2: b
459     3: c
460     1: a
461    No match
462     2: b
463    No match
464     3: c
465    No match
466      \O0abcb      \O0abcb
467  Matched, but too many substrings  Matched, but too many substrings
468    Matched, but too many substrings
469    No match
470      \O3abcb      \O3abcb
471  Matched, but too many substrings  Matched, but too many substrings
472   0: abcb   0: abcb
473    Matched, but too many substrings
474    No match
475     0: abcb
476     0: abcb
477     1: a
478     2: b
479     3: c
480      \O6abcb      \O6abcb
481  Matched, but too many substrings  Matched, but too many substrings
482   0: abcb   0: abcb
483   1: a   1: a
484    Matched, but too many substrings
485    No match
486     0: abcb
487     0: abcb
488     1: a
489     2: b
490     3: c
491     1: a
492    No match
493      \O9abcb      \O9abcb
494  Matched, but too many substrings  Matched, but too many substrings
495   0: abcb   0: abcb
496   1: a   1: a
497   2: b   2: b
498      \O12abcb  Matched, but too many substrings
499    No match
500     0: abcb
501     0: abcb
502     1: a
503     2: b
504     3: c
505     1: a
506    No match
507     2: b
508    No match
509        \O12abcb
510     0: abcb
511     1: a
512     2: b
513     3: c
514     0: abcb
515   0: abcb   0: abcb
516   1: a   1: a
517   2: b   2: b
518   3: c   3: c
519     1: a
520    No match
521     2: b
522    No match
523     3: c
524    No match
525    
526  /(a)bc|(a)(b)\2/  /(a)bc|(a)(b)\2/I
527  Capturing subpattern count = 3  Capturing subpattern count = 3
528  Max back reference = 2  Max back reference = 2
529  No options  No options
530  First char = 'a'  First char = 'a'
531  No need char  No need char
532      abc  Capturing subpattern count = 3
533   0: abc  No match
534   1: a  Max back reference = 2
535      \O0abc  No match
536  Matched, but too many substrings  No options
537      \O3abc  No match
538  Matched, but too many substrings  First char = 'a'
539   0: abc  No match
540    No need char
541    No match
542        abc
543     0: abc
544     1: a
545     0: abc
546     0: abc
547     1: a
548     1: a
549    No match
550        \O0abc
551    Matched, but too many substrings
552    Matched, but too many substrings
553    No match
554        \O3abc
555    Matched, but too many substrings
556     0: abc
557    Matched, but too many substrings
558    No match
559     0: abc
560     0: abc
561     1: a
562      \O6abc      \O6abc
563   0: abc   0: abc
564   1: a   1: a
565     0: abc
566     0: abc
567     1: a
568     1: a
569    No match
570      aba      aba
571   0: aba   0: aba
572   1: <unset>   1: <unset>
573   2: a   2: a
574   3: b   3: b
575     0: aba
576     0: aba
577     1: <unset>
578     2: a
579     3: b
580     1: <unset>
581    No match
582     2: a
583    No match
584     3: b
585    No match
586      \O0aba      \O0aba
587  Matched, but too many substrings  Matched, but too many substrings
588    Matched, but too many substrings
589    No match
590      \O3aba      \O3aba
591  Matched, but too many substrings  Matched, but too many substrings
592   0: aba   0: aba
593    Matched, but too many substrings
594    No match
595     0: aba
596     0: aba
597     1: <unset>
598     2: a
599     3: b
600      \O6aba      \O6aba
601  Matched, but too many substrings  Matched, but too many substrings
602   0: aba   0: aba
603   1: <unset>   1: <unset>
604    Matched, but too many substrings
605    No match
606     0: aba
607     0: aba
608     1: <unset>
609     2: a
610     3: b
611     1: <unset>
612    No match
613      \O9aba      \O9aba
614  Matched, but too many substrings  Matched, but too many substrings
615   0: aba   0: aba
616   1: <unset>   1: <unset>
617   2: a   2: a
618    Matched, but too many substrings
619    No match
620     0: aba
621     0: aba
622     1: <unset>
623     2: a
624     3: b
625     1: <unset>
626    No match
627     2: a
628    No match
629      \O12aba      \O12aba
630   0: aba   0: aba
631   1: <unset>   1: <unset>
632   2: a   2: a
633   3: b   3: b
634     0: aba
635     0: aba
636     1: <unset>
637     2: a
638     3: b
639     1: <unset>
640    No match
641     2: a
642    No match
643     3: b
644    No match
645    
646  /abc$/E  /abc$/IE
647    Capturing subpattern count = 0
648    Options: dollar_endonly
649    First char = 'a'
650    Need char = 'c'
651  Capturing subpattern count = 0  Capturing subpattern count = 0
652    No match
653  Options: dollar_endonly  Options: dollar_endonly
654    No match
655  First char = 'a'  First char = 'a'
656    No match
657  Need char = 'c'  Need char = 'c'
658    No match
659      abc      abc
660   0: abc   0: abc
661     0: abc
662     0: abc
663      *** Failers      *** Failers
664  No match  No match
665    No match
666    No match
667      abc\n      abc\n
668  No match  No match
669    No match
670    No match
671      abc\ndef      abc\ndef
672  No match  No match
673    No match
674    No match
675    
676  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
677  Failed: reference to non-existent subpattern at offset 17  Failed: reference to non-existent subpattern at offset 17
678    
679  /the quick brown fox/  /the quick brown fox/I
680    Capturing subpattern count = 0
681    No options
682    First char = 't'
683    Need char = 'x'
684  Capturing subpattern count = 0  Capturing subpattern count = 0
685    No match
686  No options  No options
687    No match
688  First char = 't'  First char = 't'
689    No match
690  Need char = 'x'  Need char = 'x'
691    No match
692      the quick brown fox      the quick brown fox
693   0: the quick brown fox   0: the quick brown fox
694     0: the quick brown fox
695     0: the quick brown fox
696      this is a line with the quick brown fox      this is a line with the quick brown fox
697   0: the quick brown fox   0: the quick brown fox
698     0: the quick brown fox
699     0: the quick brown fox
700    
701  /the quick brown fox/A  /the quick brown fox/IA
702    Capturing subpattern count = 0
703    Options: anchored
704    No first char
705    No need char
706  Capturing subpattern count = 0  Capturing subpattern count = 0
707    No match
708  Options: anchored  Options: anchored
709    No match
710  No first char  No first char
711    No match
712  No need char  No need char
713    No match
714      the quick brown fox      the quick brown fox
715   0: the quick brown fox   0: the quick brown fox
716     0: the quick brown fox
717    No match
718      *** Failers      *** Failers
719  No match  No match
720    No match
721    No match
722      this is a line with the quick brown fox      this is a line with the quick brown fox
723  No match  No match
724    No match
725    No match
726    
727  /ab(?z)cd/  /ab(?z)cd/
728  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? at offset 4
729    
730  /^abc|def/  /^abc|def/I
731  Capturing subpattern count = 0  Capturing subpattern count = 0
732  No options  No options
733  No first char  No first char
734  No need char  No need char
735    Capturing subpattern count = 0
736    No match
737    No options
738    No match
739    No first char
740    No match
741    No need char
742    No match
743      abcdef      abcdef
744   0: abc   0: abc
745     0: abc
746    No match
747      abcdef\B      abcdef\B
748   0: def   0: def
749     0: def
750     0: def
751    
752  /.*((abc)$|(def))/  /.*((abc)$|(def))/I
753    Capturing subpattern count = 3
754    Partial matching not supported
755    No options
756    First char at start or follows newline
757    No need char
758  Capturing subpattern count = 3  Capturing subpattern count = 3
759    No match
760  Partial matching not supported  Partial matching not supported
761    No match
762  No options  No options
763    No match
764  First char at start or follows newline  First char at start or follows newline
765    No match
766  No need char  No need char
767    No match
768      defabc      defabc
769   0: defabc   0: defabc
770   1: abc   1: abc
771   2: abc   2: abc
772     0: defabc
773     0: 0: defabc
774     1: abc
775     2: abc
776     1: abc
777     0: 1: abc
778     1: abc
779     2: abc
780     2: abc
781     0: 2: abc
782     1: abc
783     2: abc
784      \Zdefabc      \Zdefabc
785   0: def   0: def
786   1: def   1: def
787   2: <unset>   2: <unset>
788   3: def   3: def
789     0: def
790     0: 0: def
791     1: def
792     2: <unset>
793     3: def
794     1: def
795     0: 1: def
796     1: def
797     2: <unset>
798     3: def
799     2: <unset>
800    No match
801     3: def
802     0: 3: def
803     1: def
804     2: <unset>
805     3: def
806    
807  /abc/P  /abc/IP
808      abc      abc
809   0: abc   0: abc
810     0: abc
811     0: abc
812      *** Failers      *** Failers
813  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
814    No match: POSIX code 17: match failed
815  /^abc|def/P  No match: POSIX code 17: match failed
816    
817    /^abc|def/IP
818      abcdef      abcdef
819   0: abc   0: abc
820     0: abc
821    No match: POSIX code 17: match failed
822      abcdef\B      abcdef\B
823   0: def   0: def
824     0: def
825     0: def
826    
827  /.*((abc)$|(def))/P  /.*((abc)$|(def))/IP
828      defabc      defabc
829   0: defabc   0: defabc
830   1: abc   1: abc
831   2: abc   2: abc
832     0: defabc
833     0: 0: defabc
834     1: abc
835     2: abc
836     1: abc
837     0: 1: abc
838     1: abc
839     2: abc
840     2: abc
841     0: 2: abc
842     1: abc
843     2: abc
844      \Zdefabc      \Zdefabc
845   0: def   0: def
846   1: def   1: def
847   3: def   3: def
848     0: def
849  /the quick brown fox/P   0: 0: def
850     1: def
851     3: def
852     1: def
853     0: 1: def
854     1: def
855     3: def
856     3: def
857     0: 3: def
858     1: def
859     3: def
860    
861    /the quick brown fox/IP
862      the quick brown fox      the quick brown fox
863   0: the quick brown fox   0: the quick brown fox
864      *** Failers   0: the quick brown fox
865     0: the quick brown fox
866        *** Failers
867    No match: POSIX code 17: match failed
868    No match: POSIX code 17: match failed
869    No match: POSIX code 17: match failed
870        The Quick Brown Fox
871    No match: POSIX code 17: match failed
872  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
     The Quick Brown Fox  
873  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
874    
875  /the quick brown fox/Pi  /the quick brown fox/IPi
876      the quick brown fox      the quick brown fox
877   0: the quick brown fox   0: the quick brown fox
878      The Quick Brown Fox   0: the quick brown fox
879     0: the quick brown fox
880        The Quick Brown Fox
881     0: The Quick Brown Fox
882     0: The Quick Brown Fox
883   0: The Quick Brown Fox   0: The Quick Brown Fox
884    
885  /abc.def/P  /abc.def/IP
886      *** Failers      *** Failers
887  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
888    No match: POSIX code 17: match failed
889    No match: POSIX code 17: match failed
890      abc\ndef      abc\ndef
891  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
892    No match: POSIX code 17: match failed
893  /abc$/P  No match: POSIX code 17: match failed
894    
895    /abc$/IP
896      abc      abc
897   0: abc   0: abc
898      abc\n   0: abc
899     0: abc
900        abc\n
901     0: abc
902     0: abc
903   0: abc   0: abc
904    
905  /(abc)\2/P  /(abc)\2/IP
906  Failed: POSIX code 15: bad back reference at offset 7  Failed: POSIX code 15: bad back reference at offset 7
907    
908  /(abc\1)/P  /(abc\1)/IP
909      abc      abc
910  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
911    No match: POSIX code 17: match failed
912    No match: POSIX code 17: match failed
913    
914  /)/  /)/
915  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
# Line 399  Failed: unmatched parentheses at offset Line 917  Failed: unmatched parentheses at offset
917  /a[]b/  /a[]b/
918  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
919    
920  /[^aeiou ]{3,}/  /[^aeiou ]{3,}/I
921    Capturing subpattern count = 0
922    Partial matching not supported
923    No options
924    No first char
925    No need char
926  Capturing subpattern count = 0  Capturing subpattern count = 0
927    No match
928  Partial matching not supported  Partial matching not supported
929     0: tch
930  No options  No options
931    No match
932  No first char  No first char
933     0: rst
934  No need char  No need char
935      co-processors, and for  No match
936        co-processors, and for
937   0: -pr   0: -pr
938     0: -pr
939  /<.*>/   0: -pr
940    
941    /<.*>/I
942  Capturing subpattern count = 0  Capturing subpattern count = 0
943  Partial matching not supported  Partial matching not supported
944  No options  No options
945  First char = '<'  First char = '<'
946  Need char = '>'  Need char = '>'
     abc<def>ghi<klm>nop  
  0: <def>ghi<klm>  
   
 /<.*?>/  
947  Capturing subpattern count = 0  Capturing subpattern count = 0
948    No match
949  Partial matching not supported  Partial matching not supported
950    No match
951  No options  No options
952    No match
953  First char = '<'  First char = '<'
954    No match
955  Need char = '>'  Need char = '>'
956    No match
957      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
958   0: <def>   0: <def>ghi<klm>
959     0: <def>ghi<klm>
960     0: <def>ghi<klm>
961    
962  /<.*>/U  /<.*?>/I
963  Capturing subpattern count = 0  Capturing subpattern count = 0
964  Partial matching not supported  Partial matching not supported
965  Options: ungreedy  No options
966  First char = '<'  First char = '<'
967  Need char = '>'  Need char = '>'
     abc<def>ghi<klm>nop  
  0: <def>  
   
 /(?U)<.*>/  
968  Capturing subpattern count = 0  Capturing subpattern count = 0
969    No match
970  Partial matching not supported  Partial matching not supported
971    No match
972    No options
973    No match
974    First char = '<'
975    No match
976    Need char = '>'
977    No match
978        abc<def>ghi<klm>nop
979     0: <def>
980     0: <def>
981     0: <def>
982    
983    /<.*>/IU
984    Capturing subpattern count = 0
985    Partial matching not supported
986    Options: ungreedy
987    First char = '<'
988    Need char = '>'
989    Capturing subpattern count = 0
990    No match
991    Partial matching not supported
992    No match
993    Options: ungreedy
994    No match
995    First char = '<'
996    No match
997    Need char = '>'
998    No match
999        abc<def>ghi<klm>nop
1000     0: <def>
1001     0: <def>
1002     0: <def>
1003    
1004    /(?U)<.*>/I
1005    Capturing subpattern count = 0
1006    Partial matching not supported
1007    Options: ungreedy
1008    First char = '<'
1009    Need char = '>'
1010    Capturing subpattern count = 0
1011    No match
1012    Partial matching not supported
1013    No match
1014  Options: ungreedy  Options: ungreedy
1015    No match
1016  First char = '<'  First char = '<'
1017    No match
1018  Need char = '>'  Need char = '>'
1019    No match
1020      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
1021   0: <def>   0: <def>
1022     0: <def>
1023     0: <def>
1024    
1025  /<.*?>/U  /<.*?>/IU
1026    Capturing subpattern count = 0
1027    Partial matching not supported
1028    Options: ungreedy
1029    First char = '<'
1030    Need char = '>'
1031  Capturing subpattern count = 0  Capturing subpattern count = 0
1032    No match
1033  Partial matching not supported  Partial matching not supported
1034    No match
1035  Options: ungreedy  Options: ungreedy
1036    No match
1037  First char = '<'  First char = '<'
1038    No match
1039  Need char = '>'  Need char = '>'
1040    No match
1041      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
1042   0: <def>ghi<klm>   0: <def>ghi<klm>
1043     0: <def>ghi<klm>
1044  /={3,}/U   0: <def>ghi<klm>
1045    
1046    /={3,}/IU
1047    Capturing subpattern count = 0
1048    Partial matching not supported
1049    Options: ungreedy
1050    First char = '='
1051    Need char = '='
1052  Capturing subpattern count = 0  Capturing subpattern count = 0
1053    No match
1054  Partial matching not supported  Partial matching not supported
1055    No match
1056  Options: ungreedy  Options: ungreedy
1057    No match
1058  First char = '='  First char = '='
1059    No match
1060  Need char = '='  Need char = '='
1061    No match
1062      abc========def      abc========def
1063   0: ===   0: ===
1064     0: ===
1065  /(?U)={3,}?/   0: ===
1066    
1067    /(?U)={3,}?/I
1068    Capturing subpattern count = 0
1069    Partial matching not supported
1070    Options: ungreedy
1071    First char = '='
1072    Need char = '='
1073  Capturing subpattern count = 0  Capturing subpattern count = 0
1074    No match
1075  Partial matching not supported  Partial matching not supported
1076    No match
1077  Options: ungreedy  Options: ungreedy
1078    No match
1079  First char = '='  First char = '='
1080    No match
1081  Need char = '='  Need char = '='
1082    No match
1083      abc========def      abc========def
1084   0: ========   0: ========
1085     0: ========
1086  /(?<!bar|cattle)foo/   0: ========
1087    
1088    /(?<!bar|cattle)foo/I
1089  Capturing subpattern count = 0  Capturing subpattern count = 0
1090  No options  No options
1091  First char = 'f'  First char = 'f'
1092  Need char = 'o'  Need char = 'o'
1093    Capturing subpattern count = 0
1094    No match
1095    No options
1096    No match
1097    First char = 'f'
1098    No match
1099    Need char = 'o'
1100    No match
1101      foo      foo
1102   0: foo   0: foo
1103      catfoo   0: foo
1104     0: foo
1105        catfoo
1106     0: foo
1107     0: foo
1108   0: foo   0: foo
1109      *** Failers      *** Failers
1110  No match  No match
1111    No match
1112    No match
1113      the barfoo      the barfoo
1114  No match  No match
1115      and cattlefoo  No match
1116    No match
1117        and cattlefoo
1118    No match
1119    No match
1120  No match  No match
1121    
1122  /(?<=a+)b/  /(?<=a+)b/
# Line 496  Failed: lookbehind assertion is not fixe Line 1128  Failed: lookbehind assertion is not fixe
1128  /(?<!(foo)a\1)bar/  /(?<!(foo)a\1)bar/
1129  Failed: lookbehind assertion is not fixed length at offset 12  Failed: lookbehind assertion is not fixed length at offset 12
1130    
1131  /(?i)abc/  /(?i)abc/I
1132    Capturing subpattern count = 0
1133    Options: caseless
1134    First char = 'a' (caseless)
1135    Need char = 'c' (caseless)
1136  Capturing subpattern count = 0  Capturing subpattern count = 0
1137    No match
1138  Options: caseless  Options: caseless
1139    No match
1140  First char = 'a' (caseless)  First char = 'a' (caseless)
1141    No match
1142  Need char = 'c' (caseless)  Need char = 'c' (caseless)
1143    No match
1144    
1145  /(a|(?m)a)/  /(a|(?m)a)/I
1146    Capturing subpattern count = 1
1147    No options
1148    First char = 'a'
1149    No need char
1150  Capturing subpattern count = 1  Capturing subpattern count = 1
1151     0: a
1152     1: a
1153  No options  No options
1154    No match
1155  First char = 'a'  First char = 'a'
1156     0: a
1157     1: a
1158  No need char  No need char
1159     0: a
1160     1: a
1161    
1162  /(?i)^1234/  /(?i)^1234/I
1163    Capturing subpattern count = 0
1164    Options: anchored caseless
1165    No first char
1166    No need char
1167  Capturing subpattern count = 0  Capturing subpattern count = 0
1168    No match
1169  Options: anchored caseless  Options: anchored caseless
1170    No match
1171  No first char  No first char
1172    No match
1173  No need char  No need char
1174    No match
1175    
1176  /(^b|(?i)^d)/  /(^b|(?i)^d)/I
1177    Capturing subpattern count = 1
1178    Options: anchored
1179    No first char
1180    No need char
1181  Capturing subpattern count = 1  Capturing subpattern count = 1
1182    No match
1183  Options: anchored  Options: anchored
1184    No match
1185  No first char  No first char
1186    No match
1187  No need char  No need char
1188    No match
1189    
1190  /(?s).*/  /(?s).*/I
1191    Capturing subpattern count = 0
1192    Partial matching not supported
1193    Options: anchored dotall
1194    No first char
1195    No need char
1196  Capturing subpattern count = 0  Capturing subpattern count = 0
1197     0: Capturing subpattern count = 0
1198  Partial matching not supported  Partial matching not supported
1199     0: Partial matching not supported
1200  Options: anchored dotall  Options: anchored dotall
1201     0: Options: anchored dotall
1202  No first char  No first char
1203     0: No first char
1204  No need char  No need char
1205     0: No need char
1206    
1207  /[abcd]/S  /[abcd]/IS
1208    Capturing subpattern count = 0
1209    No options
1210    No first char
1211    No need char
1212    Starting byte set: a b c d
1213  Capturing subpattern count = 0  Capturing subpattern count = 0
1214     0: a
1215  No options  No options
1216    No match
1217  No first char  No first char
1218     0: c
1219  No need char  No need char
1220     0: d
1221  Starting byte set: a b c d  Starting byte set: a b c d
1222     0: a
1223    
1224  /(?i)[abcd]/S  /(?i)[abcd]/IS
1225    Capturing subpattern count = 0
1226    Options: caseless
1227    No first char
1228    No need char
1229    Starting byte set: A B C D a b c d
1230  Capturing subpattern count = 0  Capturing subpattern count = 0
1231     0: C
1232  Options: caseless  Options: caseless
1233     0: c
1234  No first char  No first char
1235     0: c
1236  No need char  No need char
1237     0: d
1238  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
1239     0: a
1240    
1241  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/IS
1242  Capturing subpattern count = 1  Capturing subpattern count = 1
1243  Options: multiline  Options: multiline
1244  No first char  No first char
1245  No need char  No need char
1246  Starting byte set: b c x y  Starting byte set: b c x y
1247    Capturing subpattern count = 1
1248     0: b
1249     1: b
1250    Options: multiline
1251    No match
1252    No first char
1253     0: c
1254     1: c
1255    No need char
1256     0: c
1257     1: c
1258    Starting byte set: b c x y
1259     0: b
1260     1: b
1261    
1262  /(^a|^b)/m  /(^a|^b)/Im
1263    Capturing subpattern count = 1
1264    Options: multiline
1265    First char at start or follows newline
1266    No need char
1267  Capturing subpattern count = 1  Capturing subpattern count = 1
1268    No match
1269  Options: multiline  Options: multiline
1270    No match
1271  First char at start or follows newline  First char at start or follows newline
1272    No match
1273  No need char  No need char
1274    No match
1275    
1276  /(?i)(^a|^b)/m  /(?i)(^a|^b)/Im
1277    Capturing subpattern count = 1
1278    Options: caseless multiline
1279    First char at start or follows newline
1280    No need char
1281  Capturing subpattern count = 1  Capturing subpattern count = 1
1282    No match
1283  Options: caseless multiline  Options: caseless multiline
1284    No match
1285  First char at start or follows newline  First char at start or follows newline
1286    No match
1287  No need char  No need char
1288    No match
1289    
1290  /(a)(?(1)a|b|c)/  /(a)(?(1)a|b|c)/
1291  Failed: conditional group contains more than two branches at offset 13  Failed: conditional group contains more than two branches at offset 13
# Line 567  Failed: conditional group contains more Line 1294  Failed: conditional group contains more
1294  Failed: conditional group contains more than two branches at offset 12  Failed: conditional group contains more than two branches at offset 12
1295    
1296  /(?(1a)/  /(?(1a)/
1297    Failed: missing ) at offset 6
1298    
1299    /(?(1a))/
1300  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
1301    
1302  /(?(?i))/  /(?(?i))/
# Line 576  Failed: assertion expected after (?( at Line 1306  Failed: assertion expected after (?( at
1306  Failed: reference to non-existent subpattern at offset 7  Failed: reference to non-existent subpattern at offset 7
1307    
1308  /(?(?<ab))/  /(?(?<ab))/
1309  Failed: unrecognized character after (?< at offset 5  Failed: syntax error in subpattern name (missing terminator) at offset 7
1310    
1311  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/I
1312    Capturing subpattern count = 1
1313    Max back reference = 1
1314    Partial matching not supported
1315    No options
1316    First char = 'b'
1317    Need char = 'h'
1318  Capturing subpattern count = 1  Capturing subpattern count = 1
1319    No match
1320  Max back reference = 1  Max back reference = 1
1321    No match
1322  Partial matching not supported  Partial matching not supported
1323    No match
1324  No options  No options
1325    No match
1326  First char = 'b'  First char = 'b'
1327    No match
1328  Need char = 'h'  Need char = 'h'
1329    No match
1330    
1331  /((?i)blah)\s+\1/  /((?i)blah)\s+\1/I
1332    Capturing subpattern count = 1
1333    Max back reference = 1
1334    Partial matching not supported
1335    No options
1336    First char = 'b' (caseless)
1337    Need char = 'h' (caseless)
1338  Capturing subpattern count = 1  Capturing subpattern count = 1
1339    No match
1340  Max back reference = 1  Max back reference = 1
1341    No match
1342  Partial matching not supported  Partial matching not supported
1343    No match
1344  No options  No options
1345    No match
1346  First char = 'b' (caseless)  First char = 'b' (caseless)
1347    No match
1348  Need char = 'h' (caseless)  Need char = 'h' (caseless)
1349    No match
1350    
1351  /((?i)b)/DS  /((?i)b)/IDZS
1352    ------------------------------------------------------------------
1353            Bra 0
1354            Bra 1
1355         01 Opt
1356         NC b
1357            Ket
1358         00 Opt
1359            Ket
1360            End
1361    ------------------------------------------------------------------
1362    Capturing subpattern count = 1
1363    No options
1364    First char = 'b' (caseless)
1365    No need char
1366    Study returned NULL
1367  ------------------------------------------------------------------  ------------------------------------------------------------------
1368    0  15 Bra 0  No match
1369    3   7 Bra 1          Bra 0
1370    6  01 Opt   0: B
1371    8  NC b   1: B
1372   10   7 Ket          Bra 1
1373   13  00 Opt   0: B
1374   15  15 Ket   1: B
1375   18     End       01 Opt
1376    No match
1377         NC b
1378     0: b
1379     1: b
1380            Ket
1381    No match
1382         00 Opt
1383    No match
1384            Ket
1385    No match
1386            End
1387    No match
1388  ------------------------------------------------------------------  ------------------------------------------------------------------
1389    No match
1390  Capturing subpattern count = 1  Capturing subpattern count = 1
1391     0: b
1392     1: b
1393  No options  No options
1394    No match
1395  First char = 'b' (caseless)  First char = 'b' (caseless)
1396     0: b
1397     1: b
1398  No need char  No need char
1399    No match
1400  Study returned NULL  Study returned NULL
1401    No match
1402    
1403  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/IS
1404    Capturing subpattern count = 1
1405    Partial matching not supported
1406    No options
1407    No first char
1408    No need char
1409    Starting byte set: C a b c d
1410  Capturing subpattern count = 1  Capturing subpattern count = 1
1411     0: b
1412     1: b
1413  Partial matching not supported  Partial matching not supported
1414     0: d
1415     1: d
1416  No options  No options
1417    No match
1418  No first char  No first char
1419    No match
1420  No need char  No need char
1421     0: d
1422     1: d
1423  Starting byte set: C a b c d  Starting byte set: C a b c d
1424     0: b
1425     1: b
1426    
1427  /a$/  /a$/I
1428  Capturing subpattern count = 0  Capturing subpattern count = 0
1429  No options  No options
1430  First char = 'a'  First char = 'a'
1431  No need char  No need char
1432      a  Capturing subpattern count = 0
1433   0: a  No match
1434      a\n  No options
1435   0: a  No match
1436      *** Failers  First char = 'a'
1437    No match
1438    No need char
1439    No match
1440        a
1441     0: a
1442     0: a
1443     0: a
1444        a\n
1445     0: a
1446     0: a
1447     0: a
1448        *** Failers
1449    No match
1450    No match
1451    No match
1452        \Za
1453    No match
1454    No match
1455    No match
1456        \Za\n
1457  No match  No match
     \Za  
1458  No match  No match
     \Za\n  
1459  No match  No match
1460    
1461  /a$/m  /a$/Im
1462    Capturing subpattern count = 0
1463    Options: multiline
1464    First char = 'a'
1465    No need char
1466  Capturing subpattern count = 0  Capturing subpattern count = 0
1467    No match
1468  Options: multiline  Options: multiline
1469    No match
1470  First char = 'a'  First char = 'a'
1471    No match
1472  No need char  No need char
1473    No match
1474      a      a
1475   0: a   0: a
1476     0: a
1477     0: a
1478      a\n      a\n
1479   0: a   0: a
     \Za\n  
1480   0: a   0: a
1481      *** Failers   0: a
1482        \Za\n
1483     0: a
1484     0: a
1485     0: a
1486        *** Failers
1487    No match
1488    No match
1489  No match  No match
1490      \Za      \Za
1491  No match  No match
1492    No match
1493  /\Aabc/m  No match
1494    
1495    /\Aabc/Im
1496    Capturing subpattern count = 0
1497    Options: anchored multiline
1498    No first char
1499    No need char
1500  Capturing subpattern count = 0  Capturing subpattern count = 0
1501    No match
1502  Options: anchored multiline  Options: anchored multiline
1503    No match
1504  No first char  No first char
1505    No match
1506  No need char  No need char
1507    No match
1508    
1509  /^abc/m  /^abc/Im
1510    Capturing subpattern count = 0
1511    Options: multiline
1512    First char at start or follows newline
1513    Need char = 'c'
1514  Capturing subpattern count = 0  Capturing subpattern count = 0
1515    No match
1516  Options: multiline  Options: multiline
1517    No match
1518  First char at start or follows newline  First char at start or follows newline
1519    No match
1520  Need char = 'c'  Need char = 'c'
1521    No match
1522    
1523  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
1524    Capturing subpattern count = 5
1525    Partial matching not supported
1526    Options: anchored
1527    No first char
1528    No need char
1529  Capturing subpattern count = 5  Capturing subpattern count = 5
1530    No match
1531  Partial matching not supported  Partial matching not supported
1532    No match
1533  Options: anchored  Options: anchored
1534    No match
1535  No first char  No first char
1536    No match
1537  No need char  No need char
1538    No match
1539    aaaaabbbbbcccccdef    aaaaabbbbbcccccdef
1540   0: aaaaabbbbbcccccdef   0: aaaaabbbbbcccccdef
1541   1: aaaaabbbbbcccccdef   1: aaaaabbbbbcccccdef
# Line 676  No need char Line 1543  No need char
1543   3: b   3: b
1544   4: bbbbccccc   4: bbbbccccc
1545   5: def   5: def
1546     0: aaaaabbbbbcccccdef
1547    No match
1548     1: aaaaabbbbbcccccdef
1549    No match
1550     2: aaaaa
1551    No match
1552     3: b
1553    No match
1554     4: bbbbccccc
1555    No match
1556     5: def
1557    No match
1558    
1559  /(?<=foo)[ab]/S  /(?<=foo)[ab]/IS
1560    Capturing subpattern count = 0
1561    No options
1562    No first char
1563    No need char
1564    Starting byte set: a b
1565  Capturing subpattern count = 0  Capturing subpattern count = 0
1566    No match
1567  No options  No options
1568    No match
1569  No first char  No first char
1570    No match
1571  No need char  No need char
1572    No match
1573  Starting byte set: a b  Starting byte set: a b
1574    No match
1575    
1576  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/IS
1577    Capturing subpattern count = 1
1578    No options
1579    No first char
1580    Need char = 'a'
1581    Starting byte set: a o
1582  Capturing subpattern count = 1  Capturing subpattern count = 1
1583    No match
1584  No options  No options
1585    No match
1586  No first char  No first char
1587    No match
1588  Need char = 'a'  Need char = 'a'
1589    No match
1590  Starting byte set: a o  Starting byte set: a o
1591    No match
1592    
1593  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/IS
1594    Capturing subpattern count = 0
1595    No options
1596    No first char
1597    No need char
1598    Starting byte set: a b
1599  Capturing subpattern count = 0  Capturing subpattern count = 0
1600     0: a
1601  No options  No options
1602    No match
1603  No first char  No first char
1604     0: a
1605  No need char  No need char
1606     0: a
1607  Starting byte set: a b  Starting byte set: a b
1608     0: a
1609    
1610  /(?<=foo\n)^bar/m  /(?<=foo\n)^bar/Im
1611  Capturing subpattern count = 0  Capturing subpattern count = 0
1612  Options: multiline  Options: multiline
1613  No first char  No first char
1614  Need char = 'r'  Need char = 'r'
1615      foo\nbarbar  Capturing subpattern count = 0
1616    No match
1617    Options: multiline
1618    No match
1619    No first char
1620    No match
1621    Need char = 'r'
1622    No match
1623        foo\nbarbar
1624   0: bar   0: bar
1625     0: bar
1626    No match
1627      ***Failers      ***Failers
1628  No match  No match
1629      rhubarb  No match
1630    No match
1631        rhubarb
1632    No match
1633    No match
1634  No match  No match
1635      barbell      barbell
1636  No match  No match
1637      abc\nbarton  No match
1638    No match
1639        abc\nbarton
1640    No match
1641    No match
1642  No match  No match
1643    
1644  /^(?<=foo\n)bar/m  /^(?<=foo\n)bar/Im
1645    Capturing subpattern count = 0
1646    Options: multiline
1647    First char at start or follows newline
1648    Need char = 'r'
1649  Capturing subpattern count = 0  Capturing subpattern count = 0
1650    No match
1651  Options: multiline  Options: multiline
1652    No match
1653  First char at start or follows newline  First char at start or follows newline
1654    No match
1655  Need char = 'r'  Need char = 'r'
1656      foo\nbarbar  No match
1657        foo\nbarbar
1658   0: bar   0: bar
1659     0: bar
1660    No match
1661      ***Failers      ***Failers
1662  No match  No match
1663      rhubarb  No match
1664    No match
1665        rhubarb
1666    No match
1667    No match
1668  No match  No match
1669      barbell      barbell
1670  No match  No match
1671      abc\nbarton  No match
1672    No match
1673        abc\nbarton
1674    No match
1675    No match
1676  No match  No match
1677    
1678  /(?>^abc)/m  /(?>^abc)/Im
1679    Capturing subpattern count = 0
1680    Options: multiline
1681    First char at start or follows newline
1682    Need char = 'c'
1683  Capturing subpattern count = 0  Capturing subpattern count = 0
1684    No match
1685  Options: multiline  Options: multiline
1686    No match
1687  First char at start or follows newline  First char at start or follows newline
1688    No match
1689  Need char = 'c'  Need char = 'c'
1690    No match
1691      abc      abc
1692   0: abc   0: abc
1693     0: abc
1694    No match
1695      def\nabc      def\nabc
1696   0: abc   0: abc
1697     0: abc
1698    No match
1699      *** Failers      *** Failers
1700  No match  No match
1701      defabc  No match
1702    No match
1703        defabc
1704    No match
1705    No match
1706  No match  No match
1707    
1708  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 754  Failed: lookbehind assertion is not fixe Line 1715  Failed: lookbehind assertion is not fixe
1715  Failed: lookbehind assertion is not fixed length at offset 13  Failed: lookbehind assertion is not fixed length at offset 13
1716    
1717  /The next three are in testinput2 because they have variable length branches/  /The next three are in testinput2 because they have variable length branches/
1718    
1719    /(?<=bullock|donkey)-cart/I
1720  Capturing subpattern count = 0  Capturing subpattern count = 0
1721  No options  No options
1722  First char = 'T'  First char = '-'
1723  Need char = 's'  Need char = 't'
   
 /(?<=bullock|donkey)-cart/  
1724  Capturing subpattern count = 0  Capturing subpattern count = 0
1725    No match
1726  No options  No options
1727    No match
1728  First char = '-'  First char = '-'
1729    No match
1730  Need char = 't'  Need char = 't'
1731    No match
1732      the bullock-cart      the bullock-cart
1733   0: -cart   0: -cart
1734     0: -cart
1735    No match
1736      a donkey-cart race      a donkey-cart race
1737   0: -cart   0: -cart
1738     0: -cart
1739    No match
1740      *** Failers      *** Failers
1741  No match  No match
1742    No match
1743    No match
1744      cart      cart
1745  No match  No match
     horse-and-cart  
1746  No match  No match
1747    No match
1748  /(?<=ab(?i)x|y|z)/      horse-and-cart
1749    No match
1750    No match
1751    No match
1752    
1753    /(?<=ab(?i)x|y|z)/I
1754    Capturing subpattern count = 0
1755    No options
1756    No first char
1757    No need char
1758  Capturing subpattern count = 0  Capturing subpattern count = 0
1759    No match
1760  No options  No options
1761    No match
1762  No first char  No first char
1763    No match
1764  No need char  No need char
1765    No match
1766    
1767  /(?>.*)(?<=(abcd)|(xyz))/  /(?>.*)(?<=(abcd)|(xyz))/I
1768    Capturing subpattern count = 2
1769    Partial matching not supported
1770    No options
1771    First char at start or follows newline
1772    No need char
1773  Capturing subpattern count = 2  Capturing subpattern count = 2
1774    No match
1775  Partial matching not supported  Partial matching not supported
1776    No match
1777  No options  No options
1778    No match
1779  First char at start or follows newline  First char at start or follows newline
1780    No match
1781  No need char  No need char
1782    No match
1783      alphabetabcd      alphabetabcd
1784   0: alphabetabcd   0: alphabetabcd
1785   1: abcd   1: abcd
1786     0: alphabetabcd
1787     0: 0: alphabetabcd
1788     1: abcd
1789     1: abcd
1790     0: 1: abcd
1791     1: abcd
1792      endingxyz      endingxyz
1793   0: endingxyz   0: endingxyz
1794   1: <unset>   1: <unset>
1795   2: xyz   2: xyz
1796     0: endingxyz
1797     0: 0: endingxyz
1798     1: <unset>
1799     2: xyz
1800     1: <unset>
1801    No match
1802     2: xyz
1803     0: 2: xyz
1804     1: <unset>
1805     2: xyz
1806    
1807  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
1808  Capturing subpattern count = 0  Capturing subpattern count = 0
1809  No options  No options
1810  First char = 'Z'  First char = 'Z'
1811  Need char = 'Z'  Need char = 'Z'
1812    Capturing subpattern count = 0
1813    No match
1814    No options
1815    No match
1816    First char = 'Z'
1817    No match
1818    Need char = 'Z'
1819    No match
1820      abxyZZ      abxyZZ
1821   0: ZZ   0: ZZ
1822     0: ZZ
1823    No match
1824      abXyZZ      abXyZZ
1825   0: ZZ   0: ZZ
1826     0: ZZ
1827    No match
1828      ZZZ      ZZZ
1829   0: ZZ   0: ZZ
1830     0: ZZ
1831    No match
1832      zZZ      zZZ
1833   0: ZZ   0: ZZ
1834     0: ZZ
1835    No match
1836      bZZ      bZZ
1837   0: ZZ   0: ZZ
     BZZ  
1838   0: ZZ   0: ZZ
1839    No match
1840        BZZ
1841     0: ZZ
1842     0: ZZ
1843    No match
1844      *** Failers      *** Failers
1845  No match  No match
     ZZ  
1846  No match  No match
1847      abXYZZ  No match
1848        ZZ
1849    No match
1850    No match
1851    No match
1852        abXYZZ
1853    No match
1854    No match
1855  No match  No match
1856      zzz      zzz
1857  No match  No match
1858      bzz  No match
1859    No match
1860        bzz
1861    No match
1862    No match
1863  No match  No match
1864    
1865  /(?<!(foo)a)bar/  /(?<!(foo)a)bar/I
1866    Capturing subpattern count = 1
1867    No options
1868    First char = 'b'
1869    Need char = 'r'
1870  Capturing subpattern count = 1  Capturing subpattern count = 1
1871    No match
1872  No options  No options
1873    No match
1874  First char = 'b'  First char = 'b'
1875    No match
1876  Need char = 'r'  Need char = 'r'
1877    No match
1878      bar      bar
1879   0: bar   0: bar
     foobbar  
1880   0: bar   0: bar
1881      *** Failers   0: bar
1882  No match      foobbar
1883      fooabar   0: bar
1884     0: bar
1885     0: bar
1886        *** Failers
1887    No match
1888    No match
1889    No match
1890        fooabar
1891    No match
1892    No match
1893  No match  No match
1894    
1895  /This one is here because Perl 5.005_02 doesn't fail it/  /This one is here because Perl 5.005_02 doesn't fail it/I
1896    Capturing subpattern count = 0
1897    No options
1898    First char = 'T'
1899    Need char = 't'
1900  Capturing subpattern count = 0  Capturing subpattern count = 0
1901    No match
1902  No options  No options
1903    No match
1904  First char = 'T'  First char = 'T'
1905    No match
1906  Need char = 't'  Need char = 't'
1907    No match
1908    
1909  /^(a)?(?(1)a|b)+$/  /^(a)?(?(1)a|b)+$/I
1910    Capturing subpattern count = 1
1911    Options: anchored
1912    No first char
1913    No need char
1914  Capturing subpattern count = 1  Capturing subpattern count = 1
1915    No match
1916  Options: anchored  Options: anchored
1917    No match
1918  No first char  No first char
1919    No match
1920  No need char  No need char
1921    No match
1922      *** Failers      *** Failers
1923  No match  No match
1924      a  No match
1925    No match
1926        a
1927    No match
1928    No match
1929  No match  No match
1930    
1931  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I
1932    Capturing subpattern count = 0
1933    No options
1934    First char = 'T'
1935    Need char = 'g'
1936  Capturing subpattern count = 0  Capturing subpattern count = 0
1937    No match
1938  No options  No options
1939    No match
1940  First char = 'T'  First char = 'T'
1941    No match
1942  Need char = 'g'  Need char = 'g'
1943    No match
1944    
1945  /^(a\1?){4}$/  /^(a\1?){4}$/I
1946    Capturing subpattern count = 1
1947    Max back reference = 1
1948    Options: anchored
1949    No first char
1950    No need char
1951  Capturing subpattern count = 1  Capturing subpattern count = 1
1952    No match
1953  Max back reference = 1  Max back reference = 1
1954    No match
1955  Options: anchored  Options: anchored
1956    No match
1957  No first char  No first char
1958    No match
1959  No need char  No need char
1960    No match
1961      aaaaaa      aaaaaa
1962   0: aaaaaa   0: aaaaaa
1963   1: aa   1: aa
1964     0: aaaaaa
1965  /These are syntax tests from Perl 5.005/  No match
1966     1: aa
1967    No match
1968    
1969    /These are syntax tests from Perl 5.005/I
1970    Capturing subpattern count = 0
1971    No options
1972    First char = 'T'
1973    Need char = '5'
1974  Capturing subpattern count = 0  Capturing subpattern count = 0
1975    No match
1976  No options  No options
1977    No match
1978  First char = 'T'  First char = 'T'
1979    No match
1980  Need char = '5'  Need char = '5'
1981    No match
1982    
1983  /a[b-a]/  /a[b-a]/
1984  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
# Line 911  Failed: reference to non-existent subpat Line 2016  Failed: reference to non-existent subpat
2016  /(a)|\2/  /(a)|\2/
2017  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
2018    
2019  /a[b-a]/i  /a[b-a]/Ii
2020  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
2021    
2022  /a[]b/i  /a[]b/Ii
2023  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
2024    
2025  /a[/i  /a[/Ii
2026  Failed: missing terminating ] for character class at offset 2  Failed: missing terminating ] for character class at offset 2
2027    
2028  /*a/i  /*a/Ii
2029  Failed: nothing to repeat at offset 0  Failed: nothing to repeat at offset 0
2030    
2031  /(*)b/i  /(*)b/Ii
2032  Failed: nothing to repeat at offset 1  Failed: nothing to repeat at offset 1
2033    
2034  /abc)/i  /abc)/Ii
2035  Failed: unmatched parentheses at offset 3  Failed: unmatched parentheses at offset 3
2036    
2037  /(abc/i  /(abc/Ii
2038  Failed: missing ) at offset 4  Failed: missing ) at offset 4
2039    
2040  /a**/i  /a**/Ii
2041  Failed: nothing to repeat at offset 2  Failed: nothing to repeat at offset 2
2042    
2043  /)(/i  /)(/Ii
2044  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
2045    
2046  /:(?:/  /:(?:/
# Line 983  Failed: POSIX code 9: bad escape sequenc Line 2088  Failed: POSIX code 9: bad escape sequenc
2088  /abc/\i  /abc/\i
2089  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
2090    
2091  /(a)bc(d)/  /(a)bc(d)/I
2092    Capturing subpattern count = 2
2093    No options
2094    First char = 'a'
2095    Need char = 'd'
2096  Capturing subpattern count = 2  Capturing subpattern count = 2
2097    No match
2098  No options  No options
2099    No match
2100  First char = 'a'  First char = 'a'
2101    No match
2102  Need char = 'd'  Need char = 'd'
2103    No match
2104      abcd      abcd
2105   0: abcd   0: abcd
2106   1: a   1: a
2107   2: d   2: d
2108     0: abcd
2109     0: abcd
2110     1: a
2111     2: d
2112     1: a
2113    No match
2114     2: d
2115    No match
2116      abcd\C2      abcd\C2
2117   0: abcd   0: abcd
2118   1: a   1: a
2119   2: d   2: d
2120   2C d (1)   2C d (1)
2121     0: abcd
2122     0: abcd
2123     1: a
2124     2: d
2125     1: a
2126    No match
2127     2: d
2128    No match
2129     2C d (1)
2130    No match
2131      abcd\C5      abcd\C5
2132   0: abcd   0: abcd
2133   1: a   1: a
2134   2: d   2: d
2135  copy substring 5 failed -7  copy substring 5 failed -7
2136     0: abcd
2137  /(.{20})/   0: abcd
2138     1: a
2139     2: d
2140     1: a
2141    No match
2142     2: d
2143    No match
2144    copy substring 5 failed -7
2145    No match
2146    
2147    /(.{20})/I
2148    Capturing subpattern count = 1
2149    Partial matching not supported
2150    No options
2151    No first char
2152    No need char
2153  Capturing subpattern count = 1  Capturing subpattern count = 1
2154     0: Capturing subpattern
2155     1: Capturing subpattern
2156  Partial matching not supported  Partial matching not supported
2157     0: Partial matching not
2158     1: Partial matching not
2159  No options  No options
2160    No match
2161  No first char  No first char
2162    No match
2163  No need char  No need char
2164    No match
2165      abcdefghijklmnopqrstuvwxyz      abcdefghijklmnopqrstuvwxyz
2166   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
2167   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
2168     0: abcdefghijklmnopqrst
2169     0: 0: abcdefghijklmnopq
2170     1: 0: abcdefghijklmnopq
2171     1: abcdefghijklmnopqrst
2172     0: 1: abcdefghijklmnopq
2173     1: 1: abcdefghijklmnopq
2174      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
2175   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
2176   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
2177   1C abcdefghijklmnopqrst (20)   1C abcdefghijklmnopqrst (20)
2178     0: abcdefghijklmnopqrst
2179     0: 0: abcdefghijklmnopq
2180     1: 0: abcdefghijklmnopq
2181     1: abcdefghijklmnopqrst
2182     0: 1: abcdefghijklmnopq
2183     1: 1: abcdefghijklmnopq
2184     1C abcdefghijklmnopqrst (20)
2185     0: 1C abcdefghijklmnopq
2186     1: 1C abcdefghijklmnopq
2187      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
2188   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
2189   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
2190   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
2191     0: abcdefghijklmnopqrst
2192  /(.{15})/   0: 0: abcdefghijklmnopq
2193     1: 0: abcdefghijklmnopq
2194     1: abcdefghijklmnopqrst
2195     0: 1: abcdefghijklmnopq
2196     1: 1: abcdefghijklmnopq
2197     1G abcdefghijklmnopqrst (20)
2198     0: 1G abcdefghijklmnopq
2199     1: 1G abcdefghijklmnopq
2200    
2201    /(.{15})/I
2202    Capturing subpattern count = 1
2203    Partial matching not supported
2204    No options
2205    No first char
2206    No need char
2207  Capturing subpattern count = 1  Capturing subpattern count = 1
2208     0: Capturing subpa
2209     1: Capturing subpa
2210  Partial matching not supported  Partial matching not supported
2211     0: Partial matchin
2212     1: Partial matchin
2213  No options  No options
2214    No match
2215  No first char  No first char
2216    No match
2217  No need char  No need char
2218    No match
2219      abcdefghijklmnopqrstuvwxyz      abcdefghijklmnopqrstuvwxyz
2220   0: abcdefghijklmno   0: abcdefghijklmno
2221   1: abcdefghijklmno   1: abcdefghijklmno
2222     0: abcdefghijklmno
2223     0: 0: abcdefghijkl
2224     1: 0: abcdefghijkl
2225     1: abcdefghijklmno
2226     0: 1: abcdefghijkl
2227     1: 1: abcdefghijkl
2228      abcdefghijklmnopqrstuvwxyz\C1\G1      abcdefghijklmnopqrstuvwxyz\C1\G1
2229   0: abcdefghijklmno   0: abcdefghijklmno
2230   1: abcdefghijklmno   1: abcdefghijklmno
2231   1C abcdefghijklmno (15)   1C abcdefghijklmno (15)
2232   1G abcdefghijklmno (15)   1G abcdefghijklmno (15)
2233     0: abcdefghijklmno
2234     0: 0: abcdefghijkl
2235     1: 0: abcdefghijkl
2236     1: abcdefghijklmno
2237     0: 1: abcdefghijkl
2238     1: 1: abcdefghijkl
2239     1C abcdefghijklmno (15)
2240     0: 1C abcdefghijkl
2241     1: 1C abcdefghijkl
2242     1G abcdefghijklmno (15)
2243     0: 1G abcdefghijkl
2244     1: 1G abcdefghijkl
2245    
2246  /(.{16})/  /(.{16})/I
2247    Capturing subpattern count = 1
2248    Partial matching not supported
2249    No options
2250    No first char
2251    No need char
2252  Capturing subpattern count = 1  Capturing subpattern count = 1
2253     0: Capturing subpat
2254     1: Capturing subpat
2255  Partial matching not supported  Partial matching not supported
2256     0: Partial matching
2257     1: Partial matching
2258  No options  No options
2259    No match
2260  No first char  No first char
2261    No match
2262  No need char  No need char
2263    No match
2264      abcdefghijklmnopqrstuvwxyz      abcdefghijklmnopqrstuvwxyz
2265   0: abcdefghijklmnop   0: abcdefghijklmnop
2266   1: abcdefghijklmnop   1: abcdefghijklmnop
2267     0: abcdefghijklmnop
2268     0: 0: abcdefghijklm
2269     1: 0: abcdefghijklm
2270     1: abcdefghijklmnop
2271     0: 1: abcdefghijklm
2272     1: 1: abcdefghijklm
2273      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L
2274   0: abcdefghijklmnop   0: abcdefghijklmnop
2275   1: abcdefghijklmnop   1: abcdefghijklmnop
# Line 1052  No need char Line 2277  No need char
2277   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
2278   0L abcdefghijklmnop   0L abcdefghijklmnop
2279   1L abcdefghijklmnop   1L abcdefghijklmnop
2280     0: abcdefghijklmnop
2281  /^(a|(bc))de(f)/   0: 0: abcdefghijklm
2282     1: 0: abcdefghijklm
2283     1: abcdefghijklmnop
2284     0: 1: abcdefghijklm
2285     1: 1: abcdefghijklm
2286     1C abcdefghijklmnop (16)
2287     0: 1C abcdefghijklm
2288     1: 1C abcdefghijklm
2289     1G abcdefghijklmnop (16)
2290     0: 1G abcdefghijklm
2291     1: 1G abcdefghijklm
2292     0L abcdefghijklmnop
2293     0: 0L abcdefghijklm
2294     1: 0L abcdefghijklm
2295     1L abcdefghijklmnop
2296     0: 1L abcdefghijklm
2297     1: 1L abcdefghijklm
2298    
2299    /^(a|(bc))de(f)/I
2300    Capturing subpattern count = 3
2301    Options: anchored
2302    No first char
2303    No need char
2304  Capturing subpattern count = 3  Capturing subpattern count = 3
2305    No match
2306  Options: anchored  Options: anchored
2307    No match
2308  No first char  No first char
2309    No match
2310  No need char  No need char
2311      adef\G1\G2\G3\G4\L  No match
2312        adef\G1\G2\G3\G4\L
2313     0: adef
2314     1: a
2315     2: <unset>
2316     3: f
2317     1G a (1)
2318     2G  (0)
2319     3G f (1)
2320    get substring 4 failed -7
2321     0L adef
2322     1L a
2323     2L
2324     3L f
2325   0: adef   0: adef
2326    No match
2327   1: a   1: a
2328    No match
2329   2: <unset>   2: <unset>
2330    No match
2331   3: f   3: f
2332    No match
2333   1G a (1)   1G a (1)
2334    No match
2335   2G  (0)   2G  (0)
2336    No match
2337   3G f (1)   3G f (1)
2338    No match
2339  get substring 4 failed -7  get substring 4 failed -7
2340    No match
2341   0L adef   0L adef
2342    No match
2343   1L a   1L a
2344    No match
2345   2L   2L
2346    No match
2347     3L f
2348    No match
2349        bcdef\G1\G2\G3\G4\L
2350     0: bcdef
2351     1: bc
2352     2: bc
2353     3: f
2354     1G bc (2)
2355     2G bc (2)
2356     3G f (1)
2357    get substring 4 failed -7
2358     0L bcdef
2359     1L bc
2360     2L bc
2361   3L f   3L f
     bcdef\G1\G2\G3\G4\L  
2362   0: bcdef   0: bcdef
2363    No match
2364   1: bc   1: bc
2365    No match
2366   2: bc   2: bc
2367    No match
2368   3: f   3: f
2369    No match
2370   1G bc (2)   1G bc (2)
2371    No match
2372   2G bc (2)   2G bc (2)
2373    No match
2374   3G f (1)   3G f (1)
2375    No match
2376  get substring 4 failed -7  get substring 4 failed -7
2377    No match
2378   0L bcdef   0L bcdef
2379    No match
2380   1L bc   1L bc
2381    No match
2382   2L bc   2L bc
2383    No match
2384   3L f   3L f
2385      adefghijk\C0  No match
2386        adefghijk\C0
2387   0: adef   0: adef
2388   1: a   1: a
2389   2: <unset>   2: <unset>
2390   3: f   3: f
2391   0C adef (4)   0C adef (4)
2392     0: adef
2393  /^abc\00def/  No match
2394     1: a
2395    No match
2396     2: <unset>
2397    No match
2398     3: f
2399    No match
2400     0C adef (4)
2401    No match
2402    
2403    /^abc\00def/I
2404    Capturing subpattern count = 0
2405    Options: anchored
2406    No first char
2407    No need char
2408  Capturing subpattern count = 0  Capturing subpattern count = 0
2409    No match
2410  Options: anchored  Options: anchored
2411    No match
2412  No first char  No first char
2413    No match
2414  No need char  No need char
2415      abc\00def\L\C0  No match
2416        abc\00def\L\C0
2417   0: abc\x00def   0: abc\x00def
2418   0C abc (7)   0C abc (7)
2419   0L abc   0L abc
2420     0: abc\x00def
2421  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  No match
2422  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+   0C abc (7)
2423  )?)?)?)?)?)?)?)?)?otherword/M  No match
2424  Memory allocation (code space): 432   0L abc
2425    No match
2426    
2427    /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
2428    )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
2429    )?)?)?)?)?)?)?)?)?otherword/I
2430    Capturing subpattern count = 8
2431    Partial matching not supported
2432    No options
2433    First char = 'w'
2434    Need char = 'd'
2435  Capturing subpattern count = 8  Capturing subpattern count = 8
2436    No match
2437  Partial matching not supported  Partial matching not supported
2438    No match
2439  No options  No options
2440    No match
2441  First char = 'w'  First char = 'w'
2442    No match
2443  Need char = 'd'  Need char = 'd'
2444    No match
2445    
2446  /.*X/D  /.*X/IDZ
2447  ------------------------------------------------------------------  ------------------------------------------------------------------
2448    0   7 Bra 0          Bra 0
2449    3     Any*          Any*
2450    5     X          X
2451    7   7 Ket          Ket
2452   10     End          End
2453  ------------------------------------------------------------------  ------------------------------------------------------------------
2454  Capturing subpattern count = 0  Capturing subpattern count = 0
2455  Partial matching not supported  Partial matching not supported
2456  No options  No options
2457  First char at start or follows newline  First char at start or follows newline
2458  Need char = 'X'  Need char = 'X'
   
 /.*X/Ds  
2459  ------------------------------------------------------------------  ------------------------------------------------------------------
2460    0   7 Bra 0  No match
2461    3     Any*          Bra 0
2462    5     X  No match
2463    7   7 Ket          Any*
2464   10     End  No match
2465            X
2466     0: X
2467            Ket
2468    No match
2469            End
2470    No match
2471  ------------------------------------------------------------------  ------------------------------------------------------------------
2472    No match
2473  Capturing subpattern count = 0  Capturing subpattern count = 0
2474    No match
2475  Partial matching not supported  Partial matching not supported
2476  Options: anchored dotall  No match
2477  No first char  No options
2478  Need char = 'X'  No match
2479    First char at start or follows newline
2480  /(.*X|^B)/D  No match
2481  ------------------------------------------------------------------  Need char = 'X'
2482    0  19 Bra 0   0: Need char = 'X
2483    3   7 Bra 1  
2484    6     Any*  /.*X/IDZs
2485    8     X  ------------------------------------------------------------------
2486   10   6 Alt          Bra 0
2487   13     ^          Any*
2488   14     B          X
2489   16  13 Ket          Ket
2490   19  19 Ket          End
2491   22     End  ------------------------------------------------------------------
2492    Capturing subpattern count = 0
2493    Partial matching not supported
2494    Options: anchored dotall
2495    No first char
2496    Need char = 'X'
2497    ------------------------------------------------------------------
2498    No match
2499            Bra 0
2500    No match
2501            Any*
2502    No match
2503            X
2504     0: X
2505            Ket
2506    No match
2507            End
2508    No match
2509    ------------------------------------------------------------------
2510    No match
2511    Capturing subpattern count = 0
2512    No match
2513    Partial matching not supported
2514    No match
2515    Options: anchored dotall
2516    No match
2517    No first char
2518    No match
2519    Need char = 'X'
2520     0: Need char = 'X
2521    
2522    /(.*X|^B)/IDZ
2523  ------------------------------------------------------------------  ------------------------------------------------------------------
2524            Bra 0
2525            Bra 1
2526            Any*
2527            X
2528            Alt
2529            ^
2530            B
2531            Ket
2532            Ket
2533            End
2534    ------------------------------------------------------------------
2535    Capturing subpattern count = 1
2536    Partial matching not supported
2537    No options
2538    First char at start or follows newline
2539    No need char
2540    ------------------------------------------------------------------
2541    No match
2542            Bra 0
2543     0: B
2544     1: B
2545            Bra 1
2546     0: B
2547     1: B
2548            Any*
2549    No match
2550            X
2551     0: X
2552     1: X
2553            Alt
2554    No match
2555            ^
2556    No match
2557            B
2558     0: B
2559     1: B
2560            Ket
2561    No match
2562            Ket
2563    No match
2564            End
2565    No match
2566    ------------------------------------------------------------------
2567    No match
2568  Capturing subpattern count = 1  Capturing subpattern count = 1
2569    No match
2570  Partial matching not supported  Partial matching not supported
2571    No match
2572  No options  No options
2573    No match
2574  First char at start or follows newline  First char at start or follows newline
2575    No match
2576  No need char  No need char
2577    No match
2578    
2579  /(.*X|^B)/Ds  /(.*X|^B)/IDZs
2580  ------------------------------------------------------------------  ------------------------------------------------------------------
2581    0  19 Bra 0          Bra 0
2582    3   7 Bra 1          Bra 1
2583    6     Any*          Any*
2584    8     X          X
2585   10   6 Alt          Alt
2586   13     ^          ^
2587   14     B          B
2588   16  13 Ket          Ket
2589   19  19 Ket          Ket
2590   22     End          End
2591  ------------------------------------------------------------------  ------------------------------------------------------------------
2592  Capturing subpattern count = 1  Capturing subpattern count = 1
2593  Partial matching not supported  Partial matching not supported
2594  Options: anchored dotall  Options: anchored dotall
2595  No first char  No first char
2596  No need char  No need char
   
 /(?s)(.*X|^B)/D  
2597  ------------------------------------------------------------------  ------------------------------------------------------------------
2598    0  19 Bra 0  No match
2599    3   7 Bra 1          Bra 0
2600    6     Any*   0: B
2601    8     X   1: B
2602   10   6 Alt          Bra 1
2603   13     ^   0: B
2604   14     B   1: B
2605   16  13 Ket          Any*
2606   19  19 Ket  No match
2607   22     End          X
2608     0: X
2609     1: X
2610            Alt
2611    No match
2612            ^
2613    No match
2614            B
2615     0: B
2616     1: B
2617            Ket
2618    No match
2619            Ket
2620    No match
2621            End
2622    No match
2623    ------------------------------------------------------------------
2624    No match
2625    Capturing subpattern count = 1
2626    No match
2627    Partial matching not supported
2628    No match
2629    Options: anchored dotall
2630    No match
2631    No first char
2632    No match
2633    No need char
2634    No match
2635    
2636    /(?s)(.*X|^B)/IDZ
2637    ------------------------------------------------------------------
2638            Bra 0
2639            Bra 1
2640            Any*
2641            X
2642            Alt
2643            ^
2644            B
2645            Ket
2646            Ket
2647            End
2648    ------------------------------------------------------------------
2649    Capturing subpattern count = 1
2650    Partial matching not supported
2651    Options: anchored dotall
2652    No first char
2653    No need char
2654    ------------------------------------------------------------------
2655    No match
2656            Bra 0
2657     0: B
2658     1: B
2659            Bra 1
2660     0: B
2661     1: B
2662            Any*
2663    No match
2664            X
2665     0: X
2666     1: X
2667            Alt
2668    No match
2669            ^
2670    No match
2671            B
2672     0: B
2673     1: B
2674            Ket
2675    No match
2676            Ket
2677    No match
2678            End
2679    No match
2680  ------------------------------------------------------------------  ------------------------------------------------------------------
2681    No match
2682  Capturing subpattern count = 1  Capturing subpattern count = 1
2683    No match
2684  Partial matching not supported  Partial matching not supported
2685    No match
2686  Options: anchored dotall  Options: anchored dotall
2687    No match
2688  No first char  No first char
2689    No match
2690  No need char  No need char
2691    No match
2692    
2693  /(?s:.*X|^B)/D  /(?s:.*X|^B)/IDZ
2694  ------------------------------------------------------------------  ------------------------------------------------------------------
2695    0  25 Bra 0          Bra 0
2696    3   9 Bra 0          Bra 0
2697    6  04 Opt       04 Opt
2698    8     Any*          Any*
2699   10     X          X
2700   12   8 Alt          Alt
2701   15  04 Opt       04 Opt
2702   17     ^          ^
2703   18     B          B
2704   20  17 Ket          Ket
2705   23  00 Opt       00 Opt
2706   25  25 Ket          Ket
2707   28     End          End
2708    ------------------------------------------------------------------
2709    Capturing subpattern count = 0
2710    Partial matching not supported
2711    No options
2712    First char at start or follows newline
2713    No need char
2714    ------------------------------------------------------------------
2715    No match
2716            Bra 0
2717     0: B
2718            Bra 0
2719     0: B
2720         04 Opt
2721    No match
2722            Any*
2723    No match
2724            X
2725     0: X
2726            Alt
2727    No match
2728         04 Opt
2729    No match
2730            ^
2731    No match
2732            B
2733     0: B
2734            Ket
2735    No match
2736         00 Opt
2737    No match
2738            Ket
2739    No match
2740            End
2741    No match
2742  ------------------------------------------------------------------  ------------------------------------------------------------------
2743    No match
2744  Capturing subpattern count = 0  Capturing subpattern count = 0
2745    No match
2746  Partial matching not supported  Partial matching not supported
2747    No match
2748  No options  No options
2749    No match
2750  First char at start or follows newline  First char at start or follows newline
2751    No match
2752  No need char  No need char
2753    No match
2754    
2755  /\Biss\B/+  /\Biss\B/I+
2756    Capturing subpattern count = 0
2757    No options
2758    First char = 'i'
2759    Need char = 's'
2760  Capturing subpattern count = 0  Capturing subpattern count = 0
2761    No match
2762  No options  No options
2763    No match
2764  First char = 'i'  First char = 'i'
2765    No match
2766  Need char = 's'  Need char = 's'
2767    No match
2768      Mississippi      Mississippi
2769   0: iss   0: iss
2770   0+ issippi   0+ issippi
2771     0: iss
2772    No match
2773     0+ issippi
2774    No match
2775    
2776  /\Biss\B/+P  /\Biss\B/I+P
2777      Mississippi      Mississippi
2778   0: iss   0: iss
2779   0+ issippi   0+ issippi
2780     0: iss
2781    No match: POSIX code 17: match failed
2782     0+ issippi
2783    No match: POSIX code 17: match failed
2784    
2785  /iss/G+  /iss/IG+
2786    Capturing subpattern count = 0
2787    No options
2788    First char = 'i'
2789    Need char = 's'
2790  Capturing subpattern count = 0  Capturing subpattern count = 0
2791    No match
2792  No options  No options
2793    No match
2794  First char = 'i'  First char = 'i'
2795    No match
2796  Need char = 's'  Need char = 's'
2797    No match
2798      Mississippi      Mississippi
2799   0: iss   0: iss
2800   0+ issippi   0+ issippi
2801   0: iss   0: iss
2802   0+ ippi   0+ ippi
2803     0: iss
2804     0: iss
2805     0+
2806     0+ issippi
2807     0: iss
2808     0+ ippi
2809     0: iss
2810     0: iss
2811     0+
2812     0+ ippi
2813    No match
2814    
2815  /\Biss\B/G+  /\Biss\B/IG+
2816    Capturing subpattern count = 0
2817    No options
2818    First char = 'i'
2819    Need char = 's'
2820  Capturing subpattern count = 0  Capturing subpattern count = 0
2821    No match
2822  No options  No options
2823    No match
2824  First char = 'i'  First char = 'i'
2825    No match
2826  Need char = 's'  Need char = 's'
2827    No match
2828      Mississippi      Mississippi
2829   0: iss   0: iss
2830   0+ issippi   0+ issippi
2831     0: iss
2832    No match
2833     0+ issippi
2834    No match
2835    
2836  /\Biss\B/g+  /\Biss\B/Ig+
2837    Capturing subpattern count = 0
2838    No options
2839    First char = 'i'
2840    Need char = 's'
2841  Capturing subpattern count = 0  Capturing subpattern count = 0
2842    No match
2843  No options  No options
2844    No match
2845  First char = 'i'  First char = 'i'
2846    No match
2847  Need char = 's'  Need char = 's'
2848    No match
2849      Mississippi      Mississippi
2850   0: iss   0: iss
2851   0+ issippi   0+ issippi
2852   0: iss   0: iss
2853   0+ ippi   0+ ippi
2854     0: iss
2855    No match
2856     0+ issippi
2857    No match
2858     0: iss
2859    No match
2860     0+ ippi
2861    No match
2862      *** Failers      *** Failers
2863  No match  No match
2864    No match
2865    No match
2866      Mississippi\A      Mississippi\A
2867  No match  No match
2868    No match
2869    No match
2870    
2871  /(?<=[Ms])iss/g+  /(?<=[Ms])iss/Ig+
2872    Capturing subpattern count = 0
2873    No options
2874    First char = 'i'
2875    Need char = 's'
2876  Capturing subpattern count = 0  Capturing subpattern count = 0
2877    No match
2878  No options  No options
2879    No match
2880  First char = 'i'  First char = 'i'
2881    No match
2882  Need char = 's'  Need char = 's'
2883    No match
2884      Mississippi      Mississippi
2885   0: iss   0: iss
2886   0+ issippi   0+ issippi
2887   0: iss   0: iss
2888   0+ ippi   0+ ippi
2889     0: iss
2890    No match
2891     0+ issippi
2892    No match
2893     0: iss
2894    No match
2895     0+ ippi
2896    No match
2897    
2898  /(?<=[Ms])iss/G+  /(?<=[Ms])iss/IG+
2899    Capturing subpattern count = 0
2900    No options
2901    First char = 'i'
2902    Need char = 's'
2903  Capturing subpattern count = 0  Capturing subpattern count = 0
2904    No match
2905  No options  No options
2906    No match
2907  First char = 'i'  First char = 'i'
2908    No match
2909  Need char = 's'  Need char = 's'
2910    No match
2911      Mississippi      Mississippi
2912   0: iss   0: iss
2913   0+ issippi   0+ issippi
2914     0: iss
2915    No match
2916     0+ issippi
2917    No match
2918    
2919  /^iss/g+  /^iss/Ig+
2920    Capturing subpattern count = 0
2921    Options: anchored
2922    No first char
2923    No need char
2924  Capturing subpattern count = 0  Capturing subpattern count = 0
2925    No match
2926  Options: anchored  Options: anchored
2927    No match
2928  No first char  No first char
2929    No match
2930  No need char  No need char
2931    No match
2932      ississippi      ississippi
2933   0: iss   0: iss
2934   0+ issippi   0+ issippi
2935     0: iss
2936  /.*iss/g+  No match
2937     0+ issippi
2938    No match
2939    
2940    /.*iss/Ig+
2941    Capturing subpattern count = 0
2942    Partial matching not supported
2943    No options
2944    First char at start or follows newline
2945    Need char = 's'
2946  Capturing subpattern count = 0  Capturing subpattern count = 0
2947    No match
2948  Partial matching not supported  Partial matching not supported
2949    No match
2950  No options  No options
2951    No match
2952  First char at start or follows newline  First char at start or follows newline
2953    No match
2954  Need char = 's'  Need char = 's'
2955      abciss\nxyzisspqr  No match
2956        abciss\nxyzisspqr
2957     0: abciss
2958     0+ \x0axyzisspqr
2959     0: xyziss
2960     0+ pqr
2961   0: abciss   0: abciss
2962     0: 0: abciss
2963     0+
2964   0+ \x0axyzisspqr   0+ \x0axyzisspqr
2965   0: xyziss   0: xyziss
2966   0+ pqr   0+ pqr
2967     0: xyziss
2968     0: 0: xyziss
2969     0+
2970     0+ pqr
2971    No match
2972    
2973  /.i./+g  /.i./I+g
2974    Capturing subpattern count = 0
2975    No options
2976    No first char
2977    Need char = 'i'
2978  Capturing subpattern count = 0  Capturing subpattern count = 0
2979     0: rin
2980     0+ g subpattern count = 0
2981  No options  No options
2982     0: tio
2983     0+ ns
2984  No first char  No first char
2985     0: fir
2986     0+ st char
2987  Need char = 'i'  Need char = 'i'
2988     0: 'i'
2989     0+
2990      Mississippi      Mississippi
2991   0: Mis   0: Mis
2992   0+ sissippi   0+ sissippi
# Line 1320  Need char = 'i' Line 2994  Need char = 'i'
2994   0+ sippi   0+ sippi
2995   0: sip   0: sip
2996   0+ pi   0+ pi
     Mississippi\A  
2997   0: Mis   0: Mis
2998     0: Mis
2999     0+
3000   0+ sissippi   0+ sissippi
3001   0: sis   0: sis
3002   0+ sippi   0+ sippi
3003   0: sip   0: sip
3004   0+ pi   0+ pi
3005      Missouri river   0: sis
3006   0: Mis   0: sis
3007   0+ souri river   0+
3008   0: ri   0+ sippi
3009     0: sip
3010     0+ pi
3011     0: sip
3012     0: sip
3013     0+
3014     0+ pi
3015    No match
3016        Mississippi\A
3017     0: Mis
3018     0+ sissippi
3019     0: sis
3020     0+ sippi
3021     0: sip
3022     0+ pi
3023     0: Mis
3024     0: Mis
3025     0+
3026     0+ sissippi
3027     0: sis
3028     0+ sippi
3029     0: sip
3030     0+ pi
3031     0: sis
3032     0: sis
3033     0+
3034     0+ sippi
3035     0: sip
3036     0+ pi
3037     0: sip
3038     0: sip
3039     0+
3040     0+ pi
3041    No match
3042        Missouri river
3043     0: Mis
3044     0+ souri river
3045     0: ri
3046     0+ river
3047     0: riv
3048     0+ er
3049     0: Mis
3050     0: Mis
3051     0+
3052     0+ souri river
3053     0: ri
3054     0+ river
3055     0: riv
3056     0+ er
3057     0: ri
3058    No match
3059   0+ river   0+ river
3060   0: riv   0: riv
3061   0+ er   0+ er
3062      Missouri river\A   0: riv
3063     0: riv
3064     0+
3065     0+ er
3066    No match
3067        Missouri river\A
3068   0: Mis   0: Mis
3069   0+ souri river   0+ souri river
3070     0: Mis
3071     0: Mis
3072     0+
3073     0+ souri river
3074     0: ri
3075     0+ river
3076     0: riv
3077     0+ er
3078    
3079  /^.is/+g  /^.is/I+g
3080    Capturing subpattern count = 0
3081    Options: anchored
3082    No first char
3083    No need char
3084  Capturing subpattern count = 0  Capturing subpattern count = 0
3085    No match
3086  Options: anchored  Options: anchored
3087    No match
3088  No first char  No first char
3089    No match
3090  No need char  No need char
3091    No match
3092      Mississippi      Mississippi
3093   0: Mis   0: Mis
3094   0+ sissippi   0+ sissippi
3095     0: Mis
3096    No match
3097     0+ sissippi
3098    No match
3099    
3100  /^ab\n/g+  /^ab\n/Ig+
3101    Capturing subpattern count = 0
3102    Options: anchored
3103    No first char
3104    No need char
3105  Capturing subpattern count = 0  Capturing subpattern count = 0
3106    No match
3107  Options: anchored  Options: anchored
3108    No match
3109  No first char  No first char
3110    No match
3111  No need char  No need char
3112    No match
3113      ab\nab\ncd      ab\nab\ncd
3114   0: ab\x0a   0: ab\x0a
3115   0+ ab\x0acd   0+ ab\x0acd
3116     0: ab\x0a
3117    No match
3118     0+ ab\x0acd
3119    No match
3120    
3121  /^ab\n/mg+  /^ab\n/Img+
3122    Capturing subpattern count = 0
3123    Options: multiline
3124    First char at start or follows newline
3125    Need char = 10
3126  Capturing subpattern count = 0  Capturing subpattern count = 0
3127    No match
3128  Options: multiline  Options: multiline
3129    No match
3130  First char at start or follows newline  First char at start or follows newline
3131    No match
3132  Need char = 10  Need char = 10
3133    No match
3134      ab\nab\ncd      ab\nab\ncd
3135   0: ab\x0a   0: ab\x0a
3136   0+ ab\x0acd   0+ ab\x0acd
3137   0: ab\x0a   0: ab\x0a
3138   0+ cd   0+ cd
3139     0: ab\x0a
3140    No match
3141     0+ ab\x0acd
3142    No match
3143     0: ab\x0a
3144    No match
3145     0+ cd
3146    No match
3147    
3148  /abc/  /abc/I
3149    Capturing subpattern count = 0
3150    No options
3151    First char = 'a'
3152    Need char = 'c'
3153  Capturing subpattern count = 0  Capturing subpattern count = 0
3154    No match
3155  No options  No options
3156    No match
3157  First char = 'a'  First char = 'a'
3158    No match
3159  Need char = 'c'  Need char = 'c'
3160    No match
3161    
3162  /abc|bac/  /abc|bac/I
3163    Capturing subpattern count = 0
3164    No options
3165    No first char
3166    Need char = 'c'
3167  Capturing subpattern count = 0  Capturing subpattern count = 0
3168    No match
3169  No options  No options
3170    No match
3171  No first char  No first char
3172    No match
3173  Need char = 'c'  Need char = 'c'
3174    No match
3175    
3176  /(abc|bac)/  /(abc|bac)/I
3177    Capturing subpattern count = 1
3178    No options
3179    No first char
3180    Need char = 'c'
3181  Capturing subpattern count = 1  Capturing subpattern count = 1
3182    No match
3183  No options  No options
3184    No match
3185  No first char  No first char
3186    No match
3187  Need char = 'c'  Need char = 'c'
3188    No match
3189    
3190  /(abc|(c|dc))/  /(abc|(c|dc))/I
3191    Capturing subpattern count = 2
3192    No options
3193    No first char
3194    Need char = 'c'
3195  Capturing subpattern count = 2  Capturing subpattern count = 2
3196     0: c
3197     1: c
3198     2: c
3199  No options  No options
3200    No match
3201  No first char  No first char
3202     0: c
3203     1: c
3204     2: c
3205  Need char = 'c'  Need char = 'c'
3206     0: c
3207     1: c
3208     2: c
3209    
3210  /(abc|(d|de)c)/  /(abc|(d|de)c)/I
3211    Capturing subpattern count = 2
3212    No options
3213    No first char
3214    Need char = 'c'
3215  Capturing subpattern count = 2  Capturing subpattern count = 2
3216    No match
3217  No options  No options
3218    No match
3219  No first char  No first char
3220    No match
3221  Need char = 'c'  Need char = 'c'
3222    No match
3223    
3224  /a*/  /a*/I
3225    Capturing subpattern count = 0
3226    Partial matching not supported
3227    No options
3228    No first char
3229    No need char
3230  Capturing subpattern count = 0  Capturing subpattern count = 0
3231     0:
3232  Partial matching not supported  Partial matching not supported
3233     0:
3234  No options  No options
3235     0:
3236  No first char  No first char
3237     0:
3238  No need char  No need char
3239     0:
3240    
3241  /a+/  /a+/I
3242  Capturing subpattern count = 0  Capturing subpattern count = 0
3243  Partial matching not supported  Partial matching not supported
3244  No options  No options
3245  First char = 'a'  First char = 'a'
3246  No need char  No need char
3247    Capturing subpattern count = 0
3248     0: a
3249    Partial matching not supported
3250     0: a
3251    No options
3252    No match
3253    First char = 'a'
3254     0: a
3255    No need char
3256     0: a
3257    
3258  /(baa|a+)/  /(baa|a+)/I
3259    Capturing subpattern count = 1
3260    Partial matching not supported
3261    No options
3262    No first char
3263    Need char = 'a'
3264  Capturing subpattern count = 1  Capturing subpattern count = 1
3265     0: a
3266     1: a
3267  Partial matching not supported  Partial matching not supported
3268     0: a
3269     1: a
3270  No options  No options
3271    No match
3272  No first char  No first char
3273     0: a
3274     1: a
3275  Need char = 'a'  Need char = 'a'
3276     0: a
3277     1: a
3278    
3279  /a{0,3}/  /a{0,3}/I
3280  Capturing subpattern count = 0  Capturing subpattern count = 0
3281  Partial matching not supported  Partial matching not supported
3282  No options  No options
3283  No first char  No first char
3284  No need char  No need char
3285    Capturing subpattern count = 0
3286     0:
3287    Partial matching not supported
3288     0:
3289    No options
3290     0:
3291    No first char
3292     0:
3293    No need char
3294     0:
3295    
3296  /baa{3,}/  /baa{3,}/I
3297    Capturing subpattern count = 0
3298    Partial matching not supported
3299    No options
3300    First char = 'b'
3301    Need char = 'a'
3302  Capturing subpattern count = 0  Capturing subpattern count = 0
3303    No match
3304  Partial matching not supported  Partial matching not supported
3305    No match
3306  No options  No options
3307    No match
3308  First char = 'b'  First char = 'b'
3309    No match
3310  Need char = 'a'  Need char = 'a'
3311    No match
3312    
3313  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/I
3314    Capturing subpattern count = 1
3315    Partial matching not supported
3316    No options
3317    First char = '"'
3318    Need char = '"'
3319  Capturing subpattern count = 1  Capturing subpattern count = 1
3320    No match
3321  Partial matching not supported  Partial matching not supported
3322    No match
3323  No options  No options
3324    No match
3325  First char = '"'  First char = '"'
3326    No match
3327  Need char = '"'  Need char = '"'
3328    No match
3329    
3330  /(abc|ab[cd])/  /(abc|ab[cd])/I
3331    Capturing subpattern count = 1
3332    No options
3333    First char = 'a'
3334    No need char
3335  Capturing subpattern count = 1  Capturing subpattern count = 1
3336    No match
3337  No options  No options
3338    No match
3339  First char = 'a'  First char = 'a'
3340    No match
3341  No need char  No need char
3342    No match
3343    
3344  /(a|.)/  /(a|.)/I
3345    Capturing subpattern count = 1
3346    No options
3347    No first char
3348    No need char
3349  Capturing subpattern count = 1  Capturing subpattern count = 1
3350     0: C
3351     1: C
3352  No options  No options
3353     0: N
3354     1: N
3355  No first char  No first char
3356     0: N
3357     1: N
3358  No need char  No need char
3359     0: N
3360     1: N
3361    
3362  /a|ba|\w/  /a|ba|\w/I
3363    Capturing subpattern count = 0
3364    No options
3365    No first char
3366    No need char
3367  Capturing subpattern count = 0  Capturing subpattern count = 0
3368     0: C
3369  No options  No options
3370     0: N
3371  No first char  No first char
3372     0: N
3373  No need char  No need char
3374     0: N
3375    
3376  /abc(?=pqr)/  /abc(?=pqr)/I
3377    Capturing subpattern count = 0
3378    No options
3379    First char = 'a'
3380    Need char = 'r'
3381  Capturing subpattern count = 0  Capturing subpattern count = 0
3382    No match
3383  No options  No options
3384    No match
3385  First char = 'a'  First char = 'a'
3386    No match
3387  Need char = 'r'  Need char = 'r'
3388    No match
3389    
3390  /...(?<=abc)/  /...(?<=abc)/I
3391    Capturing subpattern count = 0
3392    No options
3393    No first char
3394    No need char
3395  Capturing subpattern count = 0  Capturing subpattern count = 0
3396    No match
3397  No options  No options
3398    No match
3399  No first char  No first char
3400    No match
3401  No need char  No need char
3402    No match
3403    
3404  /abc(?!pqr)/  /abc(?!pqr)/I
3405  Capturing subpattern count = 0  Capturing subpattern count = 0
3406  No options  No options
3407  First char = 'a'  First char = 'a'
3408  Need char = 'c'  Need char = 'c'
   
 /ab./  
3409  Capturing subpattern count = 0  Capturing subpattern count = 0
3410    No match
3411  No options  No options
3412    No match
3413  First char = 'a'  First char = 'a'
3414  Need char = 'b'  No match
3415    Need char = 'c'
3416    No match
3417    
3418  /ab[xyz]/  /ab./I
3419  Capturing subpattern count = 0  Capturing subpattern count = 0
3420  No options  No options
3421  First char = 'a'  First char = 'a'
3422  Need char = 'b'  Need char = 'b'
   
 /abc*/  
3423  Capturing subpattern count = 0  Capturing subpattern count = 0
3424  Partial matching not supported  No match
3425  No options  No options
3426    No match
3427  First char = 'a'  First char = 'a'
3428    No match
3429  Need char = 'b'  Need char = 'b'
3430    No match
3431    
3432  /ab.c*/  /ab[xyz]/I
3433  Capturing subpattern count = 0  Capturing subpattern count = 0
 Partial matching not supported  
3434  No options  No options
3435  First char = 'a'  First char = 'a'
3436  Need char = 'b'  Need char = 'b'
   
 /a.c*/  
3437  Capturing subpattern count = 0  Capturing subpattern count = 0
3438  Partial matching not supported  No match
3439    No options
3440    No match
3441    First char = 'a'
3442    No match
3443    Need char = 'b'
3444    No match
3445    
3446    /abc*/I
3447    Capturing subpattern count = 0
3448    Partial matching not supported
3449    No options
3450    First char = 'a'
3451    Need char = 'b'
3452    Capturing subpattern count = 0
3453    No match
3454    Partial matching not supported
3455    No match
3456    No options
3457    No match
3458    First char = 'a'
3459    No match
3460    Need char = 'b'
3461    No match
3462    
3463    /ab.c*/I
3464    Capturing subpattern count = 0
3465    Partial matching not supported
3466    No options
3467    First char = 'a'
3468    Need char = 'b'
3469    Capturing subpattern count = 0
3470    No match
3471    Partial matching not supported
3472    No match
3473    No options
3474    No match
3475    First char = 'a'
3476    No match
3477    Need char = 'b'
3478    No match
3479    
3480    /a.c*/I
3481    Capturing subpattern count = 0
3482    Partial matching not supported
3483  No options  No options
3484  First char = 'a'  First char = 'a'
3485  No need char  No need char
3486    Capturing subpattern count = 0
3487     0: ap
3488    Partial matching not supported
3489     0: ar
3490    No options
3491    No match
3492    First char = 'a'
3493     0: ar
3494    No need char
3495     0: ar
3496    
3497  /.c*/  /.c*/I
3498    Capturing subpattern count = 0
3499    Partial matching not supported
3500    No options
3501    No first char
3502    No need char
3503  Capturing subpattern count = 0  Capturing subpattern count = 0
3504     0: C
3505  Partial matching not supported  Partial matching not supported
3506     0: P
3507  No options  No options
3508     0: N
3509  No first char  No first char
3510     0: N
3511  No need char  No need char
3512     0: N
3513    
3514  /ac*/  /ac*/I
3515    Capturing subpattern count = 0
3516    Partial matching not supported
3517    No options
3518    First char = 'a'
3519    No need char
3520  Capturing subpattern count = 0  Capturing subpattern count = 0
3521     0: a
3522  Partial matching not supported  Partial matching not supported
3523     0: a
3524  No options  No options
3525    No match
3526  First char = 'a'  First char = 'a'
3527     0: a
3528  No need char  No need char
3529     0: a
3530    
3531  /(a.c*|b.c*)/  /(a.c*|b.c*)/I
3532    Capturing subpattern count = 1
3533    Partial matching not supported
3534    No options
3535    No first char
3536    No need char
3537  Capturing subpattern count = 1  Capturing subpattern count = 1
3538     0: ap
3539     1: ap
3540  Partial matching not supported  Partial matching not supported
3541     0: ar
3542     1: ar
3543  No options  No options
3544    No match
3545  No first char  No first char
3546     0: ar
3547     1: ar
3548  No need char  No need char
3549     0: ar
3550     1: ar
3551    
3552  /a.c*|aba/  /a.c*|aba/I
3553    Capturing subpattern count = 0
3554    Partial matching not supported
3555    No options
3556    First char = 'a'
3557    No need char
3558  Capturing subpattern count = 0  Capturing subpattern count = 0
3559     0: ap
3560  Partial matching not supported  Partial matching not supported
3561     0: ar
3562  No options  No options
3563    No match
3564  First char = 'a'  First char = 'a'
3565     0: ar
3566  No need char  No need char
3567     0: ar
3568    
3569  /.+a/  /.+a/I
3570    Capturing subpattern count = 0
3571    Partial matching not supported
3572    No options
3573    No first char
3574    Need char = 'a'
3575  Capturing subpattern count = 0  Capturing subpattern count = 0
3576     0: Capturing subpa
3577  Partial matching not supported  Partial matching not supported
3578     0: Partial ma
3579  No options  No options
3580    No match
3581  No first char  No first char
3582     0: No first cha
3583  Need char = 'a'  Need char = 'a'
3584     0: Need char = 'a
3585    
3586  /(?=abcda)a.*/  /(?=abcda)a.*/I
3587    Capturing subpattern count = 0
3588    Partial matching not supported
3589    No options
3590    First char = 'a'
3591    Need char = 'a'
3592  Capturing subpattern count = 0  Capturing subpattern count = 0
3593    No match
3594  Partial matching not supported  Partial matching not supported
3595    No match
3596  No options  No options
3597    No match
3598  First char = 'a'  First char = 'a'
3599    No match
3600  Need char = 'a'  Need char = 'a'
3601    No match
3602    
3603  /(?=a)a.*/  /(?=a)a.*/I
3604    Capturing subpattern count = 0
3605    Partial matching not supported
3606    No options
3607    First char = 'a'
3608    No need char
3609  Capturing subpattern count = 0  Capturing subpattern count = 0
3610     0: apturing subpattern count = 0
3611  Partial matching not supported  Partial matching not supported
3612     0: artial matching not supported
3613  No options  No options
3614    No match
3615  First char = 'a'  First char = 'a'
3616     0: ar = 'a'
3617  No need char  No need char
3618     0: ar
3619    
3620  /a(b)*/  /a(b)*/I
3621    Capturing subpattern count = 1
3622    No options
3623    First char = 'a'
3624    No need char
3625  Capturing subpattern count = 1  Capturing subpattern count = 1
3626     0: a
3627  No options  No options
3628    No match
3629  First char = 'a'  First char = 'a'
3630     0: a
3631  No need char  No need char
3632     0: a
3633    
3634  /a\d*/  /a\d*/I
3635    Capturing subpattern count = 0
3636    Partial matching not supported
3637    No options
3638    First char = 'a'
3639    No need char
3640  Capturing subpattern count = 0  Capturing subpattern count = 0
3641     0: a
3642  Partial matching not supported  Partial matching not supported
3643     0: a
3644  No options  No options
3645    No match
3646  First char = 'a'  First char = 'a'
3647     0: a
3648  No need char  No need char
3649     0: a
3650    
3651  /ab\d*/  /ab\d*/I
3652    Capturing subpattern count = 0
3653    Partial matching not supported
3654    No options
3655    First char = 'a'
3656    Need char = 'b'
3657  Capturing subpattern count = 0  Capturing subpattern count = 0
3658    No match
3659  Partial matching not supported  Partial matching not supported
3660    No match
3661  No options  No options
3662    No match
3663  First char = 'a'  First char = 'a'
3664    No match
3665  Need char = 'b'  Need char = 'b'
3666    No match
3667    
3668  /a(\d)*/  /a(\d)*/I
3669    Capturing subpattern count = 1
3670    No options
3671    First char = 'a'
3672    No need char
3673  Capturing subpattern count = 1  Capturing subpattern count = 1
3674     0: a
3675  No options  No options
3676    No match
3677  First char = 'a'  First char = 'a'
3678     0: a
3679  No need char  No need char
3680     0: a
3681    
3682  /abcde{0,0}/  /abcde{0,0}/I
3683    Capturing subpattern count = 0
3684    No options
3685    First char = 'a'
3686    Need char = 'd'
3687  Capturing subpattern count = 0  Capturing subpattern count = 0
3688    No match
3689  No options  No options
3690    No match
3691  First char = 'a'  First char = 'a'
3692    No match
3693  Need char = 'd'  Need char = 'd'
3694    No match
3695    
3696  /ab\d+/  /ab\d+/I
3697    Capturing subpattern count = 0
3698    Partial matching not supported
3699    No options
3700    First char = 'a'
3701    Need char = 'b'
3702  Capturing subpattern count = 0  Capturing subpattern count = 0
3703    No match
3704  Partial matching not supported  Partial matching not supported
3705    No match
3706  No options  No options
3707    No match
3708  First char = 'a'  First char = 'a'
3709    No match
3710  Need char = 'b'  Need char = 'b'
3711    No match
3712    
3713  /a(?(1)b)/  /a(?(1)b)/I
3714    Capturing subpattern count = 0
3715    No options
3716    First char = 'a'
3717    No need char
3718  Capturing subpattern count = 0  Capturing subpattern count = 0
3719     0: a
3720  No options  No options
3721    No match
3722  First char = 'a'  First char = 'a'
3723     0: a
3724  No need char  No need char
3725     0: a
3726    
3727  /a(?(1)bag|big)/  /a(?(1)bag|big)/I
3728    Capturing subpattern count = 0
3729    No options
3730    First char = 'a'
3731    Need char = 'g'
3732  Capturing subpattern count = 0  Capturing subpattern count = 0
3733    No match
3734  No options  No options
3735    No match
3736  First char = 'a'  First char = 'a'
3737    No match
3738  Need char = 'g'  Need char = 'g'
3739    No match
3740    
3741  /a(?(1)bag|big)*/  /a(?(1)bag|big)*/I
3742    Capturing subpattern count = 0
3743    No options
3744    First char = 'a'
3745    No need char
3746  Capturing subpattern count = 0  Capturing subpattern count = 0
3747     0: a
3748  No options  No options
3749    No match
3750  First char = 'a'  First char = 'a'
3751     0: a
3752  No need char  No need char
3753     0: a
3754    
3755  /a(?(1)bag|big)+/  /a(?(1)bag|big)+/I
3756    Capturing subpattern count = 0
3757    No options
3758    First char = 'a'
3759    Need char = 'g'
3760  Capturing subpattern count = 0  Capturing subpattern count = 0
3761    No match
3762  No options  No options
3763    No match
3764  First char = 'a'  First char = 'a'
3765    No match
3766  Need char = 'g'  Need char = 'g'
3767    No match
3768    
3769  /a(?(1)b..|b..)/  /a(?(1)b..|b..)/I
3770    Capturing subpattern count = 0
3771    No options
3772    First char = 'a'
3773    Need char = 'b'
3774  Capturing subpattern count = 0  Capturing subpattern count = 0
3775    No match
3776  No options  No options
3777    No match
3778  First char = 'a'  First char = 'a'
3779    No match
3780  Need char = 'b'  Need char = 'b'
3781    No match
3782    
3783  /ab\d{0}e/  /ab\d{0}e/I
3784    Capturing subpattern count = 0
3785    No options
3786    First char = 'a'
3787    Need char = 'e'
3788  Capturing subpattern count = 0  Capturing subpattern count = 0
3789    No match
3790  No options  No options
3791    No match
3792  First char = 'a'  First char = 'a'
3793    No match
3794  Need char = 'e'  Need char = 'e'
3795    No match
3796    
3797  /a?b?/  /a?b?/I
3798    Capturing subpattern count = 0
3799    No options
3800    No first char
3801    No need char
3802  Capturing subpattern count = 0  Capturing subpattern count = 0
3803     0:
3804  No options  No options
3805     0:
3806  No first char  No first char
3807     0:
3808  No need char  No need char
3809     0:
3810      a      a
3811   0: a   0: a
3812     0: a
3813     0:
3814      b      b
3815   0: b   0: b
3816     0: b
3817     0:
3818      ab      ab
3819   0: ab   0: ab
3820     0: ab
3821     0:
3822      \      \
3823   0:   0:
3824     0:
3825     0:
3826      *** Failers      *** Failers
3827   0:   0:
3828      \N   0:
3829     0:
3830        \N
3831  No match  No match
3832    No match
3833  /|-/   0:
3834    
3835    /|-/I
3836    Capturing subpattern count = 0
3837    No options
3838    No first char
3839    No need char
3840  Capturing subpattern count = 0  Capturing subpattern count = 0
3841     0:
3842  No options  No options
3843     0:
3844  No first char  No first char
3845     0:
3846  No need char  No need char
3847     0:
3848      abcd      abcd
3849   0:   0:
3850     0:
3851     0:
3852      -abc      -abc
3853   0:   0:
3854     0:
3855     0:
3856      \Nab-c      \Nab-c
3857   0: -   0: -
3858     0: -
3859     0:
3860      *** Failers      *** Failers
3861   0:   0:
3862      \Nabc   0:
3863     0:
3864        \Nabc
3865    No match
3866  No match  No match
3867     0:
3868    
3869  /a*(b+)(z)(z)/P  /a*(b+)(z)(z)/IP
3870      aaaabbbbzzzz      aaaabbbbzzzz
3871   0: aaaabbbbzz   0: aaaabbbbzz
3872   1: bbbb   1: bbbb
3873   2: z   2: z
3874   3: z   3: z
     aaaabbbbzzzz\O0  
     aaaabbbbzzzz\O1  
  0: aaaabbbbzz  
     aaaabbbbzzzz\O2  
3875   0: aaaabbbbzz   0: aaaabbbbzz
  1: bbbb  
     aaaabbbbzzzz\O3  
3876   0: aaaabbbbzz   0: aaaabbbbzz
3877   1: bbbb   1: bbbb
3878   2: z   2: z
3879      aaaabbbbzzzz\O4   3: z
  0: aaaabbbbzz  
3880   1: bbbb   1: bbbb
3881    No match: POSIX code 17: match failed
3882   2: z   2: z
3883    No match: POSIX code 17: match failed
3884   3: z   3: z
3885      aaaabbbbzzzz\O5  No match: POSIX code 17: match failed
3886        aaaabbbbzzzz\O0
3887        aaaabbbbzzzz\O1
3888     0: aaaabbbbzz
3889     0: aaaabbbbzz
3890   0: aaaabbbbzz   0: aaaabbbbzz
3891   1: bbbb   1: bbbb
3892   2: z   2: z
3893   3: z   3: z
3894        aaaabbbbzzzz\O2
3895  /^.?abcd/S   0: aaaabbbbzz
3896  Capturing subpattern count = 0   1: bbbb
3897     0: aaaabbbbzz
3898     0: aaaabbbbzz
3899     1: bbbb
3900     2: z
3901     3: z
3902     1: bbbb
3903    No match: POSIX code 17: match failed
3904        aaaabbbbzzzz\O3
3905     0: aaaabbbbzz
3906     1: bbbb
3907     2: z
3908     0: aaaabbbbzz
3909     0: aaaabbbbzz
3910     1: bbbb
3911     2: z
3912     3: z
3913     1: bbbb
3914    No match: POSIX code 17: match failed
3915     2: z
3916    No match: POSIX code 17: match failed
3917        aaaabbbbzzzz\O4
3918     0: aaaabbbbzz
3919     1: bbbb
3920     2: z
3921     3: z
3922     0: aaaabbbbzz
3923     0: aaaabbbbzz
3924     1: bbbb
3925     2: z
3926     3: z
3927     1: bbbb
3928    No match: POSIX code 17: match failed
3929     2: z
3930    No match: POSIX code 17: match failed
3931     3: z
3932    No match: POSIX code 17: match failed
3933        aaaabbbbzzzz\O5
3934     0: aaaabbbbzz
3935     1: bbbb
3936     2: z
3937     3: z
3938     0: aaaabbbbzz
3939     0: aaaabbbbzz
3940     1: bbbb
3941     2: z
3942     3: z
3943     1: bbbb
3944    No match: POSIX code 17: match failed
3945     2: z
3946    No match: POSIX code 17: match failed
3947     3: z
3948    No match: POSIX code 17: match failed
3949    
3950    /^.?abcd/IS
3951    Capturing subpattern count = 0
3952    Options: anchored
3953    No first char
3954    Need char = 'd'
3955    Study returned NULL
3956    Capturing subpattern count = 0
3957    No match
3958  Options: anchored  Options: anchored
3959    No match
3960  No first char  No first char
3961    No match
3962  Need char = 'd'  Need char = 'd'
3963    No match
3964  Study returned NULL  Study returned NULL
3965    No match
3966    
3967  /\(             # ( at start  /\(             # ( at start
3968    (?:           # Non-capturing bracket    (?:           # Non-capturing bracket
# Line 1707  Study returned NULL Line 3971  Study returned NULL
3971    (?R)          # Recurse - i.e. nested bracketed string    (?R)          # Recurse - i.e. nested bracketed string
3972    )*            # Zero or more contents    )*            # Zero or more contents
3973    \)            # Closing )    \)            # Closing )
3974    /x    /Ix
3975    Capturing subpattern count = 0
3976    Partial matching not supported
3977    Options: extended
3978    First char = '('
3979    Need char = ')'
3980  Capturing subpattern count = 0  Capturing subpattern count = 0
3981    No match
3982  Partial matching not supported  Partial matching not supported
3983    No match
3984  Options: extended  Options: extended
3985    No match
3986  First char = '('  First char = '('
3987    No match
3988  Need char = ')'  Need char = ')'
3989    No match
3990      (abcd)      (abcd)
3991   0: (abcd)   0: (abcd)
3992     0: (abcd)
3993     0: (abcd)
3994      (abcd)xyz      (abcd)xyz
3995   0: (abcd)   0: (abcd)
3996     0: (abcd)
3997     0: (abcd)
3998      xyz(abcd)      xyz(abcd)
3999   0: (abcd)   0: (abcd)
4000      (ab(xy)cd)pqr   0: (abcd)
4001     0: (abcd)
4002        (ab(xy)cd)pqr
4003     0: (ab(xy)cd)
4004   0: (ab(xy)cd)   0: (ab(xy)cd)
4005      (ab(xycd)pqr   0: (ab(xy)cd)
4006        (ab(xycd)pqr
4007     0: (xycd)
4008   0: (xycd)   0: (xycd)
4009      () abc ()   0: (xycd)
4010        () abc ()
4011     0: ()
4012     0: ()
4013   0: ()   0: ()
4014      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
4015   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
4016     0: (abcde(fsh)xyz(foo(bar))lmno)
4017     0: (abcde(fsh)xyz(foo(bar))lmno)
4018      *** Failers      *** Failers
4019  No match  No match
4020      abcd  No match
4021    No match
4022        abcd
4023    No match
4024    No match
4025  No match  No match
4026      abcd)      abcd)
4027  No match  No match
4028      (abcd  No match
4029    No match
4030        (abcd
4031    No match
4032    No match
4033  No match  No match
4034    
4035  /\(  ( (?>[^()]+) | (?R) )* \) /xg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
4036    Capturing subpattern count = 1
4037    Partial matching not supported
4038    Options: extended
4039    First char = '('
4040    Need char = ')'
4041  Capturing subpattern count = 1  Capturing subpattern count = 1
4042    No match