/[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 47 by nigel, Sat Feb 24 21:39:29 2007 UTC revision 162 by ph10, Thu May 3 10:47:48 2007 UTC
# Line 1  Line 1 
1  PCRE version 3.2 12-May-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\hdef/X
82  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
83    
84  /(?X)ab\gdef/X  /(?X)ab\hdef/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
   
 /[a-\w]/  
 Failed: invalid escape sequence in character class at offset 4  
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 112  Failed: missing ) after comment at offse Line 111  Failed: missing ) after comment at offse
111  /(?z)abc/  /(?z)abc/
112  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? at offset 2
113    
114  /.*b/  /.*b/I
115  Capturing subpattern count = 0  Capturing subpattern count = 0
116    Partial matching not supported
117  No options  No options
118  First char at start or follows \n  First char at start or follows newline
119  Need char = 'b'  Need char = 'b'
120    
121  /.*?b/  /.*?b/I
122  Capturing subpattern count = 0  Capturing subpattern count = 0
123    Partial matching not supported
124  No options  No options
125  First char at start or follows \n  First char at start or follows newline
126  Need char = 'b'  Need char = 'b'
127    
128  /cat|dog|elephant/  /cat|dog|elephant/I
129  Capturing subpattern count = 0  Capturing subpattern count = 0
130  No options  No options
131  No first char  No first char
# Line 134  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 183  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 221  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 269  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 284  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 296  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 311  No match Line 312  No match
312  /ab(?z)cd/  /ab(?z)cd/
313  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? 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 321  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 336  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 357  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 397  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 486  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 557  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 0
603    3   8 Bra 1          Bra 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 618  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 634  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 666  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    Options: multiline
707    No first char
708    Need char = 'r'
709        foo\nbarbar
710     0: bar
711        ***Failers
712    No match
713        rhubarb
714    No match
715        barbell
716    No match
717        abc\nbarton
718    No match
719    
720  /(?<=foo\n)^bar/m  /^(?<=foo\n)bar/Im
721  Capturing subpattern count = 0  Capturing subpattern count = 0
722  Options: multiline  Options: multiline
723  First char at start or follows \n  First char at start or follows newline
724  Need char = 'r'  Need char = 'r'
725        foo\nbarbar
726     0: bar
727        ***Failers
728    No match
729        rhubarb
730    No match
731        barbell
732    No match
733        abc\nbarton
734    No match
735    
736  /(?>^abc)/m  /(?>^abc)/Im
737  Capturing subpattern count = 0  Capturing subpattern count = 0
738  Options: multiline  Options: multiline
739  First char at start or follows \n  First char at start or follows newline
740  Need char = 'c'  Need char = 'c'
741      abc      abc
742   0: abc   0: abc
# Line 704  Need char = 'c' Line 744  Need char = 'c'
744   0: abc   0: abc
745      *** Failers      *** Failers
746  No match  No match
747      defabc      defabc
748  No match  No match
749    
750  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 717  Failed: lookbehind assertion is not fixe Line 757  Failed: lookbehind assertion is not fixe
757  Failed: lookbehind assertion is not fixed length at offset 13  Failed: lookbehind assertion is not fixed length at offset 13
758    
759  /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'  
760    
761  /(?<=bullock|donkey)-cart/  /(?<=bullock|donkey)-cart/I
762  Capturing subpattern count = 0  Capturing subpattern count = 0
763  No options  No options
764  First char = '-'  First char = '-'
# Line 735  Need char = 't' Line 771  Need char = 't'
771  No match  No match
772      cart      cart
773  No match  No match
774      horse-and-cart      horse-and-cart
775  No match  No match
776    
777  /(?<=ab(?i)x|y|z)/  /(?<=ab(?i)x|y|z)/I
778  Capturing subpattern count = 0  Capturing subpattern count = 0
779  No options  No options
 Case state changes  
780  No first char  No first char
781  No need char  No need char
782    
783  /(?>.*)(?<=(abcd)|(xyz))/  /(?>.*)(?<=(abcd)|(xyz))/I
784  Capturing subpattern count = 2  Capturing subpattern count = 2
785    Partial matching not supported
786  No options  No options
787  First char at start or follows \n  First char at start or follows newline
788  No need char  No need char
789      alphabetabcd      alphabetabcd
790   0: alphabetabcd   0: alphabetabcd
# Line 758  No need char Line 794  No need char
794   1: <unset>   1: <unset>
795   2: xyz   2: xyz
796    
797  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
798  Capturing subpattern count = 0  Capturing subpattern count = 0
799  No options  No options
 Case state changes  
