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