/[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 55 by nigel, Sat Feb 24 21:39:46 2007 UTC revision 227 by ph10, Tue Aug 21 15:00:15 2007 UTC
# Line 1  Line 1 
1  PCRE version 3.6 23-Oct-2001  /(a)b|/I
   
 /(a)b|/  
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    
7  /abc/  /abc/I
8  Capturing subpattern count = 0  Capturing subpattern count = 0
9  No options  No options
10  First char = 'a'  First char = 'a'
# Line 24  No match Line 22  No match
22      ABC      ABC
23  No match  No match
24    
25  /^abc/  /^abc/I
26  Capturing subpattern count = 0  Capturing subpattern count = 0
27  Options: anchored  Options: anchored
28  No first char  No first char
29  Need char = 'c'  No need char
30      abc      abc
31   0: abc   0: abc
32      \Aabc      \Aabc
# Line 40  No match Line 38  No match
38      \Adefabc      \Adefabc
39  No match  No match
40    
41  /a+bc/  /a+bc/I
42  Capturing subpattern count = 0  Capturing subpattern count = 0
43    Partial matching not supported
44  No options  No options
45  First char = 'a'  First char = 'a'
46  Need char = 'c'  Need char = 'c'
47    
48  /a*bc/  /a*bc/I
49  Capturing subpattern count = 0  Capturing subpattern count = 0
50    Partial matching not supported
51  No options  No options
52  No first char  No first char
53  Need char = 'c'  Need char = 'c'
54    
55  /a{3}bc/  /a{3}bc/I
56  Capturing subpattern count = 0  Capturing subpattern count = 0
57    Partial matching not supported
58  No options  No options
59  First char = 'a'  First char = 'a'
60  Need char = 'c'  Need char = 'c'
61    
62  /(abc|a+z)/  /(abc|a+z)/I
63  Capturing subpattern count = 1  Capturing subpattern count = 1
64    Partial matching not supported
65  No options  No options
66  First char = 'a'  First char = 'a'
67  No need char  No need char
68    
69  /^abc$/  /^abc$/I
70  Capturing subpattern count = 0  Capturing subpattern count = 0
71  Options: anchored  Options: anchored
72  No first char  No first char
73  Need char = 'c'  No need char
74      abc      abc
75   0: abc   0: abc
76      *** Failers      *** Failers
# Line 76  No match Line 78  No match
78      def\nabc      def\nabc
79  No match  No match
80    
81  /ab\gdef/X  /ab\idef/X
82  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
83    
84  /(?X)ab\gdef/X  /(?X)ab\idef/X
85  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
86    
87  /x{5,4}/  /x{5,4}/
# Line 91  Failed: number too big in {} quantifier Line 93  Failed: number too big in {} quantifier
93  /[abcd/  /[abcd/
94  Failed: missing terminating ] for character class at offset 5  Failed: missing terminating ] for character class at offset 5
95    
96  /[\B]/  /(?X)[\B]/
97  Failed: invalid escape sequence in character class at offset 2  Failed: invalid escape sequence in character class at offset 6
98    
99  /[z-a]/  /[z-a]/
100  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
# Line 109  Failed: missing ) after comment at offse Line 111  Failed: missing ) after comment at offse
111  /(?z)abc/  /(?z)abc/
112  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? at offset 2
113    
114  /.*b/  /.*b/I
115  Capturing subpattern count = 0  Capturing subpattern count = 0
116    Partial matching not supported
117  No options  No options
118  First char at start or follows \n  First char at start or follows newline
119  Need char = 'b'  Need char = 'b'
120    
121  /.*?b/  /.*?b/I
122  Capturing subpattern count = 0  Capturing subpattern count = 0
123    Partial matching not supported
124  No options  No options
125  First char at start or follows \n  First char at start or follows newline
126  Need char = 'b'  Need char = 'b'
127    
128  /cat|dog|elephant/  /cat|dog|elephant/I
129  Capturing subpattern count = 0  Capturing subpattern count = 0
130  No options  No options
131  No first char  No first char
# Line 131  No need char Line 135  No need char
135      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
136   0: elephant   0: elephant
137    
138  /cat|dog|elephant/S  /cat|dog|elephant/IS
139  Capturing subpattern count = 0  Capturing subpattern count = 0
140  No options  No options
141  No first char  No first char
142  No need char  No need char
143  Starting character set: c d e  Starting byte set: c d e
144      this sentence eventually mentions a cat      this sentence eventually mentions a cat
145   0: cat   0: cat
146      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
147   0: elephant   0: elephant
148    
149  /cat|dog|elephant/iS  /cat|dog|elephant/IiS
150  Capturing subpattern count = 0  Capturing subpattern count = 0
151  Options: caseless  Options: caseless
152  No first char  No first char
153  No need char  No need char
154  Starting character set: C D E c d e  Starting byte set: C D E c d e
155      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
156   0: CAT   0: CAT
157      this sentences rambles on and on for a while to elephant ElePhant      this sentences rambles on and on for a while to elephant ElePhant
158   0: elephant   0: elephant
159    
160  /a|[bcd]/S  /a|[bcd]/IS
161  Capturing subpattern count = 0  Capturing subpattern count = 0
162  No options  No options
163  No first char  No first char
164  No need char  No need char
165  Starting character set: a b c d  Starting byte set: a b c d
166    
167  /(a|[^\dZ])/S  /(a|[^\dZ])/IS
168  Capturing subpattern count = 1  Capturing subpattern count = 1
169    Contains explicit CR or LF match
170  No options  No options
171  No first char  No first char
172  No need char  No need char
173  Starting character 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
174    \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
175    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
176    ? @ 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
# Line 180  Starting character set: \x00 \x01 \x02 \ Line 185  Starting character set: \x00 \x01 \x02 \
185    \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
186    \xfc \xfd \xfe \xff    \xfc \xfd \xfe \xff
187    
188  /(a|b)*[\s]/S  /(a|b)*[\s]/IS
189  Capturing subpattern count = 1  Capturing subpattern count = 1
190  No options  No options
191  No first char  No first char
192  No need char  No need char
193  Starting character set: \x09 \x0a \x0b \x0c \x0d \x20 a b  Starting byte set: \x09 \x0a \x0c \x0d \x20 a b
194    
195  /(ab\2)/  /(ab\2)/
196  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
197    
198  /{4,5}abc/  /{4,5}abc/
199  Failed: nothing to repeat at offset 4  Failed: nothing to repeat at offset 4
200    
201  /(a)(b)(c)\2/  /(a)(b)(c)\2/I
202  Capturing subpattern count = 3  Capturing subpattern count = 3
203  Max back reference = 2  Max back reference = 2
204  No options  No options
# Line 218  Matched, but too many substrings Line 223  Matched, but too many substrings
223   0: abcb   0: abcb
224   1: a   1: a
225   2: b   2: b
226      \O12abcb      \O12abcb
227   0: abcb   0: abcb
228   1: a   1: a
229   2: b   2: b
230   3: c   3: c
231    
232  /(a)bc|(a)(b)\2/  /(a)bc|(a)(b)\2/I
233  Capturing subpattern count = 3  Capturing subpattern count = 3
234  Max back reference = 2  Max back reference = 2
235  No options  No options
# Line 266  Matched, but too many substrings Line 271  Matched, but too many substrings
271   2: a   2: a
272   3: b   3: b
273    
274  /abc$/E  /abc$/IE
275  Capturing subpattern count = 0  Capturing subpattern count = 0
276  Options: dollar_endonly  Options: dollar_endonly
277  First char = 'a'  First char = 'a'
# Line 281  No match Line 286  No match
286  No match  No match
287    
288  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
289  Failed: back reference to non-existent subpattern at offset 17  Failed: reference to non-existent subpattern at offset 17
290    
291  /the quick brown fox/  /the quick brown fox/I
292  Capturing subpattern count = 0  Capturing subpattern count = 0
293  No options  No options
294  First char = 't'  First char = 't'
# Line 293  Need char = 'x' Line 298  Need char = 'x'
298      this is a line with the quick brown fox      this is a line with the quick brown fox
299   0: the quick brown fox   0: the quick brown fox
300    
301  /the quick brown fox/A  /the quick brown fox/IA
302  Capturing subpattern count = 0  Capturing subpattern count = 0
303  Options: anchored  Options: anchored
304  No first char  No first char
305  Need char = 'x'  No need char
306      the quick brown fox      the quick brown fox
307   0: the quick brown fox   0: the quick brown fox
308      *** Failers      *** Failers
# Line 308  No match Line 313  No match
313  /ab(?z)cd/  /ab(?z)cd/
314  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? at offset 4
315    
316  /^abc|def/  /^abc|def/I
317  Capturing subpattern count = 0  Capturing subpattern count = 0
318  No options  No options
319  No first char  No first char
# Line 318  No need char Line 323  No need char
323      abcdef\B      abcdef\B
324   0: def   0: def
325    
326  /.*((abc)$|(def))/  /.*((abc)$|(def))/I
327  Capturing subpattern count = 3  Capturing subpattern count = 3
328    Partial matching not supported
329  No options  No options
330  First char at start or follows \n  First char at start or follows newline
331  No need char  No need char
332      defabc      defabc
333   0: defabc   0: defabc
# Line 333  No need char Line 339  No need char
339   2: <unset>   2: <unset>
340   3: def   3: def
341    
342  /abc/P  /abc/IP
343      abc      abc
344   0: abc   0: abc
345      *** Failers      *** Failers
346  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
347    
348  /^abc|def/P  /^abc|def/IP
349      abcdef      abcdef
350   0: abc   0: abc
351      abcdef\B      abcdef\B
352   0: def   0: def
353    
354  /.*((abc)$|(def))/P  /.*((abc)$|(def))/IP
355      defabc      defabc
356   0: defabc   0: defabc
357   1: abc   1: abc
# Line 354  No match: POSIX code 17: match failed Line 360  No match: POSIX code 17: match failed
360   0: def   0: def
361   1: def   1: def
362   3: def   3: def
363    
364  /the quick brown fox/P  /the quick brown fox/IP
365      the quick brown fox      the quick brown fox
366   0: the quick brown fox   0: the quick brown fox
367      *** Failers      *** Failers
368  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
369      The Quick Brown Fox      The Quick Brown Fox
370  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
371    
372  /the quick brown fox/Pi  /the quick brown fox/IPi
373      the quick brown fox      the quick brown fox
374   0: the quick brown fox   0: the quick brown fox
375      The Quick Brown Fox      The Quick Brown Fox
376   0: The Quick Brown Fox   0: The Quick Brown Fox
377    
378  /abc.def/P  /abc.def/IP
379      *** Failers      *** Failers
380  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
381      abc\ndef      abc\ndef
382  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
383    
384  /abc$/P  /abc$/IP
385      abc      abc
386   0: abc   0: abc
387      abc\n      abc\n
388   0: abc   0: abc
389    
390  /(abc)\2/P  /(abc)\2/IP
391  Failed: POSIX code 15: bad back reference at offset 7  Failed: POSIX code 15: bad back reference at offset 7
392    
393  /(abc\1)/P  /(abc\1)/IP
394      abc      abc
395  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
396    
# Line 394  Failed: unmatched parentheses at offset Line 400  Failed: unmatched parentheses at offset
400  /a[]b/  /a[]b/
401  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
402    
403  /[^aeiou ]{3,}/  /[^aeiou ]{3,}/I
404  Capturing subpattern count = 0  Capturing subpattern count = 0
405    Partial matching not supported
406    Contains explicit CR or LF match
407  No options  No options
408  No first char  No first char
409  No need char  No need char
410      co-processors, and for      co-processors, and for
411   0: -pr   0: -pr
412    
413  /<.*>/  /<.*>/I
414  Capturing subpattern count = 0  Capturing subpattern count = 0
415    Partial matching not supported
416  No options  No options
417  First char = '<'  First char = '<'
418  Need char = '>'  Need char = '>'
419      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
420   0: <def>ghi<klm>   0: <def>ghi<klm>
421    
422  /<.*?>/  /<.*?>/I
423  Capturing subpattern count = 0  Capturing subpattern count = 0
424    Partial matching not supported
425  No options  No options
426  First char = '<'  First char = '<'
427  Need char = '>'  Need char = '>'
428      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
429   0: <def>   0: <def>
430    
431  /<.*>/U  /<.*>/IU
432  Capturing subpattern count = 0  Capturing subpattern count = 0
433    Partial matching not supported
434  Options: ungreedy  Options: ungreedy
435  First char = '<'  First char = '<'
436  Need char = '>'  Need char = '>'
437      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
438   0: <def>   0: <def>
439    
440  /<.*>(?U)/  /(?U)<.*>/I
441  Capturing subpattern count = 0  Capturing subpattern count = 0
442    Partial matching not supported
443  Options: ungreedy  Options: ungreedy
444  First char = '<'  First char = '<'
445  Need char = '>'  Need char = '>'
446      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
447   0: <def>   0: <def>
448    
449  /<.*?>/U  /<.*?>/IU
450  Capturing subpattern count = 0  Capturing subpattern count = 0
451    Partial matching not supported
452  Options: ungreedy  Options: ungreedy
453  First char = '<'  First char = '<'
454  Need char = '>'  Need char = '>'
455      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
456   0: <def>ghi<klm>   0: <def>ghi<klm>
457    
458  /={3,}/U  /={3,}/IU
459  Capturing subpattern count = 0  Capturing subpattern count = 0
460    Partial matching not supported
461  Options: ungreedy  Options: ungreedy
462  First char = '='  First char = '='
463  Need char = '='  Need char = '='
464      abc========def      abc========def
465   0: ===   0: ===
466    
467  /(?U)={3,}?/  /(?U)={3,}?/I
468  Capturing subpattern count = 0  Capturing subpattern count = 0
469    Partial matching not supported
470  Options: ungreedy  Options: ungreedy
471  First char = '='  First char = '='
472  Need char = '='  Need char = '='
473      abc========def      abc========def
474   0: ========   0: ========
475    
476  /(?<!bar|cattle)foo/  /(?<!bar|cattle)foo/I
477  Capturing subpattern count = 0  Capturing subpattern count = 0
478  No options  No options
479  First char = 'f'  First char = 'f'
480  Need char = 'o'  Need char = 'o'
481      foo      foo
482   0: foo   0: foo
483      catfoo      catfoo
484   0: foo   0: foo
485      *** Failers      *** Failers
486  No match  No match
487      the barfoo      the barfoo
488  No match  No match
489      and cattlefoo      and cattlefoo
490  No match  No match
491    
492  /(?<=a+)b/  /(?<=a+)b/
# Line 483  Failed: lookbehind assertion is not fixe Line 498  Failed: lookbehind assertion is not fixe
498  /(?<!(foo)a\1)bar/  /(?<!(foo)a\1)bar/
499  Failed: lookbehind assertion is not fixed length at offset 12  Failed: lookbehind assertion is not fixed length at offset 12
500    
501  /(?i)abc/  /(?i)abc/I
502  Capturing subpattern count = 0  Capturing subpattern count = 0
503  Options: caseless  Options: caseless
504  First char = 'a'  First char = 'a' (caseless)
505  Need char = 'c'  Need char = 'c' (caseless)
506    
507  /(a|(?m)a)/  /(a|(?m)a)/I
508  Capturing subpattern count = 1  Capturing subpattern count = 1
509  No options  No options
510  First char = 'a'  First char = 'a'
511  No need char  No need char
512    
513  /(?i)^1234/  /(?i)^1234/I
514  Capturing subpattern count = 0  Capturing subpattern count = 0
515  Options: anchored caseless  Options: anchored caseless
516  No first char  No first char
517  Need char = '4'  No need char
518    
519  /(^b|(?i)^d)/  /(^b|(?i)^d)/I
520  Capturing subpattern count = 1  Capturing subpattern count = 1
521  Options: anchored  Options: anchored
 Case state changes  
522  No first char  No first char
523  No need char  No need char
524    
525  /(?s).*/  /(?s).*/I
526  Capturing subpattern count = 0  Capturing subpattern count = 0
527    Partial matching not supported
528  Options: anchored dotall  Options: anchored dotall
529  No first char  No first char
530  No need char  No need char
531    
532  /[abcd]/S  /[abcd]/IS
533  Capturing subpattern count = 0  Capturing subpattern count = 0
534  No options  No options
535  No first char  No first char
536  No need char  No need char
537  Starting character set: a b c d  Starting byte set: a b c d
538    
539  /(?i)[abcd]/S  /(?i)[abcd]/IS
540  Capturing subpattern count = 0  Capturing subpattern count = 0
541  Options: caseless  Options: caseless
542  No first char  No first char
543  No need char  No need char
544  Starting character set: A B C D a b c d  Starting byte set: A B C D a b c d
545    
546  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/IS
547  Capturing subpattern count = 1  Capturing subpattern count = 1
548  Options: multiline  Options: multiline
549  No first char  No first char
550  No need char  No need char
551  Starting character set: b c x y  Starting byte set: b c x y
552    
553  /(^a|^b)/m  /(^a|^b)/Im
554  Capturing subpattern count = 1  Capturing subpattern count = 1
555  Options: multiline  Options: multiline
556  First char at start or follows \n  First char at start or follows newline
557  No need char  No need char
558    
559  /(?i)(^a|^b)/m  /(?i)(^a|^b)/Im
560  Capturing subpattern count = 1  Capturing subpattern count = 1
561  Options: caseless multiline  Options: caseless multiline
562  First char at start or follows \n  First char at start or follows newline
563  No need char  No need char
564    
565  /(a)(?(1)a|b|c)/  /(a)(?(1)a|b|c)/
# Line 554  Failed: conditional group contains more Line 569  Failed: conditional group contains more
569  Failed: conditional group contains more than two branches at offset 12  Failed: conditional group contains more than two branches at offset 12
570    
571  /(?(1a)/  /(?(1a)/
572  Failed: malformed number after (?( at offset 4  Failed: missing ) at offset 6
573    
574    /(?(1a))/
575    Failed: reference to non-existent subpattern at offset 6
576    
577  /(?(?i))/  /(?(?i))/
578  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
579    
580  /(?(abc))/  /(?(abc))/
581  Failed: assertion expected after (?( at offset 3  Failed: reference to non-existent subpattern at offset 7
582    
583  /(?(?<ab))/  /(?(?<ab))/
584  Failed: unrecognized character after (?< at offset 2  Failed: syntax error in subpattern name (missing terminator) at offset 7
585    
586  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/I
587  Capturing subpattern count = 1  Capturing subpattern count = 1
588  Max back reference = 1  Max back reference = 1
589    Partial matching not supported
590  No options  No options
591  First char = 'b'  First char = 'b'
592  Need char = 'h'  Need char = 'h'
593    
594  /((?i)blah)\s+\1/  /((?i)blah)\s+\1/I
595  Capturing subpattern count = 1  Capturing subpattern count = 1
596  Max back reference = 1  Max back reference = 1
597    Partial matching not supported
598  No options  No options
599  Case state changes  First char = 'b' (caseless)
600  No first char  Need char = 'h' (caseless)
 Need char = 'h'  
601    
602  /((?i)b)/DS  /((?i)b)/IDZS
603  ------------------------------------------------------------------  ------------------------------------------------------------------
604    0  16 Bra 0          Bra
605    3   8 Bra 1          CBra 1
606    6  01 Opt       01 Opt
607    8   1 b       NC b
608   11   8 Ket          Ket
609   14  00 Opt       00 Opt
610   16  16 Ket          Ket
611   19     End          End
612  ------------------------------------------------------------------  ------------------------------------------------------------------
613  Capturing subpattern count = 1  Capturing subpattern count = 1
614  No options  No options
615  Case state changes  First char = 'b' (caseless)
616  No first char  No need char
617  Need char = 'b'  Study returned NULL
 Starting character set: B b  
618    
619  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/IS
620  Capturing subpattern count = 1  Capturing subpattern count = 1
621    Partial matching not supported
622  No options  No options
 Case state changes  
623  No first char  No first char
624  No need char  No need char
625  Starting character set: C a b c d  Starting byte set: C a b c d
626    
627  /a$/  /a$/I
628  Capturing subpattern count = 0  Capturing subpattern count = 0
629  No options  No options
630  First char = 'a'  First char = 'a'
# Line 615  No need char Line 633  No need char
633   0: a   0: a
634      a\n      a\n
635   0: a   0: a
636      *** Failers      *** Failers
637  No match  No match
638      \Za      \Za
639  No match  No match
640      \Za\n      \Za\n
641  No match  No match
642    
643  /a$/m  /a$/Im
644  Capturing subpattern count = 0  Capturing subpattern count = 0
645  Options: multiline  Options: multiline
646  First char = 'a'  First char = 'a'
# Line 631  No need char Line 649  No need char
649   0: a   0: a
650      a\n      a\n
651   0: a   0: a
652      \Za\n      \Za\n
653   0: a   0: a
654      *** Failers      *** Failers
655  No match  No match
656      \Za      \Za
657  No match  No match
658    
659  /\Aabc/m  /\Aabc/Im
660  Capturing subpattern count = 0  Capturing subpattern count = 0
661  Options: anchored multiline  Options: anchored multiline
662  No first char  No first char
663  Need char = 'c'  No need char
664    
665  /^abc/m  /^abc/Im
666  Capturing subpattern count = 0  Capturing subpattern count = 0
667  Options: multiline  Options: multiline
668  First char at start or follows \n  First char at start or follows newline
669  Need char = 'c'  Need char = 'c'
670    
671  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
672  Capturing subpattern count = 5  Capturing subpattern count = 5
673    Partial matching not supported
674  Options: anchored  Options: anchored
675  No first char  No first char
676  Need char = 'a'  No need char
677    aaaaabbbbbcccccdef    aaaaabbbbbcccccdef
678   0: aaaaabbbbbcccccdef   0: aaaaabbbbbcccccdef
679   1: aaaaabbbbbcccccdef   1: aaaaabbbbbcccccdef
# Line 663  Need char = 'a' Line 682  Need char = 'a'
682   4: bbbbccccc   4: bbbbccccc
683   5: def   5: def
684    
685  /(?<=foo)[ab]/S  /(?<=foo)[ab]/IS
686  Capturing subpattern count = 0  Capturing subpattern count = 0
687  No options  No options
688  No first char  No first char
689  No need char  No need char
690  Starting character set: a b  Starting byte set: a b
691    
692  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/IS
693  Capturing subpattern count = 1  Capturing subpattern count = 1
694  No options  No options
695  No first char  No first char
696  Need char = 'a'  Need char = 'a'
697  Starting character set: a o  Starting byte set: a o
698    
699  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/IS
700  Capturing subpattern count = 0  Capturing subpattern count = 0
701  No options  No options
702  No first char  No first char
703  No need char  No need char
704  Starting character set: a b  Starting byte set: a b
705    
706    /(?<=foo\n)^bar/Im
707    Capturing subpattern count = 0
708    Contains explicit CR or LF match
709    Options: multiline
710    No first char
711    Need char = 'r'
712        foo\nbarbar
713     0: bar
714        ***Failers
715    No match
716        rhubarb
717    No match
718        barbell
719    No match
720        abc\nbarton
721    No match
722    
723  /(?<=foo\n)^bar/m  /^(?<=foo\n)bar/Im
724  Capturing subpattern count = 0  Capturing subpattern count = 0
725    Contains explicit CR or LF match
726  Options: multiline  Options: multiline
727  First char at start or follows \n  First char at start or follows newline
728  Need char = 'r'  Need char = 'r'
729        foo\nbarbar
730     0: bar
731        ***Failers
732    No match
733        rhubarb
734    No match
735        barbell
736    No match
737        abc\nbarton
738    No match
739    
740  /(?>^abc)/m  /(?>^abc)/Im
741  Capturing subpattern count = 0  Capturing subpattern count = 0
742  Options: multiline  Options: multiline
743  First char at start or follows \n  First char at start or follows newline
744  Need char = 'c'  Need char = 'c'
745      abc      abc
746   0: abc   0: abc
# Line 701  Need char = 'c' Line 748  Need char = 'c'
748   0: abc   0: abc
749      *** Failers      *** Failers
750  No match  No match
751      defabc      defabc
752  No match  No match
753    
754  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 714  Failed: lookbehind assertion is not fixe Line 761  Failed: lookbehind assertion is not fixe
761  Failed: lookbehind assertion is not fixed length at offset 13  Failed: lookbehind assertion is not fixed length at offset 13
762    
763  /The next three are in testinput2 because they have variable length branches/  /The next three are in testinput2 because they have variable length branches/
 Capturing subpattern count = 0  
 No options  
 First char = 'T'  
 Need char = 's'  
764    
765  /(?<=bullock|donkey)-cart/  /(?<=bullock|donkey)-cart/I
766  Capturing subpattern count = 0  Capturing subpattern count = 0
767  No options  No options
768  First char = '-'  First char = '-'
# Line 732  Need char = 't' Line 775  Need char = 't'
775  No match  No match
776      cart      cart
777  No match  No match
778      horse-and-cart      horse-and-cart
779  No match  No match
780    
781  /(?<=ab(?i)x|y|z)/  /(?<=ab(?i)x|y|z)/I
782  Capturing subpattern count = 0  Capturing subpattern count = 0
783  No options  No options
 Case state changes  
784  No first char  No first char
785  No need char  No need char
786    
787  /(?>.*)(?<=(abcd)|(xyz))/  /(?>.*)(?<=(abcd)|(xyz))/I
788  Capturing subpattern count = 2  Capturing subpattern count = 2
789    Partial matching not supported
790  No options  No options
791  First char at start or follows \n  First char at start or follows newline
792  No need char  No need char
793      alphabetabcd      alphabetabcd
794   0: alphabetabcd   0: alphabetabcd
# Line 755  No need char Line 798  No need char
798   1: <unset>   1: <unset>
799   2: xyz   2: xyz
800    
801  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
802  Capturing subpattern count = 0  Capturing subpattern count = 0
803  No options  No options
 Case state changes  
804  First char = 'Z'  First char = 'Z'
805  Need char = 'Z'  Need char = 'Z'
806      abxyZZ      abxyZZ
# Line 771  Need char = 'Z' Line 813  Need char = 'Z'
813   0: ZZ   0: ZZ
814      bZZ      bZZ
815   0: ZZ   0: ZZ
816      BZZ      BZZ
817   0: ZZ   0: ZZ
818      *** Failers      *** Failers
819  No match  No match
820      ZZ      ZZ
821  No match  No match
822      abXYZZ      abXYZZ
823  No match  No match
824      zzz      zzz
825  No match  No match
826      bzz      bzz
827  No match  No match
828    
829  /(?<!(foo)a)bar/  /(?<!(foo)a)bar/I
830  Capturing subpattern count = 1  Capturing subpattern count = 1
831  No options  No options
832  First char = 'b'  First char = 'b'
833  Need char = 'r'  Need char = 'r'
834      bar      bar
835   0: bar   0: bar
836      foobbar      foobbar
837   0: bar   0: bar
838      *** Failers      *** Failers
839  No match  No match
840      fooabar      fooabar
841  No match  No match
842    
843  /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
844  Capturing subpattern count = 0  Capturing subpattern count = 0
845  No options  No options
846  First char = 'T'  First char = 'T'
847  Need char = 't'  Need char = 't'
848    
849  /^(a)?(?(1)a|b)+$/  /^(a)?(?(1)a|b)+$/I
850  Capturing subpattern count = 1  Capturing subpattern count = 1
851  Options: anchored  Options: anchored
852  No first char  No first char
853  No need char  No need char
854      *** Failers      *** Failers
855  No match  No match
856      a      a
857  No match  No match
858    
859  /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
860  Capturing subpattern count = 0  Capturing subpattern count = 0
861  No options  No options
862  First char = 'T'  First char = 'T'
863  Need char = 'g'  Need char = 'g'
864    
865  /^(a\1?){4}$/  /^(a\1?){4}$/I
866  Capturing subpattern count = 1  Capturing subpattern count = 1
867  Max back reference = 1  Max back reference = 1
868  Options: anchored  Options: anchored
869  No first char  No first char
870  Need char = 'a'  No need char
871      aaaaaa      aaaaaa
872   0: aaaaaa   0: aaaaaa
873   1: aa   1: aa
874    
875  /These are syntax tests from Perl 5.005/  /These are syntax tests from Perl 5.005/I
876  Capturing subpattern count = 0  Capturing subpattern count = 0
877  No options  No options
878  First char = 'T'  First char = 'T'
# Line 864  Failed: nothing to repeat at offset 2 Line 906  Failed: nothing to repeat at offset 2
906  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
907    
908  /\1/  /\1/
909  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
910    
911  /\2/  /\2/
912  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
913    
914  /(a)|\2/  /(a)|\2/
915  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
916    
917  /a[b-a]/i  /a[b-a]/Ii
918  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
919    
920  /a[]b/i  /a[]b/Ii
921  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
922    
923  /a[/i  /a[/Ii
924  Failed: missing terminating ] for character class at offset 2  Failed: missing terminating ] for character class at offset 2
925    
926  /*a/i  /*a/Ii
927  Failed: nothing to repeat at offset 0  Failed: nothing to repeat at offset 0
928    
929  /(*)b/i  /(*)b/Ii
930  Failed: nothing to repeat at offset 1  Failed: nothing to repeat at offset 1
931    
932  /abc)/i  /abc)/Ii
933  Failed: unmatched parentheses at offset 3  Failed: unmatched parentheses at offset 3
934    
935  /(abc/i  /(abc/Ii
936  Failed: missing ) at offset 4  Failed: missing ) at offset 4
937    
938  /a**/i  /a**/Ii
939  Failed: nothing to repeat at offset 2  Failed: nothing to repeat at offset 2
940    
941  /)(/i  /)(/Ii
942  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
943    
944  /:(?:/  /:(?:/
945  Failed: missing ) at offset 4  Failed: missing ) at offset 4
946    
947  /(?<%)b/  /(?<%)b/
948  Failed: unrecognized character after (?< at offset 0  Failed: unrecognized character after (?< at offset 3
949    
950  /a(?{)b/  /a(?{)b/
951  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
# Line 921  Failed: unrecognized character after (? Line 963  Failed: unrecognized character after (?
963  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
964    
965  /(?(1?)a|b)/  /(?(1?)a|b)/
966  Failed: malformed number after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
967    
968  /(?(1)a|b|c)/  /(?(1)a|b|c)/
969  Failed: conditional group contains more than two branches at offset 10  Failed: conditional group contains more than two branches at offset 10
# Line 944  Failed: POSIX code 9: bad escape sequenc Line 986  Failed: POSIX code 9: bad escape sequenc
986  /abc/\i  /abc/\i
987  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
988    
989  /(a)bc(d)/  /(a)bc(d)/I
990  Capturing subpattern count = 2  Capturing subpattern count = 2
991  No options  No options
992  First char = 'a'  First char = 'a'
# Line 963  Need char = 'd' Line 1005  Need char = 'd'
1005   1: a   1: a
1006   2: d   2: d
1007  copy substring 5 failed -7  copy substring 5 failed -7
1008    
1009  /(.{20})/  /(.{20})/I
1010  Capturing subpattern count = 1  Capturing subpattern count = 1
1011    Partial matching not supported
1012  No options  No options
1013  No first char  No first char
1014  No need char  No need char
# Line 975  No need char Line 1018  No need char
1018      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
1019   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1020   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1021  copy substring 1 failed -6   1C abcdefghijklmnopqrst (20)
1022      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
1023   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1024   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1025   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1026    
1027  /(.{15})/  /(.{15})/I
1028  Capturing subpattern count = 1  Capturing subpattern count = 1
1029    Partial matching not supported
1030  No options  No options
1031  No first char  No first char
1032  No need char  No need char
# Line 995  No need char Line 1039  No need char
1039   1C abcdefghijklmno (15)   1C abcdefghijklmno (15)
1040   1G abcdefghijklmno (15)   1G abcdefghijklmno (15)
1041    
1042  /(.{16})/  /(.{16})/I
1043  Capturing subpattern count = 1  Capturing subpattern count = 1
1044    Partial matching not supported
1045  No options  No options
1046  No first char  No first char
1047  No need char  No need char
# Line 1006  No need char Line 1051  No need char
1051      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L
1052   0: abcdefghijklmnop   0: abcdefghijklmnop
1053   1: abcdefghijklmnop   1: abcdefghijklmnop
1054  copy substring 1 failed -6   1C abcdefghijklmnop (16)
1055   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1056   0L abcdefghijklmnop   0L abcdefghijklmnop
1057   1L abcdefghijklmnop   1L abcdefghijklmnop
1058    
1059  /^(a|(bc))de(f)/  /^(a|(bc))de(f)/I
1060  Capturing subpattern count = 3  Capturing subpattern count = 3
1061  Options: anchored  Options: anchored
1062  No first char  No first char
1063  Need char = 'f'  No need char
1064      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1065   0: adef   0: adef
1066   1: a   1: a
1067   2: <unset>   2: <unset>
# Line 1029  get substring 4 failed -7 Line 1074  get substring 4 failed -7
1074   1L a   1L a
1075   2L   2L
1076   3L f   3L f
1077      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1078   0: bcdef   0: bcdef
1079   1: bc   1: bc
1080   2: bc   2: bc
# Line 1042  get substring 4 failed -7 Line 1087  get substring 4 failed -7
1087   1L bc   1L bc
1088   2L bc   2L bc
1089   3L f   3L f
1090      adefghijk\C0      adefghijk\C0
1091   0: adef   0: adef
1092   1: a   1: a
1093   2: <unset>   2: <unset>
1094   3: f   3: f
1095   0C adef (4)   0C adef (4)
1096    
1097  /^abc\00def/  /^abc\00def/I
1098  Capturing subpattern count = 0  Capturing subpattern count = 0
1099  Options: anchored  Options: anchored
1100  No first char  No first char
1101  Need char = 'f'  No need char
1102      abc\00def\L\C0      abc\00def\L\C0
1103   0: abc\x00def   0: abc\x00def
1104   0C abc (7)   0C abc (7)
1105   0L abc   0L abc
1106    
1107  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1108  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1109  )?)?)?)?)?)?)?)?)?otherword/M  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 428  
1110  Capturing subpattern count = 8  Capturing subpattern count = 8
1111    Partial matching not supported
1112    Contains explicit CR or LF match
1113  No options  No options
1114  First char = 'w'  First char = 'w'
1115  Need char = 'd'  Need char = 'd'
1116    
1117  /.*X/D  /.*X/IDZ
1118  ------------------------------------------------------------------  ------------------------------------------------------------------
1119    0   8 Bra 0          Bra
1120    3     Any*          Any*
1121    5   1 X          X
1122    8   8 Ket          Ket
1123   11     End          End
1124  ------------------------------------------------------------------  ------------------------------------------------------------------
1125  Capturing subpattern count = 0  Capturing subpattern count = 0
1126    Partial matching not supported
1127  No options  No options
1128  First char at start or follows \n  First char at start or follows newline
1129  Need char = 'X'  Need char = 'X'
1130    
1131  /.*X/Ds  /.*X/IDZs
1132  ------------------------------------------------------------------  ------------------------------------------------------------------
1133    0   8 Bra 0          Bra
1134    3     Any*          Any*
1135    5   1 X          X
1136    8   8 Ket          Ket
1137   11     End          End
1138  ------------------------------------------------------------------  ------------------------------------------------------------------
1139  Capturing subpattern count = 0  Capturing subpattern count = 0
1140    Partial matching not supported
1141  Options: anchored dotall  Options: anchored dotall
1142  No first char  No first char
1143  Need char = 'X'  Need char = 'X'
1144    
1145  /(.*X|^B)/D  /(.*X|^B)/IDZ
1146  ------------------------------------------------------------------  ------------------------------------------------------------------
1147    0  21 Bra 0          Bra
1148    3   8 Bra 1          CBra 1
1149    6     Any*          Any*
1150    8   1 X          X
1151   11   7 Alt          Alt
1152   14     ^          ^
1153   15   1 B          B
1154   18  15 Ket          Ket
1155   21  21 Ket          Ket
1156   24     End          End
1157  ------------------------------------------------------------------  ------------------------------------------------------------------
1158  Capturing subpattern count = 1  Capturing subpattern count = 1
1159    Partial matching not supported
1160  No options  No options
1161  First char at start or follows \n  First char at start or follows newline
1162  No need char  No need char
1163    
1164  /(.*X|^B)/Ds  /(.*X|^B)/IDZs
1165  ------------------------------------------------------------------  ------------------------------------------------------------------
1166    0  21 Bra 0          Bra
1167    3   8 Bra 1          CBra 1
1168    6     Any*          Any*
1169    8   1 X          X
1170   11   7 Alt          Alt
1171   14     ^          ^
1172   15   1 B          B
1173   18  15 Ket          Ket
1174   21  21 Ket          Ket
1175   24     End          End
1176  ------------------------------------------------------------------  ------------------------------------------------------------------
1177  Capturing subpattern count = 1  Capturing subpattern count = 1
1178    Partial matching not supported
1179  Options: anchored dotall  Options: anchored dotall
1180  No first char  No first char
1181  No need char  No need char
1182    
1183  /(?s)(.*X|^B)/D  /(?s)(.*X|^B)/IDZ
1184  ------------------------------------------------------------------  ------------------------------------------------------------------
1185    0  21 Bra 0          Bra
1186    3   8 Bra 1          CBra 1
1187    6     Any*          Any*
1188    8   1 X          X
1189   11   7 Alt          Alt
1190   14     ^          ^
1191   15   1 B          B
1192   18  15 Ket          Ket
1193   21  21 Ket          Ket
1194   24     End          End
1195  ------------------------------------------------------------------  ------------------------------------------------------------------
1196  Capturing subpattern count = 1  Capturing subpattern count = 1
1197    Partial matching not supported
1198  Options: anchored dotall  Options: anchored dotall
1199  No first char  No first char
1200  No need char  No need char
1201    
1202  /(?s:.*X|^B)/D  /(?s:.*X|^B)/IDZ
1203  ------------------------------------------------------------------  ------------------------------------------------------------------
1204    0  27 Bra 0          Bra
1205    3  10 Bra 0          Bra
1206    6  04 Opt       04 Opt
1207    8     Any*          Any*
1208   10   1 X          X
1209   13   9 Alt          Alt
1210   16  04 Opt       04 Opt
1211   18     ^          ^
1212   19   1 B          B
1213   22  19 Ket          Ket
1214   25  00 Opt       00 Opt
1215   27  27 Ket          Ket
1216   30     End          End
1217  ------------------------------------------------------------------  ------------------------------------------------------------------
1218  Capturing subpattern count = 0  Capturing subpattern count = 0
1219    Partial matching not supported
1220  No options  No options
1221  First char at start or follows \n  First char at start or follows newline
1222  No need char  No need char
1223    
1224  /\Biss\B/+  /\Biss\B/I+
1225  Capturing subpattern count = 0  Capturing subpattern count = 0
1226  No options  No options
1227  First char = 'i'  First char = 'i'
# Line 1178  Need char = 's' Line 1230  Need char = 's'
1230   0: iss   0: iss
1231   0+ issippi   0+ issippi
1232    
1233  /\Biss\B/+P  /\Biss\B/I+P
1234      Mississippi      Mississippi
1235   0: iss   0: iss
1236   0+ issippi   0+ issippi
1237    
1238  /iss/G+  /iss/IG+
1239  Capturing subpattern count = 0  Capturing subpattern count = 0
1240  No options  No options
1241  First char = 'i'  First char = 'i'
# Line 1194  Need char = 's' Line 1246  Need char = 's'
1246   0: iss   0: iss
1247   0+ ippi   0+ ippi
1248    
1249  /\Biss\B/G+  /\Biss\B/IG+
1250  Capturing subpattern count = 0  Capturing subpattern count = 0
1251  No options  No options
1252  First char = 'i'  First char = 'i'
# Line 1203  Need char = 's' Line 1255  Need char = 's'
1255   0: iss   0: iss
1256   0+ issippi   0+ issippi
1257    
1258  /\Biss\B/g+  /\Biss\B/Ig+
1259  Capturing subpattern count = 0  Capturing subpattern count = 0
1260  No options  No options
1261  First char = 'i'  First char = 'i'
# Line 1218  No match Line 1270  No match
1270      Mississippi\A      Mississippi\A
1271  No match  No match
1272    
1273  /(?<=[Ms])iss/g+  /(?<=[Ms])iss/Ig+
1274  Capturing subpattern count = 0  Capturing subpattern count = 0
1275  No options  No options
1276  First char = 'i'  First char = 'i'
# Line 1229  Need char = 's' Line 1281  Need char = 's'
1281   0: iss   0: iss
1282   0+ ippi   0+ ippi
1283    
1284  /(?<=[Ms])iss/G+  /(?<=[Ms])iss/IG+
1285  Capturing subpattern count = 0  Capturing subpattern count = 0
1286  No options  No options
1287  First char = 'i'  First char = 'i'
# Line 1238  Need char = 's' Line 1290  Need char = 's'
1290   0: iss   0: iss
1291   0+ issippi   0+ issippi
1292    
1293  /^iss/g+  /^iss/Ig+
1294  Capturing subpattern count = 0  Capturing subpattern count = 0
1295  Options: anchored  Options: anchored
1296  No first char  No first char
1297  Need char = 's'  No need char
1298      ississippi      ississippi
1299   0: iss   0: iss
1300   0+ issippi   0+ issippi
1301    
1302  /.*iss/g+  /.*iss/Ig+
1303  Capturing subpattern count = 0  Capturing subpattern count = 0
1304    Partial matching not supported
1305  No options  No options
1306  First char at start or follows \n  First char at start or follows newline
1307  Need char = 's'  Need char = 's'
1308      abciss\nxyzisspqr      abciss\nxyzisspqr
1309   0: abciss   0: abciss
1310   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1311   0: xyziss   0: xyziss
1312   0+ pqr   0+ pqr
1313    
1314  /.i./+g  /.i./I+g
1315  Capturing subpattern count = 0  Capturing subpattern count = 0
1316  No options  No options
1317  No first char  No first char
# Line 1284  Need char = 'i' Line 1337  Need char = 'i'
1337   0+ river   0+ river
1338   0: riv   0: riv
1339   0+ er   0+ er
1340      Missouri river\A      Missouri river\A
1341   0: Mis   0: Mis
1342   0+ souri river   0+ souri river
1343    
1344  /^.is/+g  /^.is/I+g
1345  Capturing subpattern count = 0  Capturing subpattern count = 0
1346  Options: anchored  Options: anchored
1347  No first char  No first char
1348  Need char = 's'  No need char
1349      Mississippi      Mississippi
1350   0: Mis   0: Mis
1351   0+ sissippi   0+ sissippi
1352    
1353  /^ab\n/g+  /^ab\n/Ig+
1354  Capturing subpattern count = 0  Capturing subpattern count = 0
1355    Contains explicit CR or LF match
1356  Options: anchored  Options: anchored
1357  No first char  No first char
1358  Need char = 10  No need char
1359      ab\nab\ncd      ab\nab\ncd
1360   0: ab\x0a   0: ab\x0a
1361   0+ ab\x0acd   0+ ab\x0acd
1362    
1363  /^ab\n/mg+  /^ab\n/Img+
1364  Capturing subpattern count = 0  Capturing subpattern count = 0
1365    Contains explicit CR or LF match
1366  Options: multiline  Options: multiline
1367  First char at start or follows \n  First char at start or follows newline
1368  Need char = 10  Need char = 10
1369      ab\nab\ncd      ab\nab\ncd
1370   0: ab\x0a   0: ab\x0a
# Line 1317  Need char = 10 Line 1372  Need char = 10
1372   0: ab\x0a   0: ab\x0a
1373   0+ cd   0+ cd
1374    
1375  /abc/  /abc/I
1376  Capturing subpattern count = 0  Capturing subpattern count = 0
1377  No options  No options
1378  First char = 'a'  First char = 'a'
1379  Need char = 'c'  Need char = 'c'
1380    
1381  /abc|bac/  /abc|bac/I
1382  Capturing subpattern count = 0  Capturing subpattern count = 0
1383  No options  No options
1384  No first char  No first char
1385  Need char = 'c'  Need char = 'c'
1386    
1387  /(abc|bac)/  /(abc|bac)/I
1388  Capturing subpattern count = 1  Capturing subpattern count = 1
1389  No options  No options
1390  No first char  No first char
1391  Need char = 'c'  Need char = 'c'
1392    
1393  /(abc|(c|dc))/  /(abc|(c|dc))/I
1394  Capturing subpattern count = 2  Capturing subpattern count = 2
1395  No options  No options
1396  No first char  No first char
1397  Need char = 'c'  Need char = 'c'
1398    
1399  /(abc|(d|de)c)/  /(abc|(d|de)c)/I
1400  Capturing subpattern count = 2  Capturing subpattern count = 2
1401  No options  No options
1402  No first char  No first char
1403  Need char = 'c'  Need char = 'c'
1404    
1405  /a*/  /a*/I
1406  Capturing subpattern count = 0  Capturing subpattern count = 0
1407    Partial matching not supported
1408  No options  No options
1409  No first char  No first char
1410  No need char  No need char
1411    
1412  /a+/  /a+/I
1413  Capturing subpattern count = 0  Capturing subpattern count = 0
1414    Partial matching not supported
1415  No options  No options
1416  First char = 'a'  First char = 'a'
1417  No need char  No need char
1418    
1419  /(baa|a+)/  /(baa|a+)/I
1420  Capturing subpattern count = 1  Capturing subpattern count = 1
1421    Partial matching not supported
1422  No options  No options
1423  No first char  No first char
1424  Need char = 'a'  Need char = 'a'
1425    
1426  /a{0,3}/  /a{0,3}/I
1427  Capturing subpattern count = 0  Capturing subpattern count = 0
1428    Partial matching not supported
1429  No options  No options
1430  No first char  No first char
1431  No need char  No need char
1432    
1433  /baa{3,}/  /baa{3,}/I
1434  Capturing subpattern count = 0  Capturing subpattern count = 0
1435    Partial matching not supported
1436  No options  No options
1437  First char = 'b'  First char = 'b'
1438  Need char = 'a'  Need char = 'a'
1439    
1440  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/I
1441  Capturing subpattern count = 1  Capturing subpattern count = 1
1442    Partial matching not supported
1443    Contains explicit CR or LF match
1444  No options  No options
1445  First char = '"'  First char = '"'
1446  Need char = '"'  Need char = '"'
1447    
1448  /(abc|ab[cd])/  /(abc|ab[cd])/I
1449  Capturing subpattern count = 1  Capturing subpattern count = 1
1450  No options  No options
1451  First char = 'a'  First char = 'a'
1452  No need char  No need char
1453    
1454  /(a|.)/  /(a|.)/I
1455  Capturing subpattern count = 1  Capturing subpattern count = 1
1456  No options  No options
1457  No first char  No first char
1458  No need char  No need char
1459    
1460  /a|ba|\w/  /a|ba|\w/I
1461  Capturing subpattern count = 0  Capturing subpattern count = 0
1462  No options  No options
1463  No first char  No first char
1464  No need char  No need char
1465    
1466  /abc(?=pqr)/  /abc(?=pqr)/I
1467  Capturing subpattern count = 0  Capturing subpattern count = 0
1468  No options  No options
1469  First char = 'a'  First char = 'a'
1470  Need char = 'r'  Need char = 'r'
1471    
1472  /...(?<=abc)/  /...(?<=abc)/I
1473  Capturing subpattern count = 0  Capturing subpattern count = 0
1474  No options  No options
1475  No first char  No first char
1476  No need char  No need char
1477    
1478  /abc(?!pqr)/  /abc(?!pqr)/I
1479  Capturing subpattern count = 0  Capturing subpattern count = 0
1480  No options  No options
1481  First char = 'a'  First char = 'a'
1482  Need char = 'c'  Need char = 'c'
1483    
1484  /ab./  /ab./I
1485  Capturing subpattern count = 0  Capturing subpattern count = 0
1486  No options  No options
1487  First char = 'a'  First char = 'a'
1488  Need char = 'b'  Need char = 'b'
1489    
1490  /ab[xyz]/  /ab[xyz]/I
1491  Capturing subpattern count = 0  Capturing subpattern count = 0
1492  No options  No options
1493  First char = 'a'  First char = 'a'
1494  Need char = 'b'  Need char = 'b'
1495    
1496  /abc*/  /abc*/I
1497  Capturing subpattern count = 0  Capturing subpattern count = 0
1498    Partial matching not supported
1499  No options  No options
1500  First char = 'a'  First char = 'a'
1501  Need char = 'b'  Need char = 'b'
1502    
1503  /ab.c*/  /ab.c*/I
1504  Capturing subpattern count = 0  Capturing subpattern count = 0
1505    Partial matching not supported
1506  No options  No options
1507  First char = 'a'  First char = 'a'
1508  Need char = 'b'  Need char = 'b'
1509    
1510  /a.c*/  /a.c*/I
1511  Capturing subpattern count = 0  Capturing subpattern count = 0
1512    Partial matching not supported
1513  No options  No options
1514  First char = 'a'  First char = 'a'
1515  No need char  No need char
1516    
1517  /.c*/  /.c*/I
1518  Capturing subpattern count = 0  Capturing subpattern count = 0
1519    Partial matching not supported
1520  No options  No options
1521  No first char  No first char
1522  No need char  No need char
1523    
1524  /ac*/  /ac*/I
1525  Capturing subpattern count = 0  Capturing subpattern count = 0
1526    Partial matching not supported
1527  No options  No options
1528  First char = 'a'  First char = 'a'
1529  No need char  No need char
1530    
1531  /(a.c*|b.c*)/  /(a.c*|b.c*)/I
1532  Capturing subpattern count = 1  Capturing subpattern count = 1
1533    Partial matching not supported
1534  No options  No options
1535  No first char  No first char
1536  No need char  No need char
1537    
1538  /a.c*|aba/  /a.c*|aba/I
1539  Capturing subpattern count = 0  Capturing subpattern count = 0
1540    Partial matching not supported
1541  No options  No options
1542  First char = 'a'  First char = 'a'
1543  No need char  No need char
1544    
1545  /.+a/  /.+a/I
1546  Capturing subpattern count = 0  Capturing subpattern count = 0
1547    Partial matching not supported
1548  No options  No options
1549  No first char  No first char
1550  Need char = 'a'  Need char = 'a'
1551    
1552  /(?=abcda)a.*/  /(?=abcda)a.*/I
1553  Capturing subpattern count = 0  Capturing subpattern count = 0
1554    Partial matching not supported
1555  No options  No options
1556  First char = 'a'  First char = 'a'
1557  No need char  Need char = 'a'
1558    
1559  /(?=a)a.*/  /(?=a)a.*/I
1560  Capturing subpattern count = 0  Capturing subpattern count = 0
1561    Partial matching not supported
1562  No options  No options
1563  First char = 'a'  First char = 'a'
1564  No need char  No need char
1565    
1566  /a(b)*/  /a(b)*/I
1567  Capturing subpattern count = 1  Capturing subpattern count = 1
1568  No options  No options
1569  First char = 'a'  First char = 'a'
1570  No need char  No need char
1571    
1572  /a\d*/  /a\d*/I
1573  Capturing subpattern count = 0  Capturing subpattern count = 0
1574    Partial matching not supported
1575  No options  No options
1576  First char = 'a'  First char = 'a'
1577  No need char  No need char
1578    
1579  /ab\d*/  /ab\d*/I
1580  Capturing subpattern count = 0  Capturing subpattern count = 0
1581    Partial matching not supported
1582  No options  No options
1583  First char = 'a'  First char = 'a'
1584  Need char = 'b'  Need char = 'b'
1585    
1586  /a(\d)*/  /a(\d)*/I
1587  Capturing subpattern count = 1  Capturing subpattern count = 1
1588  No options  No options
1589  First char = 'a'  First char = 'a'
1590  No need char  No need char
1591    
1592  /abcde{0,0}/  /abcde{0,0}/I
1593  Capturing subpattern count = 0  Capturing subpattern count = 0
1594  No options  No options
1595  First char = 'a'  First char = 'a'
1596  Need char = 'd'  Need char = 'd'
1597    
1598  /ab\d+/  /ab\d+/I
1599  Capturing subpattern count = 0  Capturing subpattern count = 0
1600    Partial matching not supported
1601  No options  No options
1602  First char = 'a'  First char = 'a'
1603  Need char = 'b'  Need char = 'b'
1604    
1605  /a(?(1)b)/  /a(?(1)b)/I
1606  Capturing subpattern count = 0  Capturing subpattern count = 0
1607  No options  No options
1608  First char = 'a'  First char = 'a'
1609  No need char  No need char
1610    
1611  /a(?(1)bag|big)/  /a(?(1)bag|big)/I
1612  Capturing subpattern count = 0  Capturing subpattern count = 0
1613  No options  No options
1614  First char = 'a'  First char = 'a'
1615  Need char = 'g'  Need char = 'g'
1616    
1617  /a(?(1)bag|big)*/  /a(?(1)bag|big)*/I
1618  Capturing subpattern count = 0  Capturing subpattern count = 0
1619  No options  No options
1620  First char = 'a'  First char = 'a'
1621  No need char  No need char
1622    
1623  /a(?(1)bag|big)+/  /a(?(1)bag|big)+/I
1624  Capturing subpattern count = 0  Capturing subpattern count = 0
1625  No options  No options
1626  First char = 'a'  First char = 'a'
1627  Need char = 'g'  Need char = 'g'
1628    
1629  /a(?(1)b..|b..)/  /a(?(1)b..|b..)/I
1630  Capturing subpattern count = 0  Capturing subpattern count = 0
1631  No options  No options
1632  First char = 'a'  First char = 'a'
1633  Need char = 'b'  Need char = 'b'
1634    
1635  /ab\d{0}e/  /ab\d{0}e/I
1636  Capturing subpattern count = 0  Capturing subpattern count = 0
1637  No options  No options
1638  First char = 'a'  First char = 'a'
1639  Need char = 'e'  Need char = 'e'
1640    
1641  /a?b?/  /a?b?/I
1642  Capturing subpattern count = 0  Capturing subpattern count = 0
1643  No options  No options
1644  No first char  No first char
# Line 1578  No need char Line 1653  No need char
1653   0:   0:
1654      *** Failers      *** Failers
1655   0:   0:
1656      \N      \N
1657  No match  No match
1658    
1659  /|-/  /|-/I
1660  Capturing subpattern count = 0  Capturing subpattern count = 0
1661  No options  No options
1662  No first char  No first char
# Line 1594  No need char Line 1669  No need char
1669   0: -   0: -
1670      *** Failers      *** Failers
1671   0:   0:
1672      \Nabc      \Nabc
1673  No match  No match
1674    
1675  /a*(b+)(z)(z)/P  /a*(b+)(z)(z)/IP
1676      aaaabbbbzzzz      aaaabbbbzzzz
1677   0: aaaabbbbzz   0: aaaabbbbzz
1678   1: bbbb   1: bbbb
# Line 1623  No match Line 1698  No match
1698   1: bbbb   1: bbbb
1699   2: z   2: z
1700   3: z   3: z
1701    
1702  /^.?abcd/S  /^.?abcd/IS
1703  Capturing subpattern count = 0  Capturing subpattern count = 0
1704  Options: anchored  Options: anchored
1705  No first char  No first char
# Line 1638  Study returned NULL Line 1713  Study returned NULL
1713    (?R)          # Recurse - i.e. nested bracketed string    (?R)          # Recurse - i.e. nested bracketed string
1714    )*            # Zero or more contents    )*            # Zero or more contents
1715    \)            # Closing )    \)            # Closing )
1716    /x    /Ix
1717  Capturing subpattern count = 0  Capturing subpattern count = 0
1718    Partial matching not supported
1719    Contains explicit CR or LF match
1720  Options: extended  Options: extended
1721  First char = '('  First char = '('
1722  Need char = ')'  Need char = ')'
# Line 1649  Need char = ')' Line 1726  Need char = ')'
1726   0: (abcd)   0: (abcd)
1727      xyz(abcd)      xyz(abcd)
1728   0: (abcd)   0: (abcd)
1729      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1730   0: (ab(xy)cd)   0: (ab(xy)cd)
1731      (ab(xycd)pqr      (ab(xycd)pqr
1732   0: (xycd)   0: (xycd)
1733      () abc ()      () abc ()
1734   0: ()   0: ()
1735      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1736   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1737      *** Failers      *** Failers
1738  No match  No match
1739      abcd      abcd
1740  No match  No match
1741      abcd)      abcd)
1742  No match  No match
1743      (abcd      (abcd
1744  No match  No match
1745    
1746  /\(  ( (?>[^()]+) | (?R) )* \) /xg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1747  Capturing subpattern count = 1  Capturing subpattern count = 1
1748    Partial matching not supported
1749    Contains explicit CR or LF match
1750  Options: extended  Options: extended
1751  First char = '('  First char = '('
1752  Need char = ')'  Need char = ')'
1753      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1754   0: (ab(xy)cd)   0: (ab(xy)cd)
1755   1: cd   1: cd
1756      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1680  Need char = ')' Line 1759  Need char = ')'
1759   0: (x(y)z)   0: (x(y)z)
1760   1: z   1: z
1761    
1762  /\(  (?: (?>[^()]+) | (?R) ) \) /x  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1763  Capturing subpattern count = 0  Capturing subpattern count = 0
1764    Partial matching not supported
1765    Contains explicit CR or LF match
1766  Options: extended  Options: extended
1767  First char = '('  First char = '('
1768  Need char = ')'  Need char = ')'
# Line 1689  Need char = ')' Line 1770  Need char = ')'
1770   0: (abcd)   0: (abcd)
1771      (ab(xy)cd)      (ab(xy)cd)
1772   0: (xy)   0: (xy)
1773      (a(b(c)d)e)      (a(b(c)d)e)
1774   0: (c)   0: (c)
1775      ((ab))      ((ab))
1776   0: ((ab))   0: ((ab))
1777      *** Failers      *** Failers
1778  No match  No match
1779      ()      ()
1780  No match  No match
1781    
1782  /\(  (?: (?>[^()]+) | (?R) )? \) /x  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1783  Capturing subpattern count = 0  Capturing subpattern count = 0
1784    Partial matching not supported
1785    Contains explicit CR or LF match
1786  Options: extended  Options: extended
1787  First char = '('  First char = '('
1788  Need char = ')'  Need char = ')'
# Line 1708  Need char = ')' Line 1791  Need char = ')'
1791      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1792   0: (fsh)   0: (fsh)
1793    
1794  /\(  ( (?>[^()]+) | (?R) )* \) /x  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1795  Capturing subpattern count = 1  Capturing subpattern count = 1
1796    Partial matching not supported
1797    Contains explicit CR or LF match
1798  Options: extended  Options: extended
1799  First char = '('  First char = '('
1800  Need char = ')'  Need char = ')'
# Line 1717  Need char = ')' Line 1802  Need char = ')'
1802   0: (ab(xy)cd)   0: (ab(xy)cd)
1803   1: cd   1: cd
1804    
1805  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1806  Capturing subpattern count = 2  Capturing subpattern count = 2
1807    Partial matching not supported
1808    Contains explicit CR or LF match
1809  Options: extended  Options: extended
1810  First char = '('  First char = '('
1811  Need char = ')'  Need char = ')'
# Line 1727  Need char = ')' Line 1814  Need char = ')'
1814   1: ab(xy)cd   1: ab(xy)cd
1815   2: cd   2: cd
1816    
1817  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1818  Capturing subpattern count = 3  Capturing subpattern count = 3
1819    Partial matching not supported
1820    Contains explicit CR or LF match
1821  Options: extended  Options: extended
1822  First char = '('  First char = '('
1823  Need char = ')'  Need char = ')'
# Line 1743  Need char = ')' Line 1832  Need char = ')'
1832   2: ab(xy)cd   2: ab(xy)cd
1833   3: cd   3: cd
1834    
1835  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1836  Capturing subpattern count = 3  Capturing subpattern count = 3
1837    Partial matching not supported
1838    Contains explicit CR or LF match
1839  Options: extended  Options: extended
1840  First char = '('  First char = '('
1841  Need char = ')'  Need char = ')'
# Line 1759  Need char = ')' Line 1850  Need char = ')'
1850   2: 123   2: 123
1851   3: cd   3: cd
1852    
1853  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1854  Capturing subpattern count = 11  Capturing subpattern count = 11
1855    Partial matching not supported
1856    Contains explicit CR or LF match
1857  Options: extended  Options: extended
1858  First char = '('  First char = '('
1859  Need char = ')'  Need char = ')'
# Line 1778  Need char = ')' Line 1871  Need char = ')'
1871  10: ab(xy)cd  10: ab(xy)cd
1872  11: cd  11: cd
1873    
1874  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1875  Capturing subpattern count = 3  Capturing subpattern count = 3
1876    Partial matching not supported
1877    Contains explicit CR or LF match
1878  Options: extended  Options: extended
1879  First char = '('  First char = '('
1880  Need char = ')'  Need char = ')'
# Line 1787  Need char = ')' Line 1882  Need char = ')'
1882   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1883   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1884   2: 123   2: 123
1885   3: <p>qrs   3: <unset>
1886    
1887  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1888  Capturing subpattern count = 3  Capturing subpattern count = 3
1889    Partial matching not supported
1890    Contains explicit CR or LF match
1891  Options: extended  Options: extended
1892  First char = '('  First char = '('
1893  Need char = ')'  Need char = ')'
# Line 1805  Need char = ')' Line 1902  Need char = ')'
1902   2: ij   2: ij
1903   3: (cd(ef)gh)   3: (cd(ef)gh)
1904    
1905  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1906    ------------------------------------------------------------------
1907            Bra
1908            ^
1909            [0-9A-Za-z]
1910            Ket
1911            End
1912    ------------------------------------------------------------------
1913    Capturing subpattern count = 0
1914    Options: anchored
1915    No first char
1916    No need char
1917    
1918    /^[[:^alnum:]]/DZ
1919    ------------------------------------------------------------------
1920            Bra
1921            ^
1922            [\x00-/:-@[-`{-\xff]
1923            Ket
1924            End
1925    ------------------------------------------------------------------
1926    Capturing subpattern count = 0
1927    Contains explicit CR or LF match
1928    Options: anchored
1929    No first char
1930    No need char
1931    
1932    /^[[:alpha:]]/DZ
1933    ------------------------------------------------------------------
1934            Bra
1935            ^
1936            [A-Za-z]
1937            Ket
1938            End
1939    ------------------------------------------------------------------
1940    Capturing subpattern count = 0
1941    Options: anchored
1942    No first char
1943    No need char
1944    
1945    /^[[:^alpha:]]/DZ
1946    ------------------------------------------------------------------
1947            Bra
1948            ^
1949            [\x00-@[-`{-\xff]
1950            Ket
1951            End
1952    ------------------------------------------------------------------
1953    Capturing subpattern count = 0
1954    Contains explicit CR or LF match
1955    Options: anchored
1956    No first char
1957    No need char
1958    
1959    /[_[:alpha:]]/IS
1960    Capturing subpattern count = 0
1961    No options
1962    No first char
1963    No need char
1964    Starting byte set: 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 Z
1965      _ 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 z
1966    
1967    /^[[:ascii:]]/DZ
1968    ------------------------------------------------------------------
1969            Bra
1970            ^
1971            [\x00-\x7f]
1972            Ket
1973            End
1974    ------------------------------------------------------------------
1975    Capturing subpattern count = 0
1976    Contains explicit CR or LF match
1977    Options: anchored
1978    No first char
1979    No need char
1980    
1981    /^[[:^ascii:]]/DZ
1982  ------------------------------------------------------------------  ------------------------------------------------------------------
1983    0  37 Bra 0          Bra
1984    3     ^          ^
1985    4     [0-9A-Za-z]          [\x80-\xff]
1986   37  37 Ket          Ket
1987   40     End          End
1988  ------------------------------------------------------------------  ------------------------------------------------------------------
1989  Capturing subpattern count = 0  Capturing subpattern count = 0
1990  Options: anchored  Options: anchored
1991  No first char  No first char
1992  No need char  No need char
1993    
1994  /^[[:alpha:]]/D  /^[[:blank:]]/DZ
1995  ------------------------------------------------------------------  ------------------------------------------------------------------
1996    0  37 Bra 0          Bra
1997    3     ^          ^
1998    4     [A-Za-z]          [\x09 ]
1999   37  37 Ket          Ket
2000   40     End          End
2001  ------------------------------------------------------------------  ------------------------------------------------------------------
2002  Capturing subpattern count = 0  Capturing subpattern count = 0
2003  Options: anchored  Options: anchored
2004  No first char  No first char
2005  No need char  No need char
2006    
2007  /^[[:ascii:]]/D  /^[[:^blank:]]/DZ
2008    ------------------------------------------------------------------
2009            Bra
2010            ^
2011            [\x00-\x08\x0a-\x1f!-\xff]
2012            Ket
2013            End
2014    ------------------------------------------------------------------
2015    Capturing subpattern count = 0
2016    Contains explicit CR or LF match
2017    Options: anchored
2018    No first char
2019    No need char
2020    
2021    /[\n\x0b\x0c\x0d[:blank:]]/IS
2022    Capturing subpattern count = 0
2023    Contains explicit CR or LF match
2024    No options
2025    No first char
2026    No need char
2027    Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2028    
2029    /^[[:cntrl:]]/DZ
2030  ------------------------------------------------------------------  ------------------------------------------------------------------
2031    0  37 Bra 0          Bra
2032    3     ^          ^
2033    4     [\x00-\x7f]          [\x00-\x1f\x7f]
2034   37  37 Ket          Ket
2035   40     End          End
2036  ------------------------------------------------------------------  ------------------------------------------------------------------
2037  Capturing subpattern count = 0  Capturing subpattern count = 0
2038    Contains explicit CR or LF match
2039  Options: anchored  Options: anchored
2040  No first char  No first char
2041  No need char  No need char
2042    
2043  /^[[:cntrl:]]/D  /^[[:digit:]]/DZ
2044  ------------------------------------------------------------------  ------------------------------------------------------------------
2045    0  37 Bra 0          Bra
2046    3     ^          ^
2047    4     [\x00-\x1f\x7f]          [0-9]
2048   37  37 Ket          Ket
2049   40     End          End
2050  ------------------------------------------------------------------  ------------------------------------------------------------------
2051  Capturing subpattern count = 0  Capturing subpattern count = 0
2052  Options: anchored  Options: anchored
2053  No first char  No first char
2054  No need char  No need char
2055    
2056  /^[[:digit:]]/D  /^[[:graph:]]/DZ
2057  ------------------------------------------------------------------  ------------------------------------------------------------------
2058    0  37 Bra 0          Bra
2059    3     ^          ^
2060    4     [0-9]          [!-~]
2061   37  37 Ket          Ket
2062   40     End          End
2063  ------------------------------------------------------------------  ------------------------------------------------------------------
2064  Capturing subpattern count = 0  Capturing subpattern count = 0
2065  Options: anchored  Options: anchored
2066  No first char  No first char
2067  No need char  No need char
2068    
2069  /^[[:graph:]]/D  /^[[:lower:]]/DZ
2070  ------------------------------------------------------------------  ------------------------------------------------------------------
2071    0  37 Bra 0          Bra
2072    3     ^          ^
2073    4     [!-~]          [a-z]
2074   37  37 Ket          Ket
2075   40     End          End
2076  ------------------------------------------------------------------  ------------------------------------------------------------------
2077  Capturing subpattern count = 0  Capturing subpattern count = 0
2078  Options: anchored  Options: anchored
2079  No first char  No first char
2080  No need char  No need char
2081    
2082  /^[[:lower:]]/D  /^[[:print:]]/DZ
2083  ------------------------------------------------------------------  ------------------------------------------------------------------
2084    0  37 Bra 0          Bra
2085    3     ^          ^
2086    4     [a-z]          [ -~]
2087   37  37 Ket          Ket
2088   40     End          End
2089  ------------------------------------------------------------------  ------------------------------------------------------------------
2090  Capturing subpattern count = 0  Capturing subpattern count = 0
2091  Options: anchored  Options: anchored
2092  No first char  No first char
2093  No need char  No need char
2094    
2095  /^[[:print:]]/D  /^[[:punct:]]/DZ
2096  ------------------------------------------------------------------  ------------------------------------------------------------------
2097    0  37 Bra 0          Bra
2098    3     ^          ^
2099    4     [ -~]          [!-/:-@[-`{-~]
2100   37  37 Ket          Ket
2101   40     End          End
2102  ------------------------------------------------------------------  ------------------------------------------------------------------
2103  Capturing subpattern count = 0  Capturing subpattern count = 0
2104  Options: anchored  Options: anchored
2105  No first char  No first char
2106  No need char  No need char
2107    
2108  /^[[:punct:]]/D  /^[[:space:]]/DZ
2109  ------------------------------------------------------------------  ------------------------------------------------------------------
2110    0  37 Bra 0          Bra
2111    3     ^          ^
2112    4     [!-/:-@[-`{-~]          [\x09-\x0d ]
2113   37  37 Ket          Ket
2114   40     End          End
2115  ------------------------------------------------------------------  ------------------------------------------------------------------
2116  Capturing subpattern count = 0  Capturing subpattern count = 0
2117    Contains explicit CR or LF match
2118  Options: anchored  Options: anchored
2119  No first char  No first char
2120  No need char  No need char
2121    
2122  /^[[:space:]]/D  /^[[:upper:]]/DZ
2123  ------------------------------------------------------------------  ------------------------------------------------------------------
2124    0  37 Bra 0          Bra
2125    3     ^          ^
2126    4     [\x09-\x0d ]          [A-Z]
2127   37  37 Ket          Ket
2128   40     End          End
2129  ------------------------------------------------------------------  ------------------------------------------------------------------
2130  Capturing subpattern count = 0  Capturing subpattern count = 0
2131  Options: anchored  Options: anchored
2132  No first char  No first char
2133  No need char  No need char
2134    
2135  /^[[:upper:]]/D  /^[[:xdigit:]]/DZ
2136  ------------------------------------------------------------------  ------------------------------------------------------------------
2137    0  37 Bra 0          Bra
2138    3     ^          ^
2139    4     [A-Z]          [0-9A-Fa-f]
2140   37  37 Ket          Ket
2141   40     End          End
2142  ------------------------------------------------------------------  ------------------------------------------------------------------
2143  Capturing subpattern count = 0  Capturing subpattern count = 0
2144  Options: anchored  Options: anchored
2145  No first char  No first char
2146  No need char  No need char
2147    
2148  /^[[:xdigit:]]/D  /^[[:word:]]/DZ
2149  ------------------------------------------------------------------  ------------------------------------------------------------------
2150    0  37 Bra 0          Bra
2151    3     ^          ^
2152    4     [0-9A-Fa-f]          [0-9A-Z_a-z]
2153   37  37 Ket          Ket
2154   40     End          End
2155  ------------------------------------------------------------------  ------------------------------------------------------------------
2156  Capturing subpattern count = 0  Capturing subpattern count = 0
2157  Options: anchored  Options: anchored
2158  No first char  No first char
2159  No need char  No need char
2160    
2161  /^[[:word:]]/D  /^[[:^cntrl:]]/DZ
2162  ------------------------------------------------------------------  ------------------------------------------------------------------
2163    0  37 Bra 0          Bra
2164    3     ^          ^
2165    4     [0-9A-Z_a-z]          [ -~\x80-\xff]
2166   37  37 Ket          Ket
2167   40     End          End
2168  ------------------------------------------------------------------  ------------------------------------------------------------------
2169  Capturing subpattern count = 0  Capturing subpattern count = 0
2170  Options: anchored  Options: anchored
2171  No first char  No first char
2172  No need char  No need char
2173    
2174  /^[[:^cntrl:]]/D  /^[12[:^digit:]]/DZ
2175  ------------------------------------------------------------------  ------------------------------------------------------------------
2176    0  37 Bra 0          Bra
2177    3     ^          ^
2178    4     [ -~\x80-\xff]          [\x00-/12:-\xff]
2179   37  37 Ket          Ket
2180   40     End          End
2181  ------------------------------------------------------------------  ------------------------------------------------------------------
2182  Capturing subpattern count = 0  Capturing subpattern count = 0
2183    Contains explicit CR or LF match
2184  Options: anchored  Options: anchored
2185  No first char  No first char
2186  No need char  No need char
2187    
2188  /^[12[:^digit:]]/D  /^[[:^blank:]]/DZ
2189  ------------------------------------------------------------------  ------------------------------------------------------------------
2190    0  37 Bra 0          Bra
2191    3     ^          ^
2192    4     [\x00-/1-2:-\xff]          [\x00-\x08\x0a-\x1f!-\xff]
2193   37  37 Ket          Ket
2194   40     End          End
2195  ------------------------------------------------------------------  ------------------------------------------------------------------
2196  Capturing subpattern count = 0  Capturing subpattern count = 0
2197    Contains explicit CR or LF match
2198  Options: anchored  Options: anchored
2199  No first char  No first char
2200  No need char  No need char
2201    
2202  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2203  ------------------------------------------------------------------  ------------------------------------------------------------------
2204    0  36 Bra 0          Bra
2205    3     [%0-1A-Za-z]          [%01A-Za-z]
2206   36  36 Ket          Ket
2207   39     End          End
2208  ------------------------------------------------------------------  ------------------------------------------------------------------
2209  Capturing subpattern count = 0  Capturing subpattern count = 0
2210  No options  No options
2211  No first char  No first char
2212  No need char  No need char
2213    
2214  /[[.ch.]]/  /[[.ch.]]/I
2215  Failed: POSIX collating elements are not supported at offset 1  Failed: POSIX collating elements are not supported at offset 1
2216    
2217  /[[=ch=]]/  /[[=ch=]]/I
2218  Failed: POSIX collating elements are not supported at offset 1  Failed: POSIX collating elements are not supported at offset 1
2219    
2220  /[[:rhubarb:]]/  /[[:rhubarb:]]/I
2221  Failed: unknown POSIX class name at offset 3  Failed: unknown POSIX class name at offset 3
2222    
2223  /[[:upper:]]/i  /[[:upper:]]/Ii
2224  Capturing subpattern count = 0  Capturing subpattern count = 0
2225  Options: caseless  Options: caseless
2226  No first char  No first char
2227  No need char  No need char
2228      A      A
2229   0: A   0: A
2230      a      a
2231   0: a   0: a
2232    
2233  /[[:lower:]]/i  /[[:lower:]]/Ii
2234  Capturing subpattern count = 0  Capturing subpattern count = 0
2235  Options: caseless  Options: caseless
2236  No first char  No first char
2237  No need char  No need char
2238      A      A
2239   0: A   0: A
2240      a      a
2241   0: a   0: a
2242    
2243  /((?-i)[[:lower:]])[[:lower:]]/i  /((?-i)[[:lower:]])[[:lower:]]/Ii
2244  Capturing subpattern count = 1  Capturing subpattern count = 1
2245  Options: caseless  Options: caseless
 Case state changes  
2246  No first char  No first char
2247  No need char  No need char
2248      ab      ab
# Line 2058  No need char Line 2256  No need char
2256   1: a   1: a
2257      Ab      Ab
2258  No match  No match
2259      AB      AB
2260  No match  No match
2261    
2262  /[\200-\410]/  /[\200-\110]/I
2263  Failed: range out of order in character class at offset 9  Failed: range out of order in character class at offset 9
2264    
2265  /^(?(0)f|b)oo/  /^(?(0)f|b)oo/I
2266  Failed: invalid condition (?(0) at offset 5  Failed: invalid condition (?(0) at offset 6
2267    
2268  /This one's here because of the large output vector needed/  /This one's here because of the large output vector needed/I
2269  Capturing subpattern count = 0  Capturing subpattern count = 0
2270  No options  No options
2271  First char = 'T'  First char = 'T'
2272  Need char = 'd'  Need char = 'd'
2273    
2274  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
2275  Capturing subpattern count = 271  Capturing subpattern count = 271
2276  Max back reference = 270  Max back reference = 270
2277    Partial matching not supported
2278  No options  No options
2279  No first char  No first char
2280  No need char  No need char
# Line 2353  No need char Line 2552  No need char
2552  270: ABC  270: ABC
2553  271: ABC  271: ABC
2554    
2555  /This one's here because Perl does this differently and PCRE can't at present/  /This one's here because Perl does this differently and PCRE can't at present/I
2556  Capturing subpattern count = 0  Capturing subpattern count = 0
2557  No options  No options
2558  First char = 'T'  First char = 'T'
2559  Need char = 't'  Need char = 't'
2560    
2561  /(main(O)?)+/  /(main(O)?)+/I
2562  Capturing subpattern count = 2  Capturing subpattern count = 2
2563  No options  No options
2564  First char = 'm'  First char = 'm'
# Line 2371  Need char = 'n' Line 2570  Need char = 'n'
2570   0: mainOmain   0: mainOmain
2571   1: main   1: main
2572   2: O   2: O
2573    
2574  / End of testinput2 /  /These are all cases where Perl does it differently (nested captures)/I
2575    Capturing subpattern count = 1
2576    No options
2577    First char = 'T'
2578    Need char = 's'
2579    
2580    /^(a(b)?)+$/I
2581    Capturing subpattern count = 2
2582    Options: anchored
2583    No first char
2584    No need char
2585        aba
2586     0: aba
2587     1: a
2588     2: b
2589    
2590    /^(aa(bb)?)+$/I
2591    Capturing subpattern count = 2
2592    Options: anchored
2593    No first char
2594    No need char
2595        aabbaa
2596     0: aabbaa
2597     1: aa
2598     2: bb
2599    
2600    /^(aa|aa(bb))+$/I
2601    Capturing subpattern count = 2
2602    Options: anchored
2603    No first char
2604    No need char
2605        aabbaa
2606     0: aabbaa
2607     1: aa
2608     2: bb
2609    
2610    /^(aa(bb)??)+$/I
2611    Capturing subpattern count = 2
2612    Options: anchored
2613    No first char
2614    No need char
2615        aabbaa
2616     0: aabbaa
2617     1: aa
2618     2: bb
2619    
2620    /^(?:aa(bb)?)+$/I
2621    Capturing subpattern count = 1
2622    Options: anchored
2623    No first char
2624    No need char
2625        aabbaa
2626     0: aabbaa
2627     1: bb
2628    
2629    /^(aa(b(b))?)+$/I
2630    Capturing subpattern count = 3
2631    Options: anchored
2632    No first char
2633    No need char
2634        aabbaa
2635     0: aabbaa
2636     1: aa
2637     2: bb
2638     3: b
2639    
2640    /^(?:aa(b(b))?)+$/I
2641    Capturing subpattern count = 2
2642    Options: anchored
2643    No first char
2644    No need char
2645        aabbaa
2646     0: aabbaa
2647     1: bb
2648     2: b
2649    
2650    /^(?:aa(b(?:b))?)+$/I
2651    Capturing subpattern count = 1
2652    Options: anchored
2653    No first char
2654    No need char
2655        aabbaa
2656     0: aabbaa
2657     1: bb
2658    
2659    /^(?:aa(bb(?:b))?)+$/I
2660    Capturing subpattern count = 1
2661    Options: anchored
2662    No first char
2663    No need char
2664        aabbbaa
2665     0: aabbbaa
2666     1: bbb
2667    
2668    /^(?:aa(b(?:bb))?)+$/I
2669    Capturing subpattern count = 1
2670    Options: anchored
2671    No first char
2672    No need char
2673        aabbbaa
2674     0: aabbbaa
2675     1: bbb
2676    
2677    /^(?:aa(?:b(b))?)+$/I
2678    Capturing subpattern count = 1
2679    Options: anchored
2680    No first char
2681    No need char
2682        aabbaa
2683     0: aabbaa
2684     1: b
2685    
2686    /^(?:aa(?:b(bb))?)+$/I
2687    Capturing subpattern count = 1
2688    Options: anchored
2689    No first char
2690    No need char
2691        aabbbaa
2692     0: aabbbaa
2693     1: bb
2694    
2695    /^(aa(b(bb))?)+$/I
2696    Capturing subpattern count = 3
2697    Options: anchored
2698    No first char
2699    No need char
2700        aabbbaa
2701     0: aabbbaa
2702     1: aa
2703     2: bbb
2704     3: bb
2705    
2706    /^(aa(bb(bb))?)+$/I
2707    Capturing subpattern count = 3
2708    Options: anchored
2709    No first char
2710    No need char
2711        aabbbbaa
2712     0: aabbbbaa
2713     1: aa
2714     2: bbbb
2715     3: bb
2716    
2717    /--------------------------------------------------------------------/I
2718  Capturing subpattern count = 0  Capturing subpattern count = 0
2719  No options  No options
2720  First char = ' '  First char = '-'
2721  Need char = ' '  Need char = '-'
2722    
2723    /#/IxDZ
2724    ------------------------------------------------------------------
2725            Bra
2726            Ket
2727            End
2728    ------------------------------------------------------------------
2729    Capturing subpattern count = 0
2730    Options: extended
2731    No first char
2732    No need char
2733    
2734    /a#/IxDZ
2735    ------------------------------------------------------------------
2736            Bra
2737            a
2738            Ket
2739            End
2740    ------------------------------------------------------------------
2741    Capturing subpattern count = 0
2742    Options: extended
2743    First char = 'a'
2744    No need char
2745    
2746    /[\s]/DZ
2747    ------------------------------------------------------------------
2748            Bra
2749            [\x09\x0a\x0c\x0d ]
2750            Ket
2751            End
2752    ------------------------------------------------------------------
2753    Capturing subpattern count = 0
2754    No options
2755    No first char
2756    No need char
2757    
2758    /[\S]/DZ
2759    ------------------------------------------------------------------
2760            Bra
2761            [\x00-\x08\x0b\x0e-\x1f!-\xff]
2762            Ket
2763            End
2764    ------------------------------------------------------------------
2765    Capturing subpattern count = 0
2766    No options
2767    No first char
2768    No need char
2769    
2770    /a(?i)b/DZ
2771    ------------------------------------------------------------------
2772            Bra
2773            a
2774         01 Opt
2775         NC b
2776            Ket
2777            End
2778    ------------------------------------------------------------------
2779    Capturing subpattern count = 0
2780    No options
2781    First char = 'a'
2782    Need char = 'b' (caseless)
2783        ab
2784     0: ab
2785        aB
2786     0: aB
2787        *** Failers
2788    No match
2789        AB
2790    No match
2791    
2792    /(a(?i)b)/DZ
2793    ------------------------------------------------------------------
2794            Bra
2795            CBra 1
2796            a
2797         01 Opt
2798         NC b
2799            Ket
2800         00 Opt
2801            Ket
2802            End
2803    ------------------------------------------------------------------
2804    Capturing subpattern count = 1
2805    No options
2806    First char = 'a'
2807    Need char = 'b' (caseless)
2808        ab
2809     0: ab
2810     1: ab
2811        aB
2812     0: aB
2813     1: aB
2814        *** Failers
2815    No match
2816        AB
2817    No match
2818    
2819    /   (?i)abc/IxDZ
2820    ------------------------------------------------------------------
2821            Bra
2822         NC abc
2823            Ket
2824            End
2825    ------------------------------------------------------------------
2826    Capturing subpattern count = 0
2827    Options: caseless extended
2828    First char = 'a' (caseless)
2829    Need char = 'c' (caseless)
2830    
2831    /#this is a comment
2832      (?i)abc/IxDZ
2833    ------------------------------------------------------------------
2834            Bra
2835         NC abc
2836            Ket
2837            End
2838    ------------------------------------------------------------------
2839    Capturing subpattern count = 0
2840    Options: caseless extended
2841    First char = 'a' (caseless)
2842    Need char = 'c' (caseless)
2843    
2844    /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2845    ------------------------------------------------------------------
2846            Bra
2847            123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2848            Ket
2849            End
2850    ------------------------------------------------------------------
2851    Capturing subpattern count = 0
2852    No options
2853    First char = '1'
2854    Need char = '0'
2855    
2856    /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2857    ------------------------------------------------------------------
2858            Bra
2859            123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2860            Ket
2861            End
2862    ------------------------------------------------------------------
2863    Capturing subpattern count = 0
2864    No options
2865    First char = '1'
2866    Need char = '0'
2867    
2868    /\Q\E/DZ
2869    ------------------------------------------------------------------
2870            Bra
2871            Ket
2872            End
2873    ------------------------------------------------------------------
2874    Capturing subpattern count = 0
2875    No options
2876    No first char
2877    No need char
2878        \
2879     0:
2880    
2881    /\Q\Ex/DZ
2882    ------------------------------------------------------------------
2883            Bra
2884            x
2885            Ket
2886            End
2887    ------------------------------------------------------------------
2888    Capturing subpattern count = 0
2889    No options
2890    First char = 'x'
2891    No need char
2892    
2893    / \Q\E/DZ
2894    ------------------------------------------------------------------
2895            Bra
2896    
2897            Ket
2898            End
2899    ------------------------------------------------------------------
2900    Capturing subpattern count = 0
2901    No options
2902    First char = ' '
2903    No need char
2904    
2905    /a\Q\E/DZ
2906    ------------------------------------------------------------------
2907            Bra
2908            a
2909            Ket
2910            End
2911    ------------------------------------------------------------------
2912    Capturing subpattern count = 0
2913    No options
2914    First char = 'a'
2915    No need char
2916      abc
2917     0: a
2918      bca
2919     0: a
2920      bac
2921     0: a
2922    
2923    /a\Q\Eb/DZ
2924    ------------------------------------------------------------------
2925            Bra
2926            ab
2927            Ket
2928            End
2929    ------------------------------------------------------------------
2930    Capturing subpattern count = 0
2931    No options
2932    First char = 'a'
2933    Need char = 'b'
2934      abc
2935     0: ab
2936    
2937    /\Q\Eabc/DZ
2938    ------------------------------------------------------------------
2939            Bra
2940            abc
2941            Ket
2942            End
2943    ------------------------------------------------------------------
2944    Capturing subpattern count = 0
2945    No options
2946    First char = 'a'
2947    Need char = 'c'
2948    
2949    /x*+\w/DZ
2950    ------------------------------------------------------------------
2951            Bra
2952            x*+
2953            \w
2954            Ket
2955            End
2956    ------------------------------------------------------------------
2957    Capturing subpattern count = 0
2958    Partial matching not supported
2959    No options
2960    No first char
2961    No need char
2962        *** Failers
2963     0: F
2964        xxxxx
2965    No match
2966    
2967    /x?+/DZ
2968    ------------------------------------------------------------------
2969            Bra
2970            x?+
2971            Ket
2972            End
2973    ------------------------------------------------------------------
2974    Capturing subpattern count = 0
2975    No options
2976    No first char
2977    No need char
2978    
2979    /x++/DZ
2980    ------------------------------------------------------------------
2981            Bra
2982            x++
2983            Ket
2984            End
2985    ------------------------------------------------------------------
2986    Capturing subpattern count = 0
2987    Partial matching not supported
2988    No options
2989    First char = 'x'
2990    No need char
2991    
2992    /x{1,3}+/DZ
2993    ------------------------------------------------------------------
2994            Bra
2995            Once
2996            x
2997            x{0,2}
2998            Ket
2999            Ket
3000            End
3001    ------------------------------------------------------------------
3002    Capturing subpattern count = 0
3003    Partial matching not supported
3004    No options
3005    First char = 'x'
3006    No need char
3007    
3008    /(x)*+/DZ
3009    ------------------------------------------------------------------
3010            Bra
3011            Once
3012            Brazero
3013            CBra 1
3014            x
3015            KetRmax
3016            Ket
3017            Ket
3018            End
3019    ------------------------------------------------------------------
3020    Capturing subpattern count = 1
3021    No options
3022    No first char
3023    No need char
3024    
3025    /^(\w++|\s++)*$/I
3026    Capturing subpattern count = 1
3027    Partial matching not supported
3028    Options: anchored
3029    No first char
3030    No need char
3031        now is the time for all good men to come to the aid of the party
3032     0: now is the time for all good men to come to the aid of the party
3033     1: party
3034        *** Failers
3035    No match
3036        this is not a line with only words and spaces!
3037    No match
3038    
3039    /(\d++)(\w)/I
3040    Capturing subpattern count = 2
3041    Partial matching not supported
3042    No options
3043    No first char
3044    No need char
3045        12345a
3046     0: 12345a
3047     1: 12345
3048     2: a
3049        *** Failers
3050    No match
3051        12345+
3052    No match
3053    
3054    /a++b/I
3055    Capturing subpattern count = 0
3056    Partial matching not supported
3057    No options
3058    First char = 'a'
3059    Need char = 'b'
3060        aaab
3061     0: aaab
3062    
3063    /(a++b)/I
3064    Capturing subpattern count = 1
3065    Partial matching not supported
3066    No options
3067    First char = 'a'
3068    Need char = 'b'
3069        aaab
3070     0: aaab
3071     1: aaab
3072    
3073    /(a++)b/I
3074    Capturing subpattern count = 1
3075    Partial matching not supported
3076    No options
3077    First char = 'a'
3078    Need char = 'b'
3079        aaab
3080     0: aaab
3081     1: aaa
3082    
3083    /([^()]++|\([^()]*\))+/I
3084    Capturing subpattern count = 1
3085    Partial matching not supported
3086    Contains explicit CR or LF match
3087    No options
3088    No first char
3089    No need char
3090        ((abc(ade)ufh()()x
3091     0: abc(ade)ufh()()x
3092     1: x
3093    
3094    /\(([^()]++|\([^()]+\))+\)/I
3095    Capturing subpattern count = 1
3096    Partial matching not supported
3097    Contains explicit CR or LF match
3098    No options
3099    First char = '('
3100    Need char = ')'
3101        (abc)
3102     0: (abc)
3103     1: abc
3104        (abc(def)xyz)
3105     0: (abc(def)xyz)
3106     1: xyz
3107        *** Failers
3108    No match
3109        ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3110    No match
3111    
3112    /(abc){1,3}+/DZ
3113    ------------------------------------------------------------------
3114            Bra
3115            Once
3116            CBra 1
3117            abc
3118            Ket
3119            Brazero
3120            Bra
3121            CBra 1
3122            abc
3123            Ket
3124            Brazero
3125            CBra 1
3126            abc
3127            Ket
3128            Ket
3129            Ket
3130            Ket
3131            End
3132    ------------------------------------------------------------------
3133    Capturing subpattern count = 1
3134    No options
3135    First char = 'a'
3136    Need char = 'c'
3137    
3138    /a+?+/I
3139    Failed: nothing to repeat at offset 3
3140    
3141    /a{2,3}?+b/I
3142    Failed: nothing to repeat at offset 7
3143    
3144    /(?U)a+?+/I
3145    Failed: nothing to repeat at offset 7
3146    
3147    /a{2,3}?+b/IU
3148    Failed: nothing to repeat at offset 7
3149    
3150    /x(?U)a++b/DZ
3151    ------------------------------------------------------------------
3152            Bra
3153            x
3154            a++
3155            b
3156            Ket
3157            End
3158    ------------------------------------------------------------------
3159    Capturing subpattern count = 0
3160    Partial matching not supported
3161    No options
3162    First char = 'x'
3163    Need char = 'b'
3164        xaaaab
3165     0: xaaaab
3166    
3167    /(?U)xa++b/DZ
3168    ------------------------------------------------------------------
3169            Bra
3170            x
3171            a++
3172            b
3173            Ket
3174            End
3175    ------------------------------------------------------------------
3176    Capturing subpattern count = 0
3177    Partial matching not supported
3178    Options: ungreedy
3179    First char = 'x'
3180    Need char = 'b'
3181        xaaaab
3182     0: xaaaab
3183    
3184    /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3185    ------------------------------------------------------------------
3186            Bra
3187            ^
3188            CBra 1
3189            CBra 2
3190            a+
3191            Ket
3192            CBra 3
3193            [ab]+?
3194            Ket
3195            CBra 4
3196            [bc]+
3197            Ket
3198            CBra 5
3199            \w*
3200            Ket
3201            Ket
3202            Ket
3203            End
3204    ------------------------------------------------------------------
3205    Capturing subpattern count = 5
3206    Partial matching not supported
3207    Options: anchored
3208    No first char
3209    No need char
3210    
3211    /^x(?U)a+b/DZ
3212    ------------------------------------------------------------------
3213            Bra
3214            ^
3215            x
3216            a++
3217            b
3218            Ket
3219            End
3220    ------------------------------------------------------------------
3221    Capturing subpattern count = 0
3222    Partial matching not supported
3223    Options: anchored
3224    No first char
3225    Need char = 'b'
3226    
3227    /^x(?U)(a+)b/DZ
3228    ------------------------------------------------------------------
3229            Bra
3230            ^
3231            x
3232            CBra 1
3233            a+?
3234            Ket
3235            b
3236            Ket
3237            End
3238    ------------------------------------------------------------------
3239    Capturing subpattern count = 1
3240    Partial matching not supported
3241    Options: anchored
3242    No first char
3243    Need char = 'b'
3244    
3245    /[.x.]/I
3246    Failed: POSIX collating elements are not supported at offset 0
3247    
3248    /[=x=]/I
3249    Failed: POSIX collating elements are not supported at offset 0
3250    
3251    /[:x:]/I
3252    Failed: POSIX named classes are supported only within a class at offset 0
3253    
3254    /\l/I
3255    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3256    
3257    /\L/I
3258    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3259    
3260    /\N{name}/I
3261    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3262    
3263    /\u/I
3264    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3265    
3266    /\U/I
3267    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3268    
3269    /[/I
3270    Failed: missing terminating ] for character class at offset 1
3271    
3272    /[a-/I
3273    Failed: missing terminating ] for character class at offset 3
3274    
3275    /[[:space:]/I
3276    Failed: missing terminating ] for character class at offset 10
3277    
3278    /[\s]/IDZ
3279    ------------------------------------------------------------------
3280            Bra
3281            [\x09\x0a\x0c\x0d ]
3282            Ket
3283            End
3284    ------------------------------------------------------------------
3285    Capturing subpattern count = 0
3286    No options
3287    No first char
3288    No need char
3289    
3290    /[[:space:]]/IDZ
3291    ------------------------------------------------------------------
3292            Bra
3293            [\x09-\x0d ]
3294            Ket
3295            End
3296    ------------------------------------------------------------------
3297    Capturing subpattern count = 0
3298    Contains explicit CR or LF match
3299    No options
3300    No first char
3301    No need char
3302    
3303    /[[:space:]abcde]/IDZ
3304    ------------------------------------------------------------------
3305            Bra
3306            [\x09-\x0d a-e]
3307            Ket
3308            End
3309    ------------------------------------------------------------------
3310    Capturing subpattern count = 0
3311    Contains explicit CR or LF match
3312    No options
3313    No first char
3314    No need char
3315    
3316    /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3317    Capturing subpattern count = 0
3318    Partial matching not supported
3319    Contains explicit CR or LF match
3320    Options: extended
3321    First char = '<'
3322    Need char = '>'
3323        <>
3324     0: <>
3325        <abcd>
3326     0: <abcd>
3327        <abc <123> hij>
3328     0: <abc <123> hij>
3329        <abc <def> hij>
3330     0: <def>
3331        <abc<>def>
3332     0: <abc<>def>
3333        <abc<>
3334     0: <>
3335        *** Failers
3336    No match
3337        <abc
3338    No match
3339    
3340    |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3341    ------------------------------------------------------------------
3342            Bra
3343            8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3344            \b
3345            Ket
3346            End
3347    ------------------------------------------------------------------
3348    Capturing subpattern count = 0
3349    No options
3350    First char = '8'
3351    Need char = 'X'
3352    
3353    |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|IDZ
3354    ------------------------------------------------------------------
3355            Bra
3356            $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3357            \b
3358            Ket
3359            End
3360    ------------------------------------------------------------------
3361    Capturing subpattern count = 0
3362    No options
3363    First char = '$'
3364    Need char = 'X'
3365    
3366    /(.*)\d+\1/I
3367    Capturing subpattern count = 1
3368    Max back reference = 1
3369    Partial matching not supported
3370    No options
3371    No first char
3372    No need char
3373    
3374    /(.*)\d+/I
3375    Capturing subpattern count = 1
3376    Partial matching not supported
3377    No options
3378    First char at start or follows newline
3379    No need char
3380    
3381    /(.*)\d+\1/Is
3382    Capturing subpattern count = 1
3383    Max back reference = 1
3384    Partial matching not supported
3385    Options: dotall
3386    No first char
3387    No need char
3388    
3389    /(.*)\d+/Is
3390    Capturing subpattern count = 1
3391    Partial matching not supported
3392    Options: anchored dotall
3393    No first char
3394    No need char
3395    
3396    /(.*(xyz))\d+\2/I
3397    Capturing subpattern count = 2
3398    Max back reference = 2
3399    Partial matching not supported
3400    No options
3401    First char at start or follows newline
3402    Need char = 'z'
3403    
3404    /((.*))\d+\1/I
3405    Capturing subpattern count = 2
3406    Max back reference = 1
3407    Partial matching not supported
3408    No options
3409    No first char
3410    No need char
3411        abc123bc
3412     0: bc123bc
3413     1: bc
3414     2: bc
3415    
3416    /a[b]/I
3417    Capturing subpattern count = 0
3418    No options
3419    First char = 'a'
3420    Need char = 'b'
3421    
3422    /(?=a).*/I
3423    Capturing subpattern count = 0
3424    Partial matching not supported
3425    No options
3426    First char = 'a'
3427    No need char
3428    
3429    /(?=abc).xyz/IiI
3430    Capturing subpattern count = 0
3431    Options: caseless
3432    First char = 'a' (caseless)
3433    Need char = 'z' (caseless)
3434    
3435    /(?=abc)(?i).xyz/I
3436    Capturing subpattern count = 0
3437    No options
3438    First char = 'a'
3439    Need char = 'z' (caseless)
3440    
3441    /(?=a)(?=b)/I
3442    Capturing subpattern count = 0
3443    No options
3444    First char = 'a'
3445    No need char
3446    
3447    /(?=.)a/I
3448    Capturing subpattern count = 0
3449    No options
3450    First char = 'a'
3451    No need char
3452    
3453    /((?=abcda)a)/I
3454    Capturing subpattern count = 1
3455    No options
3456    First char = 'a'
3457    Need char = 'a'
3458    
3459    /((?=abcda)ab)/I
3460    Capturing subpattern count = 1
3461    No options
3462    First char = 'a'
3463    Need char = 'b'
3464    
3465    /()a/I
3466    Capturing subpattern count = 1
3467    No options
3468    No first char
3469    Need char = 'a'
3470    
3471    /(?(1)ab|ac)/I
3472    Capturing subpattern count = 0
3473    No options
3474    First char = 'a'
3475    No need char
3476    
3477    /(?(1)abz|acz)/I
3478    Capturing subpattern count = 0
3479    No options
3480    First char = 'a'
3481    Need char = 'z'
3482    
3483    /(?(1)abz)/I
3484    Capturing subpattern count = 0
3485    No options
3486    No first char
3487    No need char
3488    
3489    /(?(1)abz)123/I
3490    Capturing subpattern count = 0
3491    No options
3492    No first char
3493    Need char = '3'
3494    
3495    /(a)+/I
3496    Capturing subpattern count = 1
3497    No options
3498    First char = 'a'
3499    No need char
3500    
3501    /(a){2,3}/I
3502    Capturing subpattern count = 1
3503    No options
3504    First char = 'a'
3505    Need char = 'a'
3506    
3507    /(a)*/I
3508    Capturing subpattern count = 1
3509    No options
3510    No first char
3511    No need char
3512    
3513    /[a]/I
3514    Capturing subpattern count = 0
3515    No options
3516    First char = 'a'
3517    No need char
3518    
3519    /[ab]/I
3520    Capturing subpattern count = 0
3521    No options
3522    No first char
3523    No need char
3524    
3525    /[ab]/IS
3526    Capturing subpattern count = 0
3527    No options
3528    No first char
3529    No need char
3530    Starting byte set: a b
3531    
3532    /[^a]/I
3533    Capturing subpattern count = 0
3534    Contains explicit CR or LF match
3535    No options
3536    No first char
3537    No need char
3538    
3539    /\d456/I
3540    Capturing subpattern count = 0
3541    No options
3542    No first char
3543    Need char = '6'
3544    
3545    /\d456/IS
3546    Capturing subpattern count = 0
3547    No options
3548    No first char
3549    Need char = '6'
3550    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3551    
3552    /a^b/I
3553    Capturing subpattern count = 0
3554    No options
3555    First char = 'a'
3556    Need char = 'b'
3557    
3558    /^a/Im
3559    Capturing subpattern count = 0
3560    Options: multiline
3561    First char at start or follows newline
3562    Need char = 'a'
3563      abcde
3564     0: a
3565      xy\nabc
3566     0: a
3567      *** Failers
3568    No match
3569      xyabc
3570    No match
3571    
3572    /c|abc/I
3573    Capturing subpattern count = 0
3574    No options
3575    No first char
3576    Need char = 'c'
3577    
3578    /(?i)[ab]/IS
3579    Capturing subpattern count = 0
3580    Options: caseless
3581    No first char
3582    No need char
3583    Starting byte set: A B a b
3584    
3585    /[ab](?i)cd/IS
3586    Capturing subpattern count = 0
3587    No options
3588    No first char
3589    Need char = 'd' (caseless)
3590    Starting byte set: a b
3591    
3592    /abc(?C)def/I
3593    Capturing subpattern count = 0
3594    No options
3595    First char = 'a'
3596    Need char = 'f'
3597        abcdef
3598    --->abcdef
3599      0 ^  ^       d
3600     0: abcdef
3601        1234abcdef
3602    --->1234abcdef
3603      0     ^  ^       d
3604     0: abcdef
3605        *** Failers
3606    No match
3607        abcxyz
3608    No match
3609        abcxyzf
3610    --->abcxyzf
3611      0 ^  ^        d
3612    No match
3613    
3614    /abc(?C)de(?C1)f/I
3615    Capturing subpattern count = 0
3616    No options
3617    First char = 'a'
3618    Need char = 'f'
3619        123abcdef
3620    --->123abcdef
3621      0    ^  ^       d
3622      1    ^    ^     f
3623     0: abcdef
3624    
3625    /(?C1)\dabc(?C2)def/I
3626    Capturing subpattern count = 0
3627    No options
3628    No first char
3629    Need char = 'f'
3630        1234abcdef
3631    --->1234abcdef
3632      1 ^              \d
3633      1  ^             \d
3634      1   ^            \d
3635      1    ^           \d
3636      2    ^   ^       d
3637     0: 4abcdef
3638        *** Failers
3639    No match
3640        abcdef
3641    --->abcdef
3642      1 ^          \d
3643      1  ^         \d
3644      1   ^        \d
3645      1    ^       \d
3646      1     ^      \d
3647      1      ^     \d
3648    No match
3649    
3650    /(?C255)ab/I
3651    Capturing subpattern count = 0
3652    No options
3653    First char = 'a'
3654    Need char = 'b'
3655    
3656    /(?C256)ab/I
3657    Failed: number after (?C is > 255 at offset 6
3658    
3659    /(?Cab)xx/I
3660    Failed: closing ) for (?C expected at offset 3
3661    
3662    /(?C12vr)x/I
3663    Failed: closing ) for (?C expected at offset 5
3664    
3665    /abc(?C)def/I
3666    Capturing subpattern count = 0
3667    No options
3668    First char = 'a'
3669    Need char = 'f'
3670        *** Failers
3671    No match
3672        \x83\x0\x61bcdef
3673    --->\x83\x00abcdef
3674      0         ^  ^       d
3675     0: abcdef
3676    
3677    /(abc)(?C)de(?C1)f/I
3678    Capturing subpattern count = 1
3679    No options
3680    First char = 'a'
3681    Need char = 'f'
3682        123abcdef
3683    --->123abcdef
3684      0    ^  ^       d
3685      1    ^    ^     f
3686     0: abcdef
3687     1: abc
3688        123abcdef\C+
3689    Callout 0: last capture = 1
3690     0: <unset>
3691     1: abc
3692    --->123abcdef
3693           ^  ^       d
3694    Callout 1: last capture = 1
3695     0: <unset>
3696     1: abc
3697    --->123abcdef
3698           ^    ^     f
3699     0: abcdef
3700     1: abc
3701        123abcdef\C-
3702     0: abcdef
3703     1: abc
3704        *** Failers
3705    No match
3706        123abcdef\C!1
3707    --->123abcdef
3708      0    ^  ^       d
3709      1    ^    ^     f
3710    No match
3711    
3712    /(?C0)(abc(?C1))*/I
3713    Capturing subpattern count = 1
3714    No options
3715    No first char
3716    No need char
3717        abcabcabc
3718    --->abcabcabc
3719      0 ^             (abc(?C1))*
3720      1 ^  ^          )
3721      1 ^     ^       )
3722      1 ^        ^    )
3723     0: abcabcabc
3724     1: abc
3725        abcabc\C!1!3
3726    --->abcabc
3727      0 ^          (abc(?C1))*
3728      1 ^  ^       )
3729      1 ^     ^    )
3730     0: abcabc
3731     1: abc
3732        *** Failers
3733    --->*** Failers
3734      0 ^               (abc(?C1))*
3735     0:
3736        abcabcabc\C!1!3
3737    --->abcabcabc
3738      0 ^             (abc(?C1))*
3739      1 ^  ^          )
3740      1 ^     ^       )
3741      1 ^        ^    )
3742     0: abcabc
3743     1: abc
3744    
3745    /(\d{3}(?C))*/I
3746    Capturing subpattern count = 1
3747    Partial matching not supported
3748    No options
3749    No first char
3750    No need char
3751        123\C+
3752    Callout 0: last capture = -1
3753     0: <unset>
3754    --->123
3755        ^  ^    )
3756     0: 123
3757     1: 123
3758        123456\C+
3759    Callout 0: last capture = -1
3760     0: <unset>
3761    --->123456
3762        ^  ^       )
3763    Callout 0: last capture = 1
3764     0: <unset>
3765     1: 123
3766    --->123456
3767        ^     ^    )
3768     0: 123456
3769     1: 456
3770        123456789\C+
3771    Callout 0: last capture = -1
3772     0: <unset>
3773    --->123456789
3774        ^  ^          )
3775    Callout 0: last capture = 1
3776     0: <unset>
3777     1: 123
3778    --->123456789
3779        ^     ^       )
3780    Callout 0: last capture = 1
3781     0: <unset>
3782     1: 456
3783    --->123456789
3784        ^        ^    )
3785     0: 123456789
3786     1: 789
3787    
3788    /((xyz)(?C)p|(?C1)xyzabc)/I
3789    Capturing subpattern count = 2
3790    No options
3791    First char = 'x'
3792    No need char
3793        xyzabc\C+
3794    Callout 0: last capture = 2
3795     0: <unset>
3796     1: <unset>
3797     2: xyz
3798    --->xyzabc
3799        ^  ^       p
3800    Callout 1: last capture = -1
3801     0: <unset>
3802    --->xyzabc
3803        ^          x
3804     0: xyzabc
3805     1: xyzabc
3806    
3807    /(X)((xyz)(?C)p|(?C1)xyzabc)/I
3808    Capturing subpattern count = 3
3809    No options
3810    First char = 'X'
3811    Need char = 'x'
3812        Xxyzabc\C+
3813    Callout 0: last capture = 3
3814     0: <unset>
3815     1: X
3816     2: <unset>
3817     3: xyz
3818    --->Xxyzabc
3819        ^   ^       p
3820    Callout 1: last capture = 1
3821     0: <unset>
3822     1: X
3823    --->Xxyzabc
3824        ^^          x
3825     0: Xxyzabc
3826     1: X
3827     2: xyzabc
3828    
3829    /(?=(abc))(?C)abcdef/I
3830    Capturing subpattern count = 1
3831    No options
3832    First char = 'a'
3833    Need char = 'f'
3834        abcdef\C+
3835    Callout 0: last capture = 1
3836     0: <unset>
3837     1: abc
3838    --->abcdef
3839        ^          a
3840     0: abcdef
3841     1: abc
3842    
3843    /(?!(abc)(?C1)d)(?C2)abcxyz/I
3844    Capturing subpattern count = 1
3845    No options
3846    First char = 'a'
3847    Need char = 'z'
3848        abcxyz\C+
3849    Callout 1: last capture = 1
3850     0: <unset>
3851     1: abc
3852    --->abcxyz
3853        ^  ^       d
3854    Callout 2: last capture = -1
3855     0: <unset>
3856    --->abcxyz
3857        ^          a
3858     0: abcxyz
3859    
3860    /(?<=(abc)(?C))xyz/I
3861    Capturing subpattern count = 1
3862    No options
3863    First char = 'x'
3864    Need char = 'z'
3865       abcxyz\C+
3866    Callout 0: last capture = 1
3867     0: <unset>
3868     1: abc
3869    --->abcxyz
3870           ^       )
3871     0: xyz
3872     1: abc
3873    
3874    /a(b+)(c*)(?C1)/I
3875    Capturing subpattern count = 2
3876    Partial matching not supported
3877    No options
3878    First char = 'a'
3879    Need char = 'b'
3880        abbbbbccc\C*1
3881    --->abbbbbccc
3882      1 ^        ^
3883    Callout data = 1
3884      1 ^       ^
3885    Callout data = 1
3886      1 ^      ^
3887    Callout data = 1
3888      1 ^     ^
3889    Callout data = 1
3890      1 ^    ^
3891    Callout data = 1
3892      1 ^   ^
3893    Callout data = 1
3894      1 ^  ^
3895    Callout data = 1
3896      1 ^ ^
3897    Callout data = 1
3898    No match
3899    
3900    /a(b+?)(c*?)(?C1)/I
3901    Capturing subpattern count = 2
3902    Partial matching not supported
3903    No options
3904    First char = 'a'
3905    Need char = 'b'
3906        abbbbbccc\C*1
3907    --->abbbbbccc
3908      1 ^ ^
3909    Callout data = 1
3910      1 ^  ^
3911    Callout data = 1
3912      1 ^   ^
3913    Callout data = 1
3914      1 ^    ^
3915    Callout data = 1
3916      1 ^     ^
3917    Callout data = 1
3918      1 ^      ^
3919    Callout data = 1
3920      1 ^       ^
3921    Callout data = 1
3922      1 ^        ^
3923    Callout data = 1
3924    No match
3925    
3926    /(?C)abc/I
3927    Capturing subpattern count = 0
3928    No options
3929    First char = 'a'
3930    Need char = 'c'
3931    
3932    /(?C)^abc/I
3933    Capturing subpattern count = 0
3934    Options: anchored
3935    No first char
3936    No need char
3937    
3938    /(?C)a|b/IS
3939    Capturing subpattern count = 0
3940    No options
3941    No first char
3942    No need char
3943    Starting byte set: a b
3944    
3945    /(?R)/I
3946    Failed: recursive call could loop indefinitely at offset 3
3947    
3948    /(a|(?R))/I
3949    Failed: recursive call could loop indefinitely at offset 6
3950    
3951    /(ab|(bc|(de|(?R))))/I
3952    Failed: recursive call could loop indefinitely at offset 15
3953    
3954    /x(ab|(bc|(de|(?R))))/I
3955    Capturing subpattern count = 3
3956    No options
3957    First char = 'x'
3958    No need char
3959        xab
3960     0: xab
3961     1: ab
3962        xbc
3963     0: xbc
3964     1: bc
3965     2: bc
3966        xde
3967     0: xde
3968     1: de
3969     2: de
3970     3: de
3971        xxab
3972     0: xxab
3973     1: xab
3974     2: xab
3975     3: xab
3976        xxxab
3977     0: xxxab
3978     1: xxab
3979     2: xxab
3980     3: xxab
3981        *** Failers
3982    No match
3983        xyab
3984    No match
3985    
3986    /(ab|(bc|(de|(?1))))/I
3987    Failed: recursive call could loop indefinitely at offset 15
3988    
3989    /x(ab|(bc|(de|(?1)x)x)x)/I
3990    Failed: recursive call could loop indefinitely at offset 16
3991    
3992    /^([^()]|\((?1)*\))*$/I
3993    Capturing subpattern count = 1
3994    Contains explicit CR or LF match
3995    Options: anchored
3996    No first char
3997    No need char
3998        abc
3999     0: abc
4000     1: c
4001        a(b)c
4002     0: a(b)c
4003     1: c
4004        a(b(c))d
4005     0: a(b(c))d
4006     1: d
4007        *** Failers)
4008    No match
4009        a(b(c)d
4010    No match
4011    
4012    /^>abc>([^()]|\((?1)*\))*<xyz<$/I
4013    Capturing subpattern count = 1
4014    Contains explicit CR or LF match
4015    Options: anchored
4016    No first char
4017    Need char = '<'
4018       >abc>123<xyz<
4019     0: >abc>123<xyz<
4020     1: 3
4021       >abc>1(2)3<xyz<
4022     0: >abc>1(2)3<xyz<
4023     1: 3
4024       >abc>(1(2)3)<xyz<
4025     0: >abc>(1(2)3)<xyz<
4026     1: (1(2)3)
4027    
4028    /(a(?1)b)/DZ
4029    ------------------------------------------------------------------
4030            Bra
4031            CBra 1
4032            a
4033            Once
4034            Recurse
4035            Ket
4036            b
4037            Ket
4038            Ket
4039            End
4040    ------------------------------------------------------------------
4041    Capturing subpattern count = 1
4042    No options
4043    First char = 'a'
4044    Need char = 'b'
4045    
4046    /(a(?1)+b)/DZ
4047    ------------------------------------------------------------------
4048            Bra
4049            CBra 1
4050            a
4051            Once
4052            Recurse
4053            KetRmax
4054            b
4055            Ket
4056            Ket
4057            End
4058    ------------------------------------------------------------------
4059    Capturing subpattern count = 1
4060    No options
4061    First char = 'a'
4062    Need char = 'b'
4063    
4064    /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii
4065    Capturing subpattern count = 4
4066    Max back reference = 4
4067    Partial matching not supported
4068    Options: anchored caseless
4069    No first char
4070    No need char
4071        1221
4072     0: 1221
4073     1: 1221
4074     2: 1
4075        Satan, oscillate my metallic sonatas!
4076     0: Satan, oscillate my metallic sonatas!
4077     1: <unset>
4078     2: <unset>
4079     3: Satan, oscillate my metallic sonatas
4080     4: S
4081        A man, a plan, a canal: Panama!
4082     0: A man, a plan, a canal: Panama!
4083     1: <unset>
4084     2: <unset>
4085     3: A man, a plan, a canal: Panama
4086     4: A
4087        Able was I ere I saw Elba.
4088     0: Able was I ere I saw Elba.
4089     1: <unset>
4090     2: <unset>
4091     3: Able was I ere I saw Elba
4092     4: A
4093        *** Failers
4094    No match
4095        The quick brown fox
4096    No match
4097    
4098    /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4099    Capturing subpattern count = 2
4100    Partial matching not supported
4101    Options: anchored
4102    No first char
4103    No need char
4104        12
4105     0: 12
4106     1: 12
4107        (((2+2)*-3)-7)
4108     0: (((2+2)*-3)-7)
4109     1: (((2+2)*-3)-7)
4110     2: -
4111        -12
4112     0: -12
4113     1: -12
4114        *** Failers
4115    No match
4116        ((2+2)*-3)-7)
4117    No match
4118    
4119    /^(x(y|(?1){2})z)/I
4120    Capturing subpattern count = 2
4121    Options: anchored
4122    No first char
4123    No need char
4124        xyz
4125     0: xyz
4126     1: xyz
4127     2: y
4128        xxyzxyzz
4129     0: xxyzxyzz
4130     1: xxyzxyzz
4131     2: xyzxyz
4132        *** Failers
4133    No match
4134        xxyzz
4135    No match
4136        xxyzxyzxyzz
4137    No match
4138    
4139    /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4140    Capturing subpattern count = 2
4141    Partial matching not supported
4142    Contains explicit CR or LF match
4143    Options: extended
4144    First char = '<'
4145    Need char = '>'
4146        <>
4147     0: <>
4148     1: <>
4149     2: <>
4150        <abcd>
4151     0: <abcd>
4152     1: <abcd>
4153     2: <abcd>
4154        <abc <123> hij>
4155     0: <abc <123> hij>
4156     1: <abc <123> hij>
4157     2: <abc <123> hij>
4158        <abc <def> hij>
4159     0: <def>
4160     1: <def>
4161     2: <def>
4162        <abc<>def>
4163     0: <abc<>def>
4164     1: <abc<>def>
4165     2: <abc<>def>
4166        <abc<>
4167     0: <>
4168     1: <>
4169     2: <>
4170        *** Failers
4171    No match
4172        <abc
4173    No match
4174    
4175    /(?1)/I
4176    Failed: reference to non-existent subpattern at offset 3
4177    
4178    /((?2)(abc)/I
4179    Failed: missing ) at offset 10
4180    
4181    /^(abc)def(?1)/I
4182    Capturing subpattern count = 1
4183    Options: anchored
4184    No first char
4185    No need char
4186        abcdefabc