800  First char = 'Z'  First char = 'Z'
801  Need char = 'Z'  Need char = 'Z'
802      abxyZZ      abxyZZ
# Line 774  Need char = 'Z' Line 809  Need char = 'Z'
809   0: ZZ   0: ZZ
810      bZZ      bZZ
811   0: ZZ   0: ZZ
812      BZZ      BZZ
813   0: ZZ   0: ZZ
814      *** Failers      *** Failers
815  No match  No match
816      ZZ      ZZ
817  No match  No match
818      abXYZZ      abXYZZ
819  No match  No match
820      zzz      zzz
821  No match  No match
822      bzz      bzz
823  No match  No match
824    
825  /(?<!(foo)a)bar/  /(?<!(foo)a)bar/I
826  Capturing subpattern count = 1  Capturing subpattern count = 1
827  No options  No options
828  First char = 'b'  First char = 'b'
829  Need char = 'r'  Need char = 'r'
830      bar      bar
831   0: bar   0: bar
832      foobbar      foobbar
833   0: bar   0: bar
834      *** Failers      *** Failers
835  No match  No match
836      fooabar      fooabar
837  No match  No match
838    
839  /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
840  Capturing subpattern count = 0  Capturing subpattern count = 0
841  No options  No options
842  First char = 'T'  First char = 'T'
843  Need char = 't'  Need char = 't'
844    
845  /^(a)?(?(1)a|b)+$/  /^(a)?(?(1)a|b)+$/I
846  Capturing subpattern count = 1  Capturing subpattern count = 1
847  Options: anchored  Options: anchored
848  No first char  No first char
849  No need char  No need char
850      *** Failers      *** Failers
851  No match  No match
852      a      a
853  No match  No match
854    
855  /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
856  Capturing subpattern count = 0  Capturing subpattern count = 0
857  No options  No options
858  First char = 'T'  First char = 'T'
859  Need char = 'g'  Need char = 'g'
860    
861  /^(a\1?){4}$/  /^(a\1?){4}$/I
862  Capturing subpattern count = 1  Capturing subpattern count = 1
863  Max back reference = 1  Max back reference = 1
864  Options: anchored  Options: anchored
865  No first char  No first char
866  Need char = 'a'  No need char
867      aaaaaa      aaaaaa
868   0: aaaaaa   0: aaaaaa
869   1: aa   1: aa
870    
871  /These are syntax tests from Perl 5.005/  /These are syntax tests from Perl 5.005/I
872  Capturing subpattern count = 0  Capturing subpattern count = 0
873  No options  No options
874  First char = 'T'  First char = 'T'
# Line 867  Failed: nothing to repeat at offset 2 Line 902  Failed: nothing to repeat at offset 2
902  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
903    
904  /\1/  /\1/
905  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
906    
907  /\2/  /\2/
908  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
909    
910  /(a)|\2/  /(a)|\2/
911  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
912    
913  /a[b-a]/i  /a[b-a]/Ii
914  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
915    
916  /a[]b/i  /a[]b/Ii
917  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
918    
919  /a[/i  /a[/Ii
920  Failed: missing terminating ] for character class at offset 2  Failed: missing terminating ] for character class at offset 2
921    
922  /*a/i  /*a/Ii
923  Failed: nothing to repeat at offset 0  Failed: nothing to repeat at offset 0
924    
925  /(*)b/i  /(*)b/Ii
926  Failed: nothing to repeat at offset 1  Failed: nothing to repeat at offset 1
927    
928  /abc)/i  /abc)/Ii
929  Failed: unmatched parentheses at offset 3  Failed: unmatched parentheses at offset 3
930    
931  /(abc/i  /(abc/Ii
932  Failed: missing ) at offset 4  Failed: missing ) at offset 4
933    
934  /a**/i  /a**/Ii
935  Failed: nothing to repeat at offset 2  Failed: nothing to repeat at offset 2
936    
937  /)(/i  /)(/Ii
938  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
939    
940  /:(?:/  /:(?:/
941  Failed: missing ) at offset 4  Failed: missing ) at offset 4
942    
943  /(?<%)b/  /(?<%)b/
944  Failed: unrecognized character after (?< at offset 0  Failed: unrecognized character after (?< at offset 3
945    
946  /a(?{)b/  /a(?{)b/
947  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
# Line 924  Failed: unrecognized character after (? Line 959  Failed: unrecognized character after (?
959  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
960    
961  /(?(1?)a|b)/  /(?(1?)a|b)/
962  Failed: malformed number after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
963    
964  /(?(1)a|b|c)/  /(?(1)a|b|c)/
965  Failed: conditional group contains more than two branches at offset 10  Failed: conditional group contains more than two branches at offset 10
# Line 947  Failed: POSIX code 9: bad escape sequenc Line 982  Failed: POSIX code 9: bad escape sequenc
982  /abc/\i  /abc/\i
983  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
984    
985  /(a)bc(d)/  /(a)bc(d)/I
986  Capturing subpattern count = 2  Capturing subpattern count = 2
987  No options  No options
988  First char = 'a'  First char = 'a'
# Line 966  Need char = 'd' Line 1001  Need char = 'd'
1001   1: a   1: a
1002   2: d   2: d
1003  copy substring 5 failed -7  copy substring 5 failed -7
1004    
1005  /(.{20})/  /(.{20})/I
1006  Capturing subpattern count = 1  Capturing subpattern count = 1
1007    Partial matching not supported
1008  No options  No options
1009  No first char  No first char
1010  No need char  No need char
# Line 978  No need char Line 1014  No need char
1014      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
1015   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1016   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1017  copy substring 1 failed -6   1C abcdefghijklmnopqrst (20)
1018      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
1019   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1020   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1021   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1022    
1023  /(.{15})/  /(.{15})/I
1024  Capturing subpattern count = 1  Capturing subpattern count = 1
1025    Partial matching not supported
1026  No options  No options
1027  No first char  No first char
1028  No need char  No need char
# Line 998  No need char Line 1035  No need char
1035   1C abcdefghijklmno (15)   1C abcdefghijklmno (15)
1036   1G abcdefghijklmno (15)   1G abcdefghijklmno (15)
1037    
1038  /(.{16})/  /(.{16})/I
1039  Capturing subpattern count = 1  Capturing subpattern count = 1
1040    Partial matching not supported
1041  No options  No options
1042  No first char  No first char
1043  No need char  No need char
# Line 1009  No need char Line 1047  No need char
1047      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L
1048   0: abcdefghijklmnop   0: abcdefghijklmnop
1049   1: abcdefghijklmnop   1: abcdefghijklmnop
1050  copy substring 1 failed -6   1C abcdefghijklmnop (16)
1051   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1052   0L abcdefghijklmnop   0L abcdefghijklmnop
1053   1L abcdefghijklmnop   1L abcdefghijklmnop
1054    
1055  /^(a|(bc))de(f)/  /^(a|(bc))de(f)/I
1056  Capturing subpattern count = 3  Capturing subpattern count = 3
1057  Options: anchored  Options: anchored
1058  No first char  No first char
1059  Need char = 'f'  No need char
1060      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1061   0: adef   0: adef
1062   1: a   1: a
1063   2: <unset>   2: <unset>
# Line 1032  get substring 4 failed -7 Line 1070  get substring 4 failed -7
1070   1L a   1L a
1071   2L   2L
1072   3L f   3L f
1073      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1074   0: bcdef   0: bcdef
1075   1: bc   1: bc
1076   2: bc   2: bc
# Line 1045  get substring 4 failed -7 Line 1083  get substring 4 failed -7
1083   1L bc   1L bc
1084   2L bc   2L bc
1085   3L f   3L f
1086      adefghijk\C0      adefghijk\C0
1087   0: adef   0: adef
1088   1: a   1: a
1089   2: <unset>   2: <unset>
1090   3: f   3: f
1091   0C adef (4)   0C adef (4)
1092    
1093  /^abc\00def/  /^abc\00def/I
1094  Capturing subpattern count = 0  Capturing subpattern count = 0
1095  Options: anchored  Options: anchored
1096  No first char  No first char
1097  Need char = 'f'  No need char
1098      abc\00def\L\C0      abc\00def\L\C0
1099   0: abc\x00def   0: abc\x00def
1100   0C abc (7)   0C abc (7)
1101   0L abc   0L abc
1102    
1103  /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]+
1104  )((?:[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]+
1105  )?)?)?)?)?)?)?)?)?otherword/M  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 428  
1106  Capturing subpattern count = 8  Capturing subpattern count = 8
1107    Partial matching not supported
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 0
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 0
1129    3     Any*          Any*
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 0
1143    3   8 Bra 1          Bra 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 0
1162    3   8 Bra 1          Bra 1
1163    6     Any*          Any*
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 0
1181    3   8 Bra 1          Bra 1
1182    6     Any*          Any*
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 0
1200    3  10 Bra 0          Bra 0
1201    6  04 Opt       04 Opt
1202    8     Any*          Any*
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    Partial matching not supported
1215  No options  No options
1216  First char at start or follows \n  First char at start or follows newline
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 1181  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 1197  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 1206  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 1221  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 1232  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 1241  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 1287  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  Options: anchored  Options: anchored
1351  No first char  No first char
1352  Need char = 10  No need char
1353      ab\nab\ncd      ab\nab\ncd
1354   0: ab\x0a   0: ab\x0a
1355   0+ ab\x0acd   0+ ab\x0acd
1356    
1357  /^ab\n/mg+  /^ab\n/Img+
1358  Capturing subpattern count = 0  Capturing subpattern count = 0
1359  Options: multiline  Options: multiline
1360  First char at start or follows \n  First char at start or follows newline
1361  Need char = 10  Need char = 10
1362      ab\nab\ncd      ab\nab\ncd
1363   0: ab\x0a   0: ab\x0a
# Line 1320  Need char = 10 Line 1365  Need char = 10
1365   0: ab\x0a   0: ab\x0a
1366   0+ cd   0+ cd
1367    
1368  /abc/  /abc/I
1369  Capturing subpattern count = 0  Capturing subpattern count = 0
1370  No options  No options
1371  First char = 'a'  First char = 'a'
1372  Need char = 'c'  Need char = 'c'
1373    
1374  /abc|bac/  /abc|bac/I
1375  Capturing subpattern count = 0  Capturing subpattern count = 0
1376  No options  No options
1377  No first char  No first char
1378  Need char = 'c'  Need char = 'c'
1379    
1380  /(abc|bac)/  /(abc|bac)/I
1381  Capturing subpattern count = 1  Capturing subpattern count = 1
1382  No options  No options
1383  No first char  No first char
1384  Need char = 'c'  Need char = 'c'
1385    
1386  /(abc|(c|dc))/  /(abc|(c|dc))/I
1387  Capturing subpattern count = 2  Capturing subpattern count = 2
1388  No options  No options
1389  No first char  No first char
1390  Need char = 'c'  Need char = 'c'
1391    
1392  /(abc|(d|de)c)/  /(abc|(d|de)c)/I
1393  Capturing subpattern count = 2  Capturing subpattern count = 2
1394  No options  No options
1395  No first char  No first char
1396  Need char = 'c'  Need char = 'c'
1397    
1398  /a*/  /a*/I
1399  Capturing subpattern count = 0  Capturing subpattern count = 0
1400    Partial matching not supported
1401  No options  No options
1402  No first char  No first char
1403  No need char  No need char
1404    
1405  /a+/  /a+/I
1406  Capturing subpattern count = 0  Capturing subpattern count = 0
1407    Partial matching not supported
1408  No options  No options
1409  First char = 'a'  First char = 'a'
1410  No need char  No need char
1411    
1412  /(baa|a+)/  /(baa|a+)/I
1413  Capturing subpattern count = 1  Capturing subpattern count = 1
1414    Partial matching not supported
1415  No options  No options
1416  No first char  No first char
1417  Need char = 'a'  Need char = 'a'
1418    
1419  /a{0,3}/  /a{0,3}/I
1420  Capturing subpattern count = 0  Capturing subpattern count = 0
1421    Partial matching not supported
1422  No options  No options
1423  No first char  No first char
1424  No need char  No need char
1425    
1426  /baa{3,}/  /baa{3,}/I
1427  Capturing subpattern count = 0  Capturing subpattern count = 0
1428    Partial matching not supported
1429  No options  No options
1430  First char = 'b'  First char = 'b'
1431  Need char = 'a'  Need char = 'a'
1432    
1433  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/I
1434  Capturing subpattern count = 1  Capturing subpattern count = 1
1435    Partial matching not supported
1436  No options  No options
1437  First char = '"'  First char = '"'
1438  Need char = '"'  Need char = '"'
1439    
1440  /(abc|ab[cd])/  /(abc|ab[cd])/I
1441  Capturing subpattern count = 1  Capturing subpattern count = 1
1442  No options  No options
1443  First char = 'a'  First char = 'a'
1444  No need char  No need char
1445    
1446  /(a|.)/  /(a|.)/I
1447  Capturing subpattern count = 1  Capturing subpattern count = 1
1448  No options  No options
1449  No first char  No first char
1450  No need char  No need char
1451    
1452  /a|ba|\w/  /a|ba|\w/I
1453  Capturing subpattern count = 0  Capturing subpattern count = 0
1454  No options  No options
1455  No first char  No first char
1456  No need char  No need char
1457    
1458  /abc(?=pqr)/  /abc(?=pqr)/I
1459  Capturing subpattern count = 0  Capturing subpattern count = 0
1460  No options  No options
1461  First char = 'a'  First char = 'a'
1462  Need char = 'r'  Need char = 'r'
1463    
1464  /...(?<=abc)/  /...(?<=abc)/I
1465  Capturing subpattern count = 0  Capturing subpattern count = 0
1466  No options  No options
1467  No first char  No first char
1468  No need char  No need char
1469    
1470  /abc(?!pqr)/  /abc(?!pqr)/I
1471  Capturing subpattern count = 0  Capturing subpattern count = 0
1472  No options  No options
1473  First char = 'a'  First char = 'a'
1474  Need char = 'c'  Need char = 'c'
1475    
1476  /ab./  /ab./I
1477  Capturing subpattern count = 0  Capturing subpattern count = 0
1478  No options  No options
1479  First char = 'a'  First char = 'a'
1480  Need char = 'b'  Need char = 'b'
1481    
1482  /ab[xyz]/  /ab[xyz]/I
1483  Capturing subpattern count = 0  Capturing subpattern count = 0
1484  No options  No options
1485  First char = 'a'  First char = 'a'
1486  Need char = 'b'  Need char = 'b'
1487    
1488  /abc*/  /abc*/I
1489  Capturing subpattern count = 0  Capturing subpattern count = 0
1490    Partial matching not supported
1491  No options  No options
1492  First char = 'a'  First char = 'a'
1493  Need char = 'b'  Need char = 'b'
1494    
1495  /ab.c*/  /ab.c*/I
1496  Capturing subpattern count = 0  Capturing subpattern count = 0
1497    Partial matching not supported
1498  No options  No options
1499  First char = 'a'  First char = 'a'
1500  Need char = 'b'  Need char = 'b'
1501    
1502  /a.c*/  /a.c*/I
1503  Capturing subpattern count = 0  Capturing subpattern count = 0
1504    Partial matching not supported
1505  No options  No options
1506  First char = 'a'  First char = 'a'
1507  No need char  No need char
1508    
1509  /.c*/  /.c*/I
1510  Capturing subpattern count = 0  Capturing subpattern count = 0
1511    Partial matching not supported
1512  No options  No options
1513  No first char  No first char
1514  No need char  No need char
1515    
1516  /ac*/  /ac*/I
1517  Capturing subpattern count = 0  Capturing subpattern count = 0
1518    Partial matching not supported
1519  No options  No options
1520  First char = 'a'  First char = 'a'
1521  No need char  No need char
1522    
1523  /(a.c*|b.c*)/  /(a.c*|b.c*)/I
1524  Capturing subpattern count = 1  Capturing subpattern count = 1
1525    Partial matching not supported
1526  No options  No options
1527  No first char  No first char
1528  No need char  No need char
1529    
1530  /a.c*|aba/  /a.c*|aba/I
1531  Capturing subpattern count = 0  Capturing subpattern count = 0
1532    Partial matching not supported
1533  No options  No options
1534  First char = 'a'  First char = 'a'
1535  No need char  No need char
1536    
1537  /.+a/  /.+a/I
1538  Capturing subpattern count = 0  Capturing subpattern count = 0
1539    Partial matching not supported
1540  No options  No options
1541  No first char  No first char
1542  Need char = 'a'  Need char = 'a'
1543    
1544  /(?=abcda)a.*/  /(?=abcda)a.*/I
1545  Capturing subpattern count = 0  Capturing subpattern count = 0
1546    Partial matching not supported
1547  No options  No options
1548  First char = 'a'  First char = 'a'
1549  No need char  Need char = 'a'
1550    
1551  /(?=a)a.*/  /(?=a)a.*/I
1552  Capturing subpattern count = 0  Capturing subpattern count = 0
1553    Partial matching not supported
1554  No options  No options
1555  First char = 'a'  First char = 'a'
1556  No need char  No need char
1557    
1558  /a(b)*/  /a(b)*/I
1559  Capturing subpattern count = 1  Capturing subpattern count = 1
1560  No options  No options
1561  First char = 'a'  First char = 'a'
1562  No need char  No need char
1563    
1564  /a\d*/  /a\d*/I
1565  Capturing subpattern count = 0  Capturing subpattern count = 0
1566    Partial matching not supported
1567  No options  No options
1568  First char = 'a'  First char = 'a'
1569  No need char  No need char
1570    
1571  /ab\d*/  /ab\d*/I
1572  Capturing subpattern count = 0  Capturing subpattern count = 0
1573    Partial matching not supported
1574  No options  No options
1575  First char = 'a'  First char = 'a'
1576  Need char = 'b'  Need char = 'b'
1577    
1578  /a(\d)*/  /a(\d)*/I
1579  Capturing subpattern count = 1  Capturing subpattern count = 1
1580  No options  No options
1581  First char = 'a'  First char = 'a'
1582  No need char  No need char
1583    
1584  /abcde{0,0}/  /abcde{0,0}/I
1585  Capturing subpattern count = 0  Capturing subpattern count = 0
1586  No options  No options
1587  First char = 'a'  First char = 'a'
1588  Need char = 'd'  Need char = 'd'
1589    
1590  /ab\d+/  /ab\d+/I
1591  Capturing subpattern count = 0  Capturing subpattern count = 0
1592    Partial matching not supported
1593  No options  No options
1594  First char = 'a'  First char = 'a'
1595  Need char = 'b'  Need char = 'b'
1596    
1597  /a(?(1)b)/  /a(?(1)b)/I
1598  Capturing subpattern count = 0  Capturing subpattern count = 0
1599  No options  No options
1600  First char = 'a'  First char = 'a'
1601  No need char  No need char
1602    
1603  /a(?(1)bag|big)/  /a(?(1)bag|big)/I
1604  Capturing subpattern count = 0  Capturing subpattern count = 0
1605  No options  No options
1606  First char = 'a'  First char = 'a'
1607  Need char = 'g'  Need char = 'g'
1608    
1609  /a(?(1)bag|big)*/  /a(?(1)bag|big)*/I
1610  Capturing subpattern count = 0  Capturing subpattern count = 0
1611  No options  No options
1612  First char = 'a'  First char = 'a'
1613  No need char  No need char
1614    
1615  /a(?(1)bag|big)+/  /a(?(1)bag|big)+/I
1616  Capturing subpattern count = 0  Capturing subpattern count = 0
1617  No options  No options
1618  First char = 'a'  First char = 'a'
1619  Need char = 'g'  Need char = 'g'
1620    
1621  /a(?(1)b..|b..)/  /a(?(1)b..|b..)/I
1622  Capturing subpattern count = 0  Capturing subpattern count = 0
1623  No options  No options
1624  First char = 'a'  First char = 'a'
1625  Need char = 'b'  Need char = 'b'
1626    
1627  /ab\d{0}e/  /ab\d{0}e/I
1628  Capturing subpattern count = 0  Capturing subpattern count = 0
1629  No options  No options
1630  First char = 'a'  First char = 'a'
1631  Need char = 'e'  Need char = 'e'
1632    
1633  /a?b?/  /a?b?/I
1634  Capturing subpattern count = 0  Capturing subpattern count = 0
1635  No options  No options
1636  No first char  No first char
# Line 1581  No need char Line 1645  No need char
1645   0:   0:
1646      *** Failers      *** Failers
1647   0:   0:
1648      \N      \N
1649  No match  No match
1650    
1651  /|-/  /|-/I
1652  Capturing subpattern count = 0  Capturing subpattern count = 0
1653  No options  No options
1654  No first char  No first char
# Line 1597  No need char Line 1661  No need char
1661   0: -   0: -
1662      *** Failers      *** Failers
1663   0:   0:
1664      \Nabc      \Nabc
1665  No match  No match
1666    
1667  /a*(b+)(z)(z)/P  /a*(b+)(z)(z)/IP
1668      aaaabbbbzzzz      aaaabbbbzzzz
1669   0: aaaabbbbzz   0: aaaabbbbzz
1670   1: bbbb   1: bbbb
# Line 1626  No match Line 1690  No match
1690   1: bbbb   1: bbbb
1691   2: z   2: z
1692   3: z   3: z
1693    
1694  /^.?abcd/S  /^.?abcd/IS
1695  Capturing subpattern count = 0  Capturing subpattern count = 0
1696  Options: anchored  Options: anchored
1697  No first char  No first char
# Line 1641  Study returned NULL Line 1705  Study returned NULL
1705    (?R)          # Recurse - i.e. nested bracketed string    (?R)          # Recurse - i.e. nested bracketed string
1706    )*            # Zero or more contents    )*            # Zero or more contents
1707    \)            # Closing )    \)            # Closing )
1708    /x    /Ix
1709  Capturing subpattern count = 0  Capturing subpattern count = 0
1710    Partial matching not supported
1711  Options: extended  Options: extended
1712  First char = '('  First char = '('
1713  Need char = ')'  Need char = ')'
# Line 1652  Need char = ')' Line 1717  Need char = ')'
1717   0: (abcd)   0: (abcd)
1718      xyz(abcd)      xyz(abcd)
1719   0: (abcd)   0: (abcd)
1720      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1721   0: (ab(xy)cd)   0: (ab(xy)cd)
1722      (ab(xycd)pqr      (ab(xycd)pqr
1723   0: (xycd)   0: (xycd)
1724      () abc ()      () abc ()
1725   0: ()   0: ()
1726      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1727   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1728      *** Failers      *** Failers
1729  No match  No match
1730      abcd      abcd
1731  No match  No match
1732      abcd)      abcd)
1733  No match  No match
1734      (abcd      (abcd
1735  No match  No match
1736    
1737  /\(  ( (?>[^()]+) | (?R) )* \) /xg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1738  Capturing subpattern count = 1  Capturing subpattern count = 1
1739    Partial matching not supported
1740  Options: extended  Options: extended
1741  First char = '('  First char = '('
1742  Need char = ')'  Need char = ')'
1743      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1744   0: (ab(xy)cd)   0: (ab(xy)cd)
1745   1: cd   1: cd
1746      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1683  Need char = ')' Line 1749  Need char = ')'
1749   0: (x(y)z)   0: (x(y)z)
1750   1: z   1: z
1751    
1752  /\(  (?: (?>[^()]+) | (?R) ) \) /x  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1753  Capturing subpattern count = 0  Capturing subpattern count = 0
1754    Partial matching not supported
1755  Options: extended  Options: extended
1756  First char = '('  First char = '('
1757  Need char = ')'  Need char = ')'
# Line 1692  Need char = ')' Line 1759  Need char = ')'
1759   0: (abcd)   0: (abcd)
1760      (ab(xy)cd)      (ab(xy)cd)
1761   0: (xy)   0: (xy)
1762      (a(b(c)d)e)      (a(b(c)d)e)
1763   0: (c)   0: (c)
1764      ((ab))      ((ab))
1765   0: ((ab))   0: ((ab))
1766      *** Failers      *** Failers
1767  No match  No match
1768      ()      ()
1769  No match  No match
1770    
1771  /\(  (?: (?>[^()]+) | (?R) )? \) /x  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1772  Capturing subpattern count = 0  Capturing subpattern count = 0
1773    Partial matching not supported
1774  Options: extended  Options: extended
1775  First char = '('  First char = '('
1776  Need char = ')'  Need char = ')'
# Line 1711  Need char = ')' Line 1779  Need char = ')'
1779      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1780   0: (fsh)   0: (fsh)
1781    
1782  /\(  ( (?>[^()]+) | (?R) )* \) /x  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1783  Capturing subpattern count = 1  Capturing subpattern count = 1
1784    Partial matching not supported
1785  Options: extended  Options: extended
1786  First char = '('  First char = '('
1787  Need char = ')'  Need char = ')'
# Line 1720  Need char = ')' Line 1789  Need char = ')'
1789   0: (ab(xy)cd)   0: (ab(xy)cd)
1790   1: cd   1: cd
1791    
1792  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1793  Capturing subpattern count = 2  Capturing subpattern count = 2
1794    Partial matching not supported
1795  Options: extended  Options: extended
1796  First char = '('  First char = '('
1797  Need char = ')'  Need char = ')'
# Line 1730  Need char = ')' Line 1800  Need char = ')'
1800   1: ab(xy)cd   1: ab(xy)cd
1801   2: cd   2: cd
1802    
1803  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1804  Capturing subpattern count = 3  Capturing subpattern count = 3
1805    Partial matching not supported
1806  Options: extended  Options: extended
1807  First char = '('  First char = '('
1808  Need char = ')'  Need char = ')'
# Line 1746  Need char = ')' Line 1817  Need char = ')'
1817   2: ab(xy)cd   2: ab(xy)cd
1818   3: cd   3: cd
1819    
1820  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1821  Capturing subpattern count = 3  Capturing subpattern count = 3
1822    Partial matching not supported
1823  Options: extended  Options: extended
1824  First char = '('  First char = '('
1825  Need char = ')'  Need char = ')'
# Line 1762  Need char = ')' Line 1834  Need char = ')'
1834   2: 123   2: 123
1835   3: cd   3: cd
1836    
1837  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1838  Capturing subpattern count = 11  Capturing subpattern count = 11
1839    Partial matching not supported
1840  Options: extended  Options: extended
1841  First char = '('  First char = '('
1842  Need char = ')'  Need char = ')'
# Line 1781  Need char = ')' Line 1854  Need char = ')'
1854  10: ab(xy)cd  10: ab(xy)cd
1855  11: cd  11: cd
1856    
1857  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1858  Capturing subpattern count = 3  Capturing subpattern count = 3
1859    Partial matching not supported
1860  Options: extended  Options: extended
1861  First char = '('  First char = '('
1862  Need char = ')'  Need char = ')'
# Line 1790  Need char = ')' Line 1864  Need char = ')'
1864   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1865   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1866   2: 123   2: 123
1867   3: <p>qrs   3: <unset>
1868    
1869  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1870  Capturing subpattern count = 3  Capturing subpattern count = 3
1871    Partial matching not supported
1872  Options: extended  Options: extended
1873  First char = '('  First char = '('
1874  Need char = ')'  Need char = ')'
# Line 1808  Need char = ')' Line 1883  Need char = ')'
1883   2: ij   2: ij
1884   3: (cd(ef)gh)   3: (cd(ef)gh)
1885    
1886  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1887    ------------------------------------------------------------------
1888            Bra 0
1889            ^
1890            [0-9A-Za-z]
1891            Ket
1892            End
1893    ------------------------------------------------------------------
1894    Capturing subpattern count = 0
1895    Options: anchored
1896    No first char
1897    No need char
1898    
1899    /^[[:^alnum:]]/DZ
1900    ------------------------------------------------------------------
1901            Bra 0
1902            ^
1903            [\x00-/:-@[-`{-\xff]
1904            Ket
1905            End
1906    ------------------------------------------------------------------
1907    Capturing subpattern count = 0
1908    Options: anchored
1909    No first char
1910    No need char
1911    
1912    /^[[:alpha:]]/DZ
1913    ------------------------------------------------------------------
1914            Bra 0
1915            ^
1916            [A-Za-z]
1917            Ket
1918            End
1919    ------------------------------------------------------------------
1920    Capturing subpattern count = 0
1921    Options: anchored
1922    No first char
1923    No need char
1924    
1925    /^[[:^alpha:]]/DZ
1926    ------------------------------------------------------------------
1927            Bra 0
1928            ^
1929            [\x00-@[-`{-\xff]
1930            Ket
1931            End
1932    ------------------------------------------------------------------
1933    Capturing subpattern count = 0
1934    Options: anchored
1935    No first char
1936    No need char
1937    
1938    /[_[:alpha:]]/IS
1939    Capturing subpattern count = 0
1940    No options
1941    No first char
1942    No need char
1943    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
1944      _ 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
1945    
1946    /^[[:ascii:]]/DZ
1947    ------------------------------------------------------------------
1948            Bra 0
1949            ^
1950            [\x00-\x7f]
1951            Ket
1952            End
1953    ------------------------------------------------------------------
1954    Capturing subpattern count = 0
1955    Options: anchored
1956    No first char
1957    No need char
1958    
1959    /^[[:^ascii:]]/DZ
1960    ------------------------------------------------------------------
1961            Bra 0
1962            ^
1963            [\x80-\xff]
1964            Ket
1965            End
1966    ------------------------------------------------------------------
1967    Capturing subpattern count = 0
1968    Options: anchored
1969    No first char
1970    No need char
1971    
1972    /^[[:blank:]]/DZ
1973  ------------------------------------------------------------------  ------------------------------------------------------------------
1974    0  37 Bra 0          Bra 0
1975    3     ^          ^
1976    4     [0-9A-Za-z]          [\x09 ]
1977   37  37 Ket          Ket
1978   40     End          End
1979  ------------------------------------------------------------------  ------------------------------------------------------------------
1980  Capturing subpattern count = 0  Capturing subpattern count = 0
1981  Options: anchored  Options: anchored
1982  No first char  No first char
1983  No need char  No need char
1984    
1985  /^[[:alpha:]]/D  /^[[:^blank:]]/DZ
1986  ------------------------------------------------------------------  ------------------------------------------------------------------
1987    0  37 Bra 0          Bra 0
1988    3     ^          ^
1989    4     [A-Za-z]          [\x00-\x08\x0a-\x1f!-\xff]
1990   37  37 Ket          Ket
1991   40     End          End
1992  ------------------------------------------------------------------  ------------------------------------------------------------------
1993  Capturing subpattern count = 0  Capturing subpattern count = 0
1994  Options: anchored  Options: anchored
1995  No first char  No first char
1996  No need char  No need char
1997    
1998  /^[[:ascii:]]/D  /[\n\x0b\x0c\x0d[:blank:]]/IS
1999    Capturing subpattern count = 0
2000    No options
2001    No first char
2002    No need char
2003    Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2004    
2005    /^[[:cntrl:]]/DZ
2006  ------------------------------------------------------------------  ------------------------------------------------------------------
2007    0  37 Bra 0          Bra 0
2008    3     ^          ^
2009    4     [\x00-\x7f]          [\x00-\x1f\x7f]
2010   37  37 Ket          Ket
2011   40     End          End
2012  ------------------------------------------------------------------  ------------------------------------------------------------------
2013  Capturing subpattern count = 0  Capturing subpattern count = 0
2014  Options: anchored  Options: anchored
2015  No first char  No first char
2016  No need char  No need char
2017    
2018  /^[[:cntrl:]]/D  /^[[:digit:]]/DZ
2019  ------------------------------------------------------------------  ------------------------------------------------------------------
2020    0  37 Bra 0          Bra 0
2021    3     ^          ^
2022    4     [\x00-\x1f\x7f]          [0-9]
2023   37  37 Ket          Ket
2024   40     End          End
2025  ------------------------------------------------------------------  ------------------------------------------------------------------
2026  Capturing subpattern count = 0  Capturing subpattern count = 0
2027  Options: anchored  Options: anchored
2028  No first char  No first char
2029  No need char  No need char
2030    
2031  /^[[:digit:]]/D  /^[[:graph:]]/DZ
2032  ------------------------------------------------------------------  ------------------------------------------------------------------
2033    0  37 Bra 0          Bra 0
2034    3     ^          ^
2035    4     [0-9]          [!-~]
2036   37  37 Ket          Ket
2037   40     End          End
2038  ------------------------------------------------------------------  ------------------------------------------------------------------
2039  Capturing subpattern count = 0  Capturing subpattern count = 0
2040  Options: anchored  Options: anchored
2041  No first char  No first char
2042  No need char  No need char
2043    
2044  /^[[:graph:]]/D  /^[[:lower:]]/DZ
2045  ------------------------------------------------------------------  ------------------------------------------------------------------
2046    0  37 Bra 0          Bra 0
2047    3     ^          ^
2048    4     [!-~]          [a-z]
2049   37  37 Ket          Ket
2050   40     End          End
2051  ------------------------------------------------------------------  ------------------------------------------------------------------
2052  Capturing subpattern count = 0  Capturing subpattern count = 0
2053  Options: anchored  Options: anchored
2054  No first char  No first char
2055  No need char  No need char
2056    
2057  /^[[:lower:]]/D  /^[[:print:]]/DZ
2058  ------------------------------------------------------------------  ------------------------------------------------------------------
2059    0  37 Bra 0          Bra 0
2060    3     ^          ^
2061    4     [a-z]          [ -~]
2062   37  37 Ket          Ket
2063   40     End          End
2064  ------------------------------------------------------------------  ------------------------------------------------------------------
2065  Capturing subpattern count = 0  Capturing subpattern count = 0
2066  Options: anchored  Options: anchored
2067  No first char  No first char
2068  No need char  No need char
2069    
2070  /^[[:print:]]/D  /^[[:punct:]]/DZ
2071  ------------------------------------------------------------------  ------------------------------------------------------------------
2072    0  37 Bra 0          Bra 0
2073    3     ^          ^
2074    4     [ -~]          [!-/:-@[-`{-~]
2075   37  37 Ket          Ket
2076   40     End          End
2077  ------------------------------------------------------------------  ------------------------------------------------------------------
2078  Capturing subpattern count = 0  Capturing subpattern count = 0
2079  Options: anchored  Options: anchored
2080  No first char  No first char
2081  No need char  No need char
2082    
2083  /^[[:punct:]]/D  /^[[:space:]]/DZ
2084  ------------------------------------------------------------------  ------------------------------------------------------------------
2085    0  37 Bra 0          Bra 0
2086    3     ^          ^
2087    4     [!-/:-@[-`{-~]          [\x09-\x0d ]
2088   37  37 Ket          Ket
2089   40     End          End
2090  ------------------------------------------------------------------  ------------------------------------------------------------------
2091  Capturing subpattern count = 0  Capturing subpattern count = 0
2092  Options: anchored  Options: anchored
2093  No first char  No first char
2094  No need char  No need char
2095    
2096  /^[[:space:]]/D  /^[[:upper:]]/DZ
2097  ------------------------------------------------------------------  ------------------------------------------------------------------
2098    0  37 Bra 0          Bra 0
2099    3     ^          ^
2100    4     [\x09-\x0d ]          [A-Z]
2101   37  37 Ket          Ket
2102   40     End          End
2103  ------------------------------------------------------------------  ------------------------------------------------------------------
2104  Capturing subpattern count = 0  Capturing subpattern count = 0
2105  Options: anchored  Options: anchored
2106  No first char  No first char
2107  No need char  No need char
2108    
2109  /^[[:upper:]]/D  /^[[:xdigit:]]/DZ
2110  ------------------------------------------------------------------  ------------------------------------------------------------------
2111    0  37 Bra 0          Bra 0
2112    3     ^          ^
2113    4     [A-Z]          [0-9A-Fa-f]
2114   37  37 Ket          Ket
2115   40     End          End
2116  ------------------------------------------------------------------  ------------------------------------------------------------------
2117  Capturing subpattern count = 0  Capturing subpattern count = 0
2118  Options: anchored  Options: anchored
2119  No first char  No first char
2120  No need char  No need char
2121    
2122  /^[[:xdigit:]]/D  /^[[:word:]]/DZ
2123  ------------------------------------------------------------------  ------------------------------------------------------------------
2124    0  37 Bra 0          Bra 0
2125    3     ^          ^
2126    4     [0-9A-Fa-f]          [0-9A-Z_a-z]
2127   37  37 Ket          Ket
2128   40     End          End
2129  ------------------------------------------------------------------  ------------------------------------------------------------------
2130  Capturing subpattern count = 0  Capturing subpattern count = 0
2131  Options: anchored  Options: anchored
2132  No first char  No first char
2133  No need char  No need char
2134    
2135  /^[[:word:]]/D  /^[[:^cntrl:]]/DZ
2136  ------------------------------------------------------------------  ------------------------------------------------------------------
2137    0  37 Bra 0          Bra 0
2138    3     ^          ^
2139    4     [0-9A-Z_a-z]          [ -~\x80-\xff]
2140   37  37 Ket          Ket
2141   40     End          End
2142  ------------------------------------------------------------------  ------------------------------------------------------------------
2143  Capturing subpattern count = 0  Capturing subpattern count = 0
2144  Options: anchored  Options: anchored
2145  No first char  No first char
2146  No need char  No need char
2147    
2148  /^[[:^cntrl:]]/D  /^[12[:^digit:]]/DZ
2149  ------------------------------------------------------------------  ------------------------------------------------------------------
2150    0  37 Bra 0          Bra 0
2151    3     ^          ^
2152    4     [ -~\x80-\xff]          [\x00-/12:-\xff]
2153   37  37 Ket          Ket
2154   40     End          End
2155  ------------------------------------------------------------------  ------------------------------------------------------------------
2156  Capturing subpattern count = 0  Capturing subpattern count = 0
2157  Options: anchored  Options: anchored
2158  No first char  No first char
2159  No need char  No need char
2160    
2161  /^[12[:^digit:]]/D  /^[[:^blank:]]/DZ
2162  ------------------------------------------------------------------  ------------------------------------------------------------------
2163    0  37 Bra 0          Bra 0
2164    3     ^          ^
2165    4     [\x00-/1-2:-\xff]          [\x00-\x08\x0a-\x1f!-\xff]
2166   37  37 Ket          Ket
2167   40     End          End
2168  ------------------------------------------------------------------  ------------------------------------------------------------------
2169  Capturing subpattern count = 0  Capturing subpattern count = 0
2170  Options: anchored  Options: anchored
2171  No first char  No first char
2172  No need char  No need char
2173    
2174  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2175  ------------------------------------------------------------------  ------------------------------------------------------------------
2176    0  36 Bra 0          Bra 0
2177    3     [%0-1A-Za-z]          [%01A-Za-z]
2178   36  36 Ket          Ket
2179   39     End          End
2180  ------------------------------------------------------------------  ------------------------------------------------------------------
2181  Capturing subpattern count = 0  Capturing subpattern count = 0
2182  No options  No options
2183  No first char  No first char
2184  No need char  No need char
2185    
2186  /[[.ch.]]/  /[[.ch.]]/I
2187  Failed: POSIX collating elements are not supported at offset 1  Failed: POSIX collating elements are not supported at offset 1
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  /[[:rhubarb:]]/  /[[:rhubarb:]]/I
2193  Failed: unknown POSIX class name at offset 3  Failed: unknown POSIX class name at offset 3
2194    
2195  /[[:upper:]]/i  /[[:upper:]]/Ii
2196  Capturing subpattern count = 0  Capturing subpattern count = 0
2197  Options: caseless  Options: caseless
2198  No first char  No first char
2199  No need char  No need char
2200      A      A
2201   0: A   0: A
2202      a      a
2203   0: a   0: a
2204    
2205  /[[:lower:]]/i  /[[:lower:]]/Ii
2206  Capturing subpattern count = 0  Capturing subpattern count = 0
2207  Options: caseless  Options: caseless
2208  No first char  No first char
2209  No need char  No need char
2210      A      A
2211   0: A   0: A
2212      a      a
2213   0: a   0: a
2214    
2215  /((?-i)[[:lower:]])[[:lower:]]/i  /((?-i)[[:lower:]])[[:lower:]]/Ii
2216  Capturing subpattern count = 1  Capturing subpattern count = 1
2217  Options: caseless  Options: caseless
 Case state changes  
2218  No first char  No first char
2219  No need char  No need char
2220      ab      ab
# Line 2061  No need char Line 2228  No need char
2228   1: a   1: a
2229      Ab      Ab
2230  No match  No match
2231      AB      AB
2232  No match  No match
2233    
2234  / End of test input /  /[\200-\110]/I
2235    Failed: range out of order in character class at offset 9
2236    
2237    /^(?(0)f|b)oo/I
2238    Failed: invalid condition (?(0) at offset 6
2239    
2240    /This one's here because of the large output vector needed/I
2241  Capturing subpattern count = 0  Capturing subpattern count = 0
2242  No options  No options
2243  First char = ' '  First char = 'T'
2244  Need char = ' '  Need char = 'd'
2245    
2246    /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
2247    Capturing subpattern count = 271
2248    Max back reference = 270
2249    Partial matching not supported
2250    No options
2251    No first char
2252    No need char
2253        \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
2254     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
2255     1: 1
2256     2: 2
2257     3: 3
2258     4: 4
2259     5: 5
2260     6: 6
2261     7: 7
2262     8: 8
2263     9: 9
2264    10: 10
2265    11: 11
2266    12: 12
2267    13: 13
2268    14: 14
2269    15: 15
2270    16: 16
2271    17: 17
2272    18: 18
2273    19: 19
2274    20: 20
2275    21: 21
2276    22: 22
2277    23: 23
2278    24: 24
2279    25: 25
2280    26: 26
2281    27: 27
2282    28: 28
2283    29: 29
2284    30: 30
2285    31: 31
2286    32: 32
2287    33: 33
2288    34: 34
2289    35: 35
2290    36: 36
2291    37: 37
2292    38: 38
2293    39: 39
2294    40: 40
2295    41: 41
2296    42: 42
2297    43: 43
2298    44: 44
2299    45: 45
2300    46: 46
2301    47: 47
2302    48: 48
2303    49: 49
2304    50: 50
2305    51: 51
2306    52: 52
2307    53: 53
2308    54: 54
2309    55: 55
2310    56: 56
2311    57: 57
2312    58: 58
2313    59: 59
2314    60: 60
2315    61: 61
2316    62: 62
2317    63: 63
2318    64: 64
2319    65: 65
2320    66: 66
2321    67: 67
2322    68: 68
2323    69: 69
2324    70: 70
2325    71: 71
2326    72: 72
2327    73: 73
2328    74: 74
2329    75: 75
2330    76: 76
2331    77: 77
2332    78: 78
2333    79: 79
2334    80: 80
2335    81: 81
2336    82: 82
2337    83: 83
2338    84: 84
2339    85: 85
2340    86: 86
2341    87: 87
2342    88: 88
2343    89: 89
2344    90: 90
2345    91: 91
2346    92: 92
2347    93: 93
2348    94: 94
2349    95: 95
2350    96: 96
2351    97: 97
2352    98: 98
2353    99: 99
2354    100: 100
2355    101: 101
2356    102: 102
2357    103: 103
2358    104: 104
2359    105: 105
2360    106: 106
2361    107: 107
2362    108: 108
2363    109: 109
2364    110: 110
2365    111: 111
2366    112: 112
2367    113: 113
2368    114: 114
2369    115: 115
2370    116: 116
2371    117: 117
2372    118: 118
2373    119: 119
2374    120: 120
2375    121: 121
2376    122: 122
2377    123: 123
2378    124: 124
2379    125: 125
2380    126: 126
2381    127: 127
2382    128: 128
2383    129: 129
2384    130: 130
2385    131: 131
2386    132: 132
2387    133: 133
2388    134: 134
2389    135: 135
2390    136: 136
2391    137: 137
2392    138: 138
2393    139: 139
2394    140: 140
2395    141: 141
2396    142: 142
2397    143: 143
2398    144: 144
2399    145: 145
2400    146: 146
2401    147: 147
2402    148: 148
2403    149: 149
2404    150: 150
2405    151: 151
2406    152: 152
2407    153: 153
2408    154: 154
2409    155: 155
2410    156: 156
2411    157: 157
2412    158: 158
2413    159: 159
2414    160: 160
2415    161: 161
2416    162: 162
2417    163: 163
2418    164: 164
2419    165: 165
2420    166: 166
2421    167: 167
2422    168: 168
2423    169: 169
2424    170: 170
2425    171: 171
2426    172: 172
2427    173: 173
2428    174: 174
2429    175: 175
2430    176: 176
2431    177: 177
2432    178: 178
2433    179: 179
2434    180: 180
2435    181: 181
2436    182: 182
2437    183: 183
2438    184: 184
2439    185: 185
2440    186: 186
2441    187: 187
2442    188: 188
2443    189: 189
2444    190: 190
2445    191: 191
2446    192: 192
2447    193: 193
2448    194: 194
2449    195: 195
2450    196: 196
2451    197: 197
2452    198: 198
2453    199: 199
2454    200: 200
2455    201: 201
2456    202: 202
2457    203: 203
2458    204: 204
2459    205: 205
2460    206: 206
2461    207: 207
2462    208: 208
2463    209: 209
2464    210: 210
2465    211: 211
2466    212: 212
2467    213: 213
2468    214: 214
2469    215: 215
2470    216: 216
2471    217: 217
2472    218: 218
2473    219: 219
2474    220: 220
2475    221: 221
2476    222: 222
2477    223: 223
2478    224: 224
2479    225: 225
2480    226: 226
2481    227: 227
2482    228: 228
2483    229: 229
2484    230: 230
2485    231: 231
2486    232: 232
2487    233: 233
2488    234: 234
2489    235: 235
2490    236: 236
2491    237: 237
2492    238: 238
2493    239: 239
2494    240: 240
2495    241: 241
2496    242: 242
2497    243: 243
2498    244: 244
2499    245: 245
2500    246: 246
2501    247: 247
2502    248: 248
2503    249: 249
2504    250: 250
2505    251: 251
2506    252: 252
2507    253: 253
2508    254: 254
2509    255: 255
2510    256: 256
2511    257: 257
2512    258: 258
2513    259: 259
2514    260: 260
2515    261: 261
2516    262: 262
2517    263: 263
2518    264: 264
2519    265: 265
2520    266: 266
2521    267: 267
2522    268: 268
2523    269: 269
2524    270: ABC
2525    271: ABC
2526    
2527    /This one's here because Perl does this differently and PCRE can't at present/I
2528    Capturing subpattern count = 0
2529    No options
2530    First char = 'T'
2531    Need char = 't'
2532    
2533    /(main(O)?)+/I
2534    Capturing subpattern count = 2
2535    No options
2536    First char = 'm'
2537    Need char = 'n'
2538        mainmain
2539     0: mainmain
2540     1: main
2541        mainOmain
2542     0: mainOmain
2543     1: main
2544     2: O
2545    
2546    /These are all cases where Perl does it differently (nested captures)/I
2547    Capturing subpattern count = 1
2548    No options
2549    First char = 'T'
2550    Need char = 's'
2551    
2552    /^(a(b)?)+$/I
2553    Capturing subpattern count = 2
2554    Options: anchored
2555    No first char
2556    No need char
2557        aba
2558     0: aba
2559     1: a
2560     2: b
2561    
2562    /^(aa(bb)?)+$/I
2563    Capturing subpattern count = 2
2564    Options: anchored
2565    No first char
2566    No need char
2567        aabbaa
2568     0: aabbaa
2569     1: aa
2570     2: bb
2571    
2572    /^(aa|aa(bb))+$/I
2573    Capturing subpattern count = 2
2574    Options: anchored
2575    No first char
2576    No need char
2577        aabbaa
2578     0: aabbaa
2579     1: aa
2580     2: bb
2581    
2582    /^(aa(bb)??)+$/I
2583    Capturing subpattern count = 2
2584    Options: anchored
2585    No first char
2586    No need char
2587        aabbaa
2588     0: aabbaa
2589     1: aa
2590     2: bb
2591    
2592    /^(?:aa(bb)?)+$/I
2593    Capturing subpattern count = 1
2594    Options: anchored
2595    No first char
2596    No need char
2597        aabbaa
2598     0: aabbaa
2599     1: bb
2600    
2601    /^(aa(b(b))?)+$/I
2602    Capturing subpattern count = 3
2603    Options: anchored
2604    No first char
2605    No need char
2606        aabbaa
2607     0: aabbaa
2608     1: aa
2609     2: bb
2610     3: b
2611    
2612    /^(?:aa(b(b))?)+$/I
2613    Capturing subpattern count = 2
2614    Options: anchored
2615    No first char
2616    No need char
2617        aabbaa
2618     0: aabbaa
2619     1: bb
2620     2: b
2621    
2622    /^(?:aa(b(?:b))?)+$/I
2623    Capturing subpattern count = 1
2624    Options: anchored
2625    No first char
2626    No need char
2627        aabbaa
2628     0: aabbaa
2629     1: bb
2630    
2631    /^(?:aa(bb(?:b))?)+$/I
2632    Capturing subpattern count = 1
2633    Options: anchored
2634    No first char
2635    No need char
2636        aabbbaa
2637     0: aabbbaa
2638     1: bbb
2639    
2640    /^(?:aa(b(?:bb))?)+$/I
2641    Capturing subpattern count = 1
2642    Options: anchored
2643    No first char
2644    No need char
2645        aabbbaa
2646     0: aabbbaa
2647     1: bbb
2648    
2649    /^(?:aa(?:b(b))?)+$/I
2650    Capturing subpattern count = 1
2651    Options: anchored
2652    No first char
2653    No need char
2654        aabbaa
2655     0: aabbaa
2656     1: b
2657    
2658    /^(?:aa(?:b(bb))?)+$/I
2659    Capturing subpattern count = 1
2660    Options: anchored
2661    No first char
2662    No need char
2663        aabbbaa
2664     0: aabbbaa
2665     1: bb
2666    
2667    /^(aa(b(bb))?)+$/I
2668    Capturing subpattern count = 3
2669    Options: anchored
2670    No first char
2671    No need char
2672        aabbbaa
2673     0: aabbbaa
2674     1: aa
2675     2: bbb
2676     3: bb
2677    
2678    /^(aa(bb(bb))?)+$/I
2679    Capturing subpattern count = 3
2680    Options: anchored
2681    No first char
2682    No need char
2683        aabbbbaa
2684     0: aabbbbaa
2685     1: aa
2686     2: bbbb
2687     3: bb
2688    
2689    /--------------------------------------------------------------------/I
2690    Capturing subpattern count = 0
2691    No options
2692    First char = '-'
2693    Need char = '-'
2694    
2695    /#/IxDZ
2696    ------------------------------------------------------------------
2697            Bra 0
2698            Ket
2699            End
2700    ------------------------------------------------------------------
2701    Capturing subpattern count = 0
2702    Options: extended
2703    No first char
2704    No need char
2705    
2706    /a#/IxDZ
2707    ------------------------------------------------------------------
2708            Bra 0
2709            a
2710            Ket
2711            End
2712    ------------------------------------------------------------------
2713    Capturing subpattern count = 0
2714    Options: extended
2715    First char = 'a'
2716    No need char
2717    
2718    /[\s]/DZ
2719    ------------------------------------------------------------------
2720            Bra 0
2721            [\x09\x0a\x0c\x0d ]
2722            Ket
2723            End
2724    ------------------------------------------------------------------
2725    Capturing subpattern count = 0
2726    No options
2727    No first char
2728    No need char
2729    
2730    /[\S]/DZ
2731    ------------------------------------------------------------------
2732            Bra 0
2733            [\x00-\x08\x0b\x0e-\x1f!-\xff]
2734            Ket
2735            End
2736    ------------------------------------------------------------------
2737    Capturing subpattern count = 0
2738    No options
2739    No first char
2740    No need char
2741    
2742    /a(?i)b/DZ
2743    ------------------------------------------------------------------
2744            Bra 0
2745            a
2746         01 Opt
2747         NC b
2748            Ket
2749            End
2750    ------------------------------------------------------------------
2751    Capturing subpattern count = 0
2752    No options
2753    First char = 'a'
2754    Need char = 'b' (caseless)
2755        ab
2756     0: ab
2757        aB
2758     0: aB
2759        *** Failers
2760    No match
2761        AB
2762    No match
2763    
2764    /(a(?i)b)/DZ
2765    ------------------------------------------------------------------
2766            Bra 0
2767            Bra 1
2768            a
2769         01 Opt
2770         NC b
2771            Ket
2772         00 Opt
2773            Ket
2774            End
2775    ------------------------------------------------------------------
2776    Capturing subpattern count = 1
2777    No options
2778    First char = 'a'
2779    Need char = 'b' (caseless)
2780        ab
2781     0: ab
2782     1: ab
2783        aB
2784     0: aB
2785     1: aB
2786        *** Failers
2787    No match
2788        AB
2789    No match
2790    
2791    /   (?i)abc/IxDZ
2792    ------------------------------------------------------------------
2793            Bra 0
2794         NC abc
2795            Ket
2796            End
2797    ------------------------------------------------------------------
2798    Capturing subpattern count = 0
2799    Options: caseless extended
2800    First char = 'a' (caseless)
2801    Need char = 'c' (caseless)
2802    
2803    /#this is a comment
2804      (?i)abc/IxDZ
2805    ------------------------------------------------------------------
2806            Bra 0
2807         NC abc
2808            Ket
2809            End
2810    ------------------------------------------------------------------
2811    Capturing subpattern count = 0
2812    Options: caseless extended
2813    First char = 'a' (caseless)
2814    Need char = 'c' (caseless)
2815    
2816    /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2817    ------------------------------------------------------------------
2818            Bra 0
2819            123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2820            Ket
2821            End
2822    ------------------------------------------------------------------
2823    Capturing subpattern count = 0
2824    No options
2825    First char = '1'
2826    Need char = '0'
2827    
2828    /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2829    ------------------------------------------------------------------
2830            Bra 0
2831            123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2832            Ket
2833            End
2834    ------------------------------------------------------------------
2835    Capturing subpattern count = 0
2836    No options
2837    First char = '1'
2838    Need char = '0'
2839    
2840    /\Q\E/DZ
2841    ------------------------------------------------------------------
2842            Bra 0
2843            Ket
2844            End
2845    ------------------------------------------------------------------
2846    Capturing subpattern count = 0
2847    No options
2848    No first char
2849    No need char
2850        \
2851     0:
2852    
2853    /\Q\Ex/DZ
2854    ------------------------------------------------------------------
2855            Bra 0
2856            x
2857            Ket
2858            End
2859    ------------------------------------------------------------------
2860    Capturing subpattern count = 0
2861    No options
2862    First char = 'x'
2863    No need char
2864    
2865    / \Q\E/DZ
2866    ------------------------------------------------------------------
2867            Bra 0
2868    
2869            Ket
2870            End
2871    ------------------------------------------------------------------
2872    Capturing subpattern count = 0
2873    No options
2874    First char = ' '
2875    No need char
2876    
2877    /a\Q\E/DZ
2878    ------------------------------------------------------------------
2879            Bra 0
2880            a
2881            Ket
2882            End
2883    ------------------------------------------------------------------
2884    Capturing subpattern count = 0
2885    No options
2886    First char = 'a'
2887    No need char
2888      abc
2889     0: a
2890      bca
2891     0: a
2892      bac
2893     0: a
2894    
2895    /a\Q\Eb/DZ
2896    ------------------------------------------------------------------
2897            Bra 0
2898            ab
2899            Ket
2900            End
2901    ------------------------------------------------------------------
2902    Capturing subpattern count = 0
2903    No options
2904    First char = 'a'
2905    Need char = 'b'
2906      abc
2907     0: ab
2908    
2909    /\Q\Eabc/DZ
2910    ------------------------------------------------------------------
2911            Bra 0
2912            abc
2913            Ket
2914            End
2915    ------------------------------------------------------------------
2916    Capturing subpattern count = 0
2917    No options
2918    First char = 'a'
2919    Need char = 'c'
2920    
2921    /x*+\w/DZ
2922    ------------------------------------------------------------------
2923            Bra 0
2924            x*+
2925            \w
2926            Ket
2927            End
2928    ------------------------------------------------------------------
2929    Capturing subpattern count = 0
2930    Partial matching not supported
2931    No options
2932    No first char
2933    No need char
2934        *** Failers
2935     0: F
2936        xxxxx
2937    No match
2938    
2939    /x?+/DZ
2940    ------------------------------------------------------------------
2941            Bra 0
2942            x?+
2943            Ket
2944            End
2945    ------------------------------------------------------------------
2946    Capturing subpattern count = 0
2947    No options
2948    No first char
2949    No need char
2950    
2951    /x++/DZ
2952    ------------------------------------------------------------------
2953            Bra 0
2954            x++
2955            Ket
2956            End
2957    ------------------------------------------------------------------
2958    Capturing subpattern count = 0
2959    Partial matching not supported
2960    No options
2961    First char = 'x'
2962    No need char
2963    
2964    /x{1,3}+/DZ
2965    ------------------------------------------------------------------
2966            Bra 0
2967            Once
2968            x
2969            x{0,2}
2970            Ket
2971            Ket
2972            End
2973    ------------------------------------------------------------------
2974    Capturing subpattern count = 0
2975    Partial matching not supported
2976    No options
2977    First char = 'x'
2978    No need char
2979    
2980    /(x)*+/DZ
2981    ------------------------------------------------------------------
2982            Bra 0
2983            Once
2984            Brazero
2985            Bra 1
2986            x
2987            KetRmax
2988            Ket
2989            Ket
2990            End
2991    ------------------------------------------------------------------
2992    Capturing subpattern count = 1
2993    No options
2994    No first char
2995    No need char
2996    
2997    /^(\w++|\s++)*$/I
2998    Capturing subpattern count = 1
2999    Partial matching not supported
3000    Options: anchored
3001    No first char
3002    No need char
3003        now is the time for all good men to come to the aid of the party
3004     0: now is the time for all good men to come to the aid of the party
3005     1: party
3006        *** Failers
3007    No match
3008        this is not a line with only words and spaces!
3009    No match
3010    
3011    /(\d++)(\w)/I
3012    Capturing subpattern count = 2
3013    Partial matching not supported
3014    No options
3015    No first char
3016    No need char
3017        12345a
3018     0: 12345a
3019     1: 12345
3020     2: a
3021        *** Failers
3022    No match
3023        12345+
3024    No match
3025    
3026    /a++b/I
3027    Capturing subpattern count = 0
3028    Partial matching not supported
3029    No options
3030    First char = 'a'
3031    Need char = 'b'
3032        aaab
3033     0: aaab
3034    
3035    /(a++b)/I
3036    Capturing subpattern count = 1
3037    Partial matching not supported
3038    No options
3039    First char = 'a'
3040    Need char = 'b'
3041        aaab
3042     0: aaab
3043     1: aaab
3044    
3045    /(a++)b/I
3046    Capturing subpattern count = 1
3047    Partial matching not supported
3048    No options
3049    First char = 'a'
3050    Need char = 'b'
3051        aaab
3052     0: aaab
3053     1: aaa
3054    
3055    /([^()]++|\([^()]*\))+/I
3056    Capturing subpattern count = 1
3057    Partial matching not supported
3058    No options
3059    No first char
3060    No need char
3061        ((abc(ade)ufh()()x
3062     0: abc(ade)ufh()()x
3063     1: x
3064    
3065    /\(([^()]++|\([^()]+\))+\)/I
3066    Capturing subpattern count = 1
3067    Partial matching not supported
3068    No options
3069    First char = '('
3070    Need char = ')'
3071        (abc)
3072     0: (abc)
3073     1: abc
3074        (abc(def)xyz)
3075     0: (abc(def)xyz)
3076     1: xyz
3077        *** Failers
3078    No match
3079        ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3080    No match
3081    
3082    /(abc){1,3}+/DZ
3083    ------------------------------------------------------------------
3084            Bra 0
3085            Once
3086            Bra 1
3087            abc
3088            Ket
3089            Brazero
3090            Bra 0
3091            Bra 1
3092            abc
3093            Ket
3094            Brazero
3095            Bra 1
3096            abc
3097            Ket
3098            Ket
3099            Ket
3100            Ket
3101            End
3102    ------------------------------------------------------------------
3103    Capturing subpattern count = 1
3104    No options
3105    First char = 'a'
3106    Need char = 'c'
3107    
3108    /a+?+/I
3109    Failed: nothing to repeat at offset 3
3110    
3111    /a{2,3}?+b/I
3112    Failed: nothing to repeat at offset 7
3113    
3114    /(?U)a+?+/I
3115    Failed: nothing to repeat at offset 7
3116    
3117    /a{2,3}?+b/IU
3118    Failed: nothing to repeat at offset 7
3119    
3120    /x(?U)a++b/DZ
3121    ------------------------------------------------------------------
3122            Bra 0
3123            x
3124            a++
3125            b
3126            Ket
3127            End
3128    ------------------------------------------------------------------
3129    Capturing subpattern count = 0
3130    Partial matching not supported
3131    No options
3132    First char = 'x'
3133    Need char = 'b'
3134        xaaaab
3135     0: xaaaab
3136    
3137    /(?U)xa++b/DZ
3138    ------------------------------------------------------------------
3139            Bra 0
3140            x
3141            a++
3142            b
3143            Ket
3144            End
3145    ------------------------------------------------------------------
3146    Capturing subpattern count = 0
3147    Partial matching not supported
3148    Options: ungreedy
3149    First char = 'x'
3150    Need char = 'b'
3151        xaaaab
3152     0: xaaaab
3153    
3154    /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3155    ------------------------------------------------------------------
3156            Bra 0
3157            ^
3158            Bra 1
3159            Bra 2
3160            a+
3161            Ket
3162            Bra 3
3163            [ab]+?
3164            Ket
3165            Bra 4
3166            [bc]+
3167            Ket
3168            Bra 5
3169            \w*
3170            Ket
3171            Ket
3172            Ket
3173            End
3174    ------------------------------------------------------------------
3175    Capturing subpattern count = 5
3176    Partial matching not supported
3177    Options: anchored
3178    No first char
3179    No need char
3180    
3181    /^x(?U)a+b/DZ
3182    ------------------------------------------------------------------
3183            Bra 0
3184            ^
3185            x
3186            a++
3187            b
3188            Ket
3189            End
3190    ------------------------------------------------------------------
3191    Capturing subpattern count = 0
3192    Partial matching not supported
3193    Options: anchored
3194    No first char
3195    Need char = 'b'
3196    
3197    /^x(?U)(a+)b/DZ
3198    ------------------------------------------------------------------
3199            Bra 0
3200            ^
3201            x
3202            Bra 1
3203            a+?
3204            Ket
3205            b
3206            Ket
3207            End
3208    ------------------------------------------------------------------
3209    Capturing subpattern count = 1
3210    Partial matching not supported
3211    Options: anchored
3212    No first char
3213    Need char = 'b'
3214    
3215    /[.x.]/I
3216    Failed: POSIX collating elements are not supported at offset 0
3217    
3218    /[=x=]/I
3219    Failed: POSIX collating elements are not supported at offset 0
3220    
3221    /[:x:]/I
3222    Failed: POSIX named classes are supported only within a class at offset 0
3223    
3224    /\l/I
3225    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3226    
3227    /\L/I
3228    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3229    
3230    /\N{name}/I
3231    Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3232    
3233    /\u/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    /[/I
3240    Failed: missing terminating ] for character class at offset 1
3241    
3242    /[a-/I
3243    Failed: missing terminating ] for character class at offset 3
3244    
3245    /[[:space:]/I
3246    Failed: missing terminating ] for character class at offset 10
3247    
3248    /[\s]/IDZ
3249    ------------------------------------------------------------------
3250            Bra 0
3251            [\x09\x0a\x0c\x0d ]
3252            Ket
3253            End
3254    ------------------------------------------------------------------
3255    Capturing subpattern count = 0
3256    No options
3257    No first char
3258    No need char
3259    
3260    /[[:space:]]/IDZ
3261    ------------------------------------------------------------------
3262            Bra 0
3263            [\x09-\x0d ]
3264            Ket
3265            End
3266    ------------------------------------------------------------------
3267    Capturing subpattern count = 0
3268    No options
3269    No first char
3270    No need char
3271    
3272    /[[:space:]abcde]/IDZ
3273    ------------------------------------------------------------------
3274            Bra 0
3275            [\x09-\x0d a-e]
3276            Ket
3277            End
3278    ------------------------------------------------------------------
3279    Capturing subpattern count = 0
3280    No options
3281    No first char
3282    No need char
3283    
3284    /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3285    Capturing subpattern count = 0
3286    Partial matching not supported
3287    Options: extended
3288    First char = '<'
3289    Need char = '>'
3290        <>
3291     0: <>
3292        <abcd>
3293     0: <abcd>
3294        <abc <123> hij>
3295     0: <abc <123> hij>
3296        <abc <def> hij>
3297     0: <def>
3298        <abc<>def>
3299     0: <abc<>def>
3300        <abc<>
3301     0: <>
3302        *** Failers
3303    No match
3304        <abc
3305    No match
3306    
3307    |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
3308    ------------------------------------------------------------------
3309            Bra 0
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
3311            \b
3312            Ket
3313            End
3314    ------------------------------------------------------------------
3315    Capturing subpattern count = 0
3316    No options
3317    First char = '8'
3318    Need char = 'X'
3319    
3320    |\$\<\.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
3321    ------------------------------------------------------------------
3322            Bra 0
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
3324            \b
3325            Ket
3326            End
3327    ------------------------------------------------------------------
3328    Capturing subpattern count = 0
3329    No options
3330    First char = '$'
3331    Need char = 'X'
3332    
3333    /(.*)\d+\1/I
3334    Capturing subpattern count = 1
3335    Max back reference = 1
3336    Partial matching not supported
3337    No options
3338    No first char
3339    No need char
3340    
3341    /(.*)\d+/I
3342    Capturing subpattern count = 1
3343    Partial matching not supported
3344    No options
3345    First char at start or follows newline
3346    No need char
3347    
3348    /(.*)\d+\1/Is
3349    Capturing subpattern count = 1
3350    Max back reference = 1
3351    Partial matching not supported
3352    Options: dotall
3353    No first char
3354    No need char
3355    
3356    /(.*)\d+/Is
3357    Capturing subpattern count = 1
3358    Partial matching not supported
3359    Options: anchored dotall
3360    No first char
3361    No need char
3362    
3363    /(.*(xyz))\d+\2/I
3364    Capturing subpattern count = 2
3365    Max back reference = 2
3366    Partial matching not supported
3367    No options
3368    First char at start or follows newline
3369    Need char = 'z'
3370    
3371    /((.*))\d+\1/I
3372    Capturing subpattern count = 2
3373    Max back reference = 1
3374    Partial matching not supported
3375    No options
3376    No first char
3377    No need char
3378        abc123bc
3379     0: bc123bc
3380     1: bc
3381     2: bc
3382    
3383    /a[b]/I
3384    Capturing subpattern count = 0
3385    No options
3386    First char = 'a'
3387    Need char = 'b'
3388    
3389    /(?=a).*/I
3390    Capturing subpattern count = 0
3391    Partial matching not supported
3392    No options
3393    First char = 'a'
3394    No need char
3395    
3396    /(?=abc).xyz/IiI
3397    Capturing subpattern count = 0
3398    Options: caseless
3399    First char = 'a' (caseless)
3400    Need char = 'z' (caseless)
3401    
3402    /(?=abc)(?i).xyz/I
3403    Capturing subpattern count = 0
3404    No options
3405    First char = 'a'
3406    Need char = 'z' (caseless)
3407    
3408    /(?=a)(?=b)/I
3409    Capturing subpattern count = 0
3410    No options
3411    First char = 'a'
3412    No need char
3413    
3414    /(?=.)a/I
3415    Capturing subpattern count = 0
3416    No options
3417    First char = 'a'
3418    No need char
3419    
3420    /((?=abcda)a)/I
3421    Capturing subpattern count = 1
3422    No options
3423    First char = 'a'
3424    Need char = 'a'
3425    
3426    /((?=abcda)ab)/I
3427    Capturing subpattern count = 1
3428    No options
3429    First char = 'a'
3430    Need char = 'b'
3431    
3432    /()a/I
3433    Capturing subpattern count = 1
3434    No options
3435    No first char
3436    Need char = 'a'
3437    
3438    /(?(1)ab|ac)/I
3439    Capturing subpattern count = 0
3440    No options
3441    First char = 'a'
3442    No need char
3443    
3444    /(?(1)abz|acz)/I
3445    Capturing subpattern count = 0
3446    No options
3447    First char = 'a'
3448    Need char = 'z'
3449    
3450    /(?(1)abz)/I
3451    Capturing subpattern count = 0
3452    No options
3453    No first char
3454    No need char
3455    
3456    /(?(1)abz)123/I
3457    Capturing subpattern count = 0
3458    No options
3459    No first char
3460    Need char = '3'
3461    
3462    /(a)+/I
3463    Capturing subpattern count = 1
3464    No options
3465    First char = 'a'
3466    No need char
3467    
3468    /(a){2,3}/I
3469    Capturing subpattern count = 1
3470    No options
3471    First char = 'a'
3472    Need char = 'a'
3473    
3474    /(a)*/I
3475    Capturing subpattern count = 1
3476    No options
3477    No first char
3478    No need char
3479    
3480    /[a]/I
3481    Capturing subpattern count = 0
3482    No options
3483    First char = 'a'
3484    No need char
3485    
3486    /[ab]/I
3487    Capturing subpattern count = 0
3488    No options
3489    No first char
3490    No need char
3491    
3492    /[ab]/IS
3493    Capturing subpattern count = 0
3494    No options
3495    No first char
3496    No need char
3497    Starting byte set: a b
3498    
3499    /[^a]/I
3500    Capturing subpattern count = 0
3501    No options
3502    No first char
3503    No need char
3504    
3505    /\d456/I
3506    Capturing subpattern count = 0
3507    No options
3508    No first char
3509    Need char = '6'
3510    
3511    /\d456/IS
3512    Capturing subpattern count = 0
3513    No options
3514    No first char
3515    Need char = '6'
3516    Starting byte set: 0 1 2 3 4 5 6 7 8 9
3517    
3518    /a^b/I
3519    Capturing subpattern count = 0
3520    No options
3521    First char = 'a'
3522    Need char = 'b'
3523    
3524    /^a/Im
3525    Capturing subpattern count = 0
3526    Options: multiline
3527    First char at start or follows newline
3528    Need char = 'a'
3529      abcde
3530     0: a
3531      xy\nabc
3532     0: a
3533      *** Failers
3534    No match
3535      xyabc
3536    No match
3537    
3538    /c|abc/I
3539    Capturing subpattern count = 0
3540    No options
3541    No first char
3542    Need char = 'c'
3543    
3544    /(?i)[ab]/IS
3545    Capturing subpattern count = 0
3546    Options: caseless
3547    No first char
3548    No need char
3549    Starting byte set: A B a b
3550    
3551    /[ab](?i)cd/IS
3552    Capturing subpattern count = 0
3553    No options
3554    No first char
3555    Need char = 'd' (caseless)
3556    Starting byte set: a b
3557    
3558    /abc(?C)def/I
3559    Capturing subpattern count = 0
3560    No options
3561    First char = 'a'
3562    Need char = 'f'
3563        abcdef
3564    --->abcdef
3565      0 ^  ^       d
3566     0: abcdef
3567        1234abcdef
3568    --->1234abcdef
3569      0     ^  ^       d
3570     0: abcdef
3571        *** Failers
3572    No match
3573        abcxyz
3574    No match
3575        abcxyzf
3576    --->abcxyzf
3577      0 ^  ^        d
3578    No match
3579    
3580    /abc(?C)de(?C1)f/I
3581    Capturing subpattern count = 0
3582    No options
3583    First char = 'a'
3584    Need char = 'f'
3585        123abcdef
3586    --->123abcdef
3587      0    ^  ^       d
3588      1    ^    ^     f
3589     0: abcdef
3590    
3591    /(?C1)\dabc(?C2)def/I
3592    Capturing subpattern count = 0
3593    No options
3594    No first char
3595    Need char = 'f'
3596        1234abcdef
3597    --->1234abcdef
3598      1 ^              \d
3599      1  ^             \d
3600      1   ^            \d
3601      1    ^           \d
3602      2    ^   ^       d
3603     0: 4abcdef
3604        *** Failers
3605    No match
3606        abcdef
3607    --->abcdef
3608      1 ^          \d
3609      1  ^         \d
3610      1   ^        \d
3611      1    ^       \d
3612      1     ^      \d
3613      1      ^     \d
3614    No match
3615    
3616    /(?C255)ab/I
3617    Capturing subpattern count = 0
3618    No options
3619    First char = 'a'
3620    Need char = 'b'
3621    
3622    /(?C256)ab/I
3623    Failed: number after (?C is > 255 at offset 6
3624    
3625    /(?Cab)xx/I
3626    Failed: closing ) for (?C expected at offset 3
3627    
3628    /(?C12vr)x/I
3629    Failed: closing ) for (?C expected at offset 5
3630    
3631    /abc(?C)def/I
3632    Capturing subpattern count = 0
3633    No options
3634    First char = 'a'
3635    Need char = 'f'
3636        *** Failers
3637    No match
3638        \x83\x0\x61bcdef
3639    --->\x83\x00abcdef
3640      0         ^  ^       d
3641     0: abcdef
3642    
3643    /(abc)(?C)de(?C1)f/I
3644    Capturing subpattern count = 1
3645    No options
3646    First char = 'a'
3647    Need char = 'f'
3648        123abcdef
3649    --->123abcdef
3650      0    ^  ^       d
3651      1    ^    ^     f
3652     0: abcdef
3653     1: abc
3654        123abcdef\C+
3655    Callout 0: last capture = 1
3656     0: <unset>
3657     1: abc
3658    --->123abcdef
3659           ^  ^       d
3660    Callout 1: last capture = 1
3661     0: <unset>
3662     1: abc
3663    --->123abcdef
3664           ^    ^     f
3665     0: abcdef
3666     1: abc
3667        123abcdef\C-
3668     0: abcdef
3669     1: abc
3670        *** Failers
3671    No match
3672        123abcdef\C!1
3673    --->123abcdef
3674      0    ^  ^       d
3675      1    ^    ^     f
3676    No match
3677    
3678    /(?C0)(abc(?C1))*/I
3679    Capturing subpattern count = 1
3680    No options
3681    No first char
3682    No need char
3683        abcabcabc
3684    --->abcabcabc
3685      0 ^             (abc(?C1))*
3686      1 ^  ^          )
3687      1 ^     ^       )
3688      1 ^        ^    )
3689     0: abcabcabc
3690     1: abc
3691        abcabc\C!1!3
3692    --->abcabc
3693      0 ^          (abc(?C1))*
3694      1 ^  ^       )
3695      1 ^     ^    )
3696     0: abcabc
3697     1: abc
3698        *** Failers
3699    --->*** Failers
3700      0 ^               (abc(?C1))*
3701     0:
3702        abcabcabc\C!1!3
3703    --->abcabcabc
3704      0 ^             (abc(?C1))*
3705      1 ^  ^          )
3706      1 ^     ^       )
3707      1 ^        ^    )
3708     0: abcabc
3709     1: abc
3710    
3711    /(\d{3}(?C))*/I
3712    Capturing subpattern count = 1
3713    Partial matching not supported
3714    No options
3715    No first char
3716    No need char
3717        123\C+
3718    Callout 0: last capture = -1
3719     0: <unset>
3720    --->123
3721        ^  ^    )
3722     0: 123
3723     1: 123
3724        123456\C+
3725    Callout 0: last capture = -1
3726     0: <unset>
3727    --->123456
3728        ^  ^       )
3729    Callout 0: last capture = 1
3730     0: <unset>
3731     1: 123
3732    --->123456
3733        ^     ^    )
3734     0: 123456
3735     1: 456
3736        123456789\C+
3737    Callout 0: last capture = -1
3738     0: <unset>
3739    --->123456789
3740        ^  ^          )
3741    Callout 0: last capture = 1
3742     0: <unset>
3743     1: 123
3744    --->123456789
3745        ^     ^       )
3746    Callout 0: last capture = 1
3747     0: <unset>
3748     1: 456
3749    --->123456789
3750        ^        ^    )
3751     0: 123456789
3752     1: 789
3753    
3754    /((xyz)(?C)p|(?C1)xyzabc)/I
3755    Capturing subpattern count = 2
3756    No options
3757    First char = 'x'
3758    No need char
3759        xyzabc\C+
3760    Callout 0: last capture = 2
3761     0: <unset>
3762     1: <unset>
3763     2: xyz
3764    --->xyzabc
3765        ^  ^       p
3766    Callout 1: last capture = -1
3767     0: <unset>
3768    --->xyzabc
3769        ^          x
3770     0: xyzabc
3771     1: xyzabc
3772    
3773    /(X)((xyz)(?C)p|(?C1)xyzabc)/I
3774    Capturing subpattern count = 3
3775    No options
3776    First char = 'X'
3777    Need char = 'x'