/[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 79 by nigel, Sat Feb 24 21:40:52 2007 UTC revision 227 by ph10, Tue Aug 21 15:00:15 2007 UTC
# Line 1  Line 1 
1  PCRE version 6.1 21-Jun-2005  /(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
# 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  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  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  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  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
# Line 80  No match Line 78  No match
78      def\nabc      def\nabc
79  No match  No match
80    
81  /ab\gdef/X  /ab\idef/X
82  Failed: unrecognized character follows \ at offset 3  Failed: unrecognized character follows \ at offset 3
83    
84  /(?X)ab\gdef/X  /(?X)ab\idef/X
85  Failed: unrecognized character follows \ at offset 7  Failed: unrecognized character follows \ at offset 7
86    
87  /x{5,4}/  /x{5,4}/
# Line 113  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  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  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 137  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
# Line 148  Starting byte set: c d e Line 146  Starting byte set: c d e
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
# Line 159  Starting byte set: C D E c d e Line 157  Starting byte set: C D E c d e
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 byte set: a b c d  Starting byte set: a b c d
166    
167  /(a|[^\dZ])/S  /(a|[^\dZ])/IS
168  Capturing subpattern count = 1  Capturing subpattern count = 1
169    Contains explicit CR or LF match
170  No options  No options
171  No first char  No first char
172  No need char  No need char
# Line 186  Starting byte set: \x00 \x01 \x02 \x03 \ Line 185  Starting byte set: \x00 \x01 \x02 \x03 \
185    \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb    \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb
186    \xfc \xfd \xfe \xff    \xfc \xfd \xfe \xff
187    
188  /(a|b)*[\s]/S  /(a|b)*[\s]/IS
189  Capturing subpattern count = 1  Capturing subpattern count = 1
190  No options  No options
191  No first char  No first char
# Line 199  Failed: reference to non-existent subpat Line 198  Failed: reference to non-existent subpat
198  /{4,5}abc/  /{4,5}abc/
199  Failed: nothing to repeat at offset 4  Failed: nothing to repeat at offset 4
200    
201  /(a)(b)(c)\2/  /(a)(b)(c)\2/I
202  Capturing subpattern count = 3  Capturing subpattern count = 3
203  Max back reference = 2  Max back reference = 2
204  No options  No options
# Line 224  Matched, but too many substrings Line 223  Matched, but too many substrings
223   0: abcb   0: abcb
224   1: a   1: a
225   2: b   2: b
226      \O12abcb      \O12abcb
227   0: abcb   0: abcb
228   1: a   1: a
229   2: b   2: b
230   3: c   3: c
231    
232  /(a)bc|(a)(b)\2/  /(a)bc|(a)(b)\2/I
233  Capturing subpattern count = 3  Capturing subpattern count = 3
234  Max back reference = 2  Max back reference = 2
235  No options  No options
# Line 272  Matched, but too many substrings Line 271  Matched, but too many substrings
271   2: a   2: a
272   3: b   3: b
273    
274  /abc$/E  /abc$/IE
275  Capturing subpattern count = 0  Capturing subpattern count = 0
276  Options: dollar_endonly  Options: dollar_endonly
277  First char = 'a'  First char = 'a'
# Line 289  No match Line 288  No match
288  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
289  Failed: reference to non-existent subpattern at offset 17  Failed: reference to non-existent subpattern at offset 17
290    
291  /the quick brown fox/  /the quick brown fox/I
292  Capturing subpattern count = 0  Capturing subpattern count = 0
293  No options  No options
294  First char = 't'  First char = 't'
# Line 299  Need char = 'x' Line 298  Need char = 'x'
298      this is a line with the quick brown fox      this is a line with the quick brown fox
299   0: the quick brown fox   0: the quick brown fox
300    
301  /the quick brown fox/A  /the quick brown fox/IA
302  Capturing subpattern count = 0  Capturing subpattern count = 0
303  Options: anchored  Options: anchored
304  No first char  No first char
# Line 314  No match Line 313  No match
313  /ab(?z)cd/  /ab(?z)cd/
314  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? at offset 4
315    
316  /^abc|def/  /^abc|def/I
317  Capturing subpattern count = 0  Capturing subpattern count = 0
318  No options  No options
319  No first char  No first char
# Line 324  No need char Line 323  No need char
323      abcdef\B      abcdef\B
324   0: def   0: def
325    
326  /.*((abc)$|(def))/  /.*((abc)$|(def))/I
327  Capturing subpattern count = 3  Capturing subpattern count = 3
328  Partial matching not supported  Partial matching not supported
329  No options  No options
330  First char at start or follows \n  First char at start or follows newline
331  No need char  No need char
332      defabc      defabc
333   0: defabc   0: defabc
# Line 340  No need char Line 339  No need char
339   2: <unset>   2: <unset>
340   3: def   3: def
341    
342  /abc/P  /abc/IP
343      abc      abc
344   0: abc   0: abc
345      *** Failers      *** Failers
346  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
347    
348  /^abc|def/P  /^abc|def/IP
349      abcdef      abcdef
350   0: abc   0: abc
351      abcdef\B      abcdef\B
352   0: def   0: def
353    
354  /.*((abc)$|(def))/P  /.*((abc)$|(def))/IP
355      defabc      defabc
356   0: defabc   0: defabc
357   1: abc   1: abc
# Line 361  No match: POSIX code 17: match failed Line 360  No match: POSIX code 17: match failed
360   0: def   0: def
361   1: def   1: def
362   3: def   3: def
363    
364  /the quick brown fox/P  /the quick brown fox/IP
365      the quick brown fox      the quick brown fox
366   0: the quick brown fox   0: the quick brown fox
367      *** Failers      *** Failers
368  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
369      The Quick Brown Fox      The Quick Brown Fox
370  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
371    
372  /the quick brown fox/Pi  /the quick brown fox/IPi
373      the quick brown fox      the quick brown fox
374   0: the quick brown fox   0: the quick brown fox
375      The Quick Brown Fox      The Quick Brown Fox
376   0: The Quick Brown Fox   0: The Quick Brown Fox
377    
378  /abc.def/P  /abc.def/IP
379      *** Failers      *** Failers
380  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
381      abc\ndef      abc\ndef
382  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
383    
384  /abc$/P  /abc$/IP
385      abc      abc
386   0: abc   0: abc
387      abc\n      abc\n
388   0: abc   0: abc
389    
390  /(abc)\2/P  /(abc)\2/IP
391  Failed: POSIX code 15: bad back reference at offset 7  Failed: POSIX code 15: bad back reference at offset 7
392    
393  /(abc\1)/P  /(abc\1)/IP
394      abc      abc
395  No match: POSIX code 17: match failed  No match: POSIX code 17: match failed
396    
# Line 401  Failed: unmatched parentheses at offset Line 400  Failed: unmatched parentheses at offset
400  /a[]b/  /a[]b/
401  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
402    
403  /[^aeiou ]{3,}/  /[^aeiou ]{3,}/I
404  Capturing subpattern count = 0  Capturing subpattern count = 0
405  Partial matching not supported  Partial matching not supported
406    Contains explicit CR or LF match
407  No options  No options
408  No first char  No first char
409  No need char  No need char
410      co-processors, and for      co-processors, and for
411   0: -pr   0: -pr
412    
413  /<.*>/  /<.*>/I
414  Capturing subpattern count = 0  Capturing subpattern count = 0
415  Partial matching not supported  Partial matching not supported
416  No options  No options
# Line 419  Need char = '>' Line 419  Need char = '>'
419      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
420   0: <def>ghi<klm>   0: <def>ghi<klm>
421    
422  /<.*?>/  /<.*?>/I
423  Capturing subpattern count = 0  Capturing subpattern count = 0
424  Partial matching not supported  Partial matching not supported
425  No options  No options
# Line 428  Need char = '>' Line 428  Need char = '>'
428      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
429   0: <def>   0: <def>
430    
431  /<.*>/U  /<.*>/IU
432  Capturing subpattern count = 0  Capturing subpattern count = 0
433  Partial matching not supported  Partial matching not supported
434  Options: ungreedy  Options: ungreedy
# Line 436  First char = '<' Line 436  First char = '<'
436  Need char = '>'  Need char = '>'
437      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
438   0: <def>   0: <def>
439    
440  /(?U)<.*>/  /(?U)<.*>/I
441  Capturing subpattern count = 0  Capturing subpattern count = 0
442  Partial matching not supported  Partial matching not supported
443  Options: ungreedy  Options: ungreedy
# Line 446  Need char = '>' Line 446  Need char = '>'
446      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
447   0: <def>   0: <def>
448    
449  /<.*?>/U  /<.*?>/IU
450  Capturing subpattern count = 0  Capturing subpattern count = 0
451  Partial matching not supported  Partial matching not supported
452  Options: ungreedy  Options: ungreedy
# Line 454  First char = '<' Line 454  First char = '<'
454  Need char = '>'  Need char = '>'
455      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
456   0: <def>ghi<klm>   0: <def>ghi<klm>
457    
458  /={3,}/U  /={3,}/IU
459  Capturing subpattern count = 0  Capturing subpattern count = 0
460  Partial matching not supported  Partial matching not supported
461  Options: ungreedy  Options: ungreedy
# Line 463  First char = '=' Line 463  First char = '='
463  Need char = '='  Need char = '='
464      abc========def      abc========def
465   0: ===   0: ===
466    
467  /(?U)={3,}?/  /(?U)={3,}?/I
468  Capturing subpattern count = 0  Capturing subpattern count = 0
469  Partial matching not supported  Partial matching not supported
470  Options: ungreedy  Options: ungreedy
# Line 472  First char = '=' Line 472  First char = '='
472  Need char = '='  Need char = '='
473      abc========def      abc========def
474   0: ========   0: ========
475    
476  /(?<!bar|cattle)foo/  /(?<!bar|cattle)foo/I
477  Capturing subpattern count = 0  Capturing subpattern count = 0
478  No options  No options
479  First char = 'f'  First char = 'f'
480  Need char = 'o'  Need char = 'o'
481      foo      foo
482   0: foo   0: foo
483      catfoo      catfoo
484   0: foo   0: foo
485      *** Failers      *** Failers
486  No match  No match
487      the barfoo      the barfoo
488  No match  No match
489      and cattlefoo      and cattlefoo
490  No match  No match
491    
492  /(?<=a+)b/  /(?<=a+)b/
# Line 498  Failed: lookbehind assertion is not fixe Line 498  Failed: lookbehind assertion is not fixe
498  /(?<!(foo)a\1)bar/  /(?<!(foo)a\1)bar/
499  Failed: lookbehind assertion is not fixed length at offset 12  Failed: lookbehind assertion is not fixed length at offset 12
500    
501  /(?i)abc/  /(?i)abc/I
502  Capturing subpattern count = 0  Capturing subpattern count = 0
503  Options: caseless  Options: caseless
504  First char = 'a' (caseless)  First char = 'a' (caseless)
505  Need char = 'c' (caseless)  Need char = 'c' (caseless)
506    
507  /(a|(?m)a)/  /(a|(?m)a)/I
508  Capturing subpattern count = 1  Capturing subpattern count = 1
509  No options  No options
510  First char = 'a'  First char = 'a'
511  No need char  No need char
512    
513  /(?i)^1234/  /(?i)^1234/I
514  Capturing subpattern count = 0  Capturing subpattern count = 0
515  Options: anchored caseless  Options: anchored caseless
516  No first char  No first char
517  No need char  No need char
518    
519  /(^b|(?i)^d)/  /(^b|(?i)^d)/I
520  Capturing subpattern count = 1  Capturing subpattern count = 1
521  Options: anchored  Options: anchored
 Case state changes  
522  No first char  No first char
523  No need char  No need char
524    
525  /(?s).*/  /(?s).*/I
526  Capturing subpattern count = 0  Capturing subpattern count = 0
527  Partial matching not supported  Partial matching not supported
528  Options: anchored dotall  Options: anchored dotall
529  No first char  No first char
530  No need char  No need char
531    
532  /[abcd]/S  /[abcd]/IS
533  Capturing subpattern count = 0  Capturing subpattern count = 0
534  No options  No options
535  No first char  No first char
536  No need char  No need char
537  Starting byte set: a b c d  Starting byte set: a b c d
538    
539  /(?i)[abcd]/S  /(?i)[abcd]/IS
540  Capturing subpattern count = 0  Capturing subpattern count = 0
541  Options: caseless  Options: caseless
542  No first char  No first char
543  No need char  No need char
544  Starting byte set: A B C D a b c d  Starting byte set: A B C D a b c d
545    
546  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/IS
547  Capturing subpattern count = 1  Capturing subpattern count = 1
548  Options: multiline  Options: multiline
549  No first char  No first char
550  No need char  No need char
551  Starting byte set: b c x y  Starting byte set: b c x y
552    
553  /(^a|^b)/m  /(^a|^b)/Im
554  Capturing subpattern count = 1  Capturing subpattern count = 1
555  Options: multiline  Options: multiline
556  First char at start or follows \n  First char at start or follows newline
557  No need char  No need char
558    
559  /(?i)(^a|^b)/m  /(?i)(^a|^b)/Im
560  Capturing subpattern count = 1  Capturing subpattern count = 1
561  Options: caseless multiline  Options: caseless multiline
562  First char at start or follows \n  First char at start or follows newline
563  No need char  No need char
564    
565  /(a)(?(1)a|b|c)/  /(a)(?(1)a|b|c)/
# Line 570  Failed: conditional group contains more Line 569  Failed: conditional group contains more
569  Failed: conditional group contains more than two branches at offset 12  Failed: conditional group contains more than two branches at offset 12
570    
571  /(?(1a)/  /(?(1a)/
572  Failed: malformed number after (?( at offset 4  Failed: missing ) at offset 6
573    
574    /(?(1a))/
575    Failed: reference to non-existent subpattern at offset 6
576    
577  /(?(?i))/  /(?(?i))/
578  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
579    
580  /(?(abc))/  /(?(abc))/
581  Failed: assertion expected after (?( at offset 3  Failed: reference to non-existent subpattern at offset 7
582    
583  /(?(?<ab))/  /(?(?<ab))/
584  Failed: unrecognized character after (?< at offset 5  Failed: syntax error in subpattern name (missing terminator) at offset 7
585    
586  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/I
587  Capturing subpattern count = 1  Capturing subpattern count = 1
588  Max back reference = 1  Max back reference = 1
589  Partial matching not supported  Partial matching not supported
# Line 589  No options Line 591  No options
591  First char = 'b'  First char = 'b'
592  Need char = 'h'  Need char = 'h'
593    
594  /((?i)blah)\s+\1/  /((?i)blah)\s+\1/I
595  Capturing subpattern count = 1  Capturing subpattern count = 1
596  Max back reference = 1  Max back reference = 1
597  Partial matching not supported  Partial matching not supported
598  No options  No options
 Case state changes  
599  First char = 'b' (caseless)  First char = 'b' (caseless)
600  Need char = 'h' (caseless)  Need char = 'h' (caseless)
601    
602  /((?i)b)/DS  /((?i)b)/IDZS
603  ------------------------------------------------------------------  ------------------------------------------------------------------
604    0  15 Bra 0          Bra
605    3   7 Bra 1          CBra 1
606    6  01 Opt       01 Opt
607    8  NC b       NC b
608   10   7 Ket          Ket
609   13  00 Opt       00 Opt
610   15  15 Ket          Ket
611   18     End          End
612  ------------------------------------------------------------------  ------------------------------------------------------------------
613  Capturing subpattern count = 1  Capturing subpattern count = 1
614  No options  No options
 Case state changes  
615  First char = 'b' (caseless)  First char = 'b' (caseless)
616  No need char  No need char
617  Study returned NULL  Study returned NULL
618    
619  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/IS
620  Capturing subpattern count = 1  Capturing subpattern count = 1
621  Partial matching not supported  Partial matching not supported
622  No options  No options
 Case state changes  
623  No first char  No first char
624  No need char  No need char
625  Starting byte set: C a b c d  Starting byte set: C a b c d
626    
627  /a$/  /a$/I
628  Capturing subpattern count = 0  Capturing subpattern count = 0
629  No options  No options
630  First char = 'a'  First char = 'a'
# Line 634  No need char Line 633  No need char
633   0: a   0: a
634      a\n      a\n
635   0: a   0: a
636      *** Failers      *** Failers
637  No match  No match
638      \Za      \Za
639  No match  No match
640      \Za\n      \Za\n
641  No match  No match
642    
643  /a$/m  /a$/Im
644  Capturing subpattern count = 0  Capturing subpattern count = 0
645  Options: multiline  Options: multiline
646  First char = 'a'  First char = 'a'
# Line 650  No need char Line 649  No need char
649   0: a   0: a
650      a\n      a\n
651   0: a   0: a
652      \Za\n      \Za\n
653   0: a   0: a
654      *** Failers      *** Failers
655  No match  No match
656      \Za      \Za
657  No match  No match
658    
659  /\Aabc/m  /\Aabc/Im
660  Capturing subpattern count = 0  Capturing subpattern count = 0
661  Options: anchored multiline  Options: anchored multiline
662  No first char  No first char
663  No need char  No need char
664    
665  /^abc/m  /^abc/Im
666  Capturing subpattern count = 0  Capturing subpattern count = 0
667  Options: multiline  Options: multiline
668  First char at start or follows \n  First char at start or follows newline
669  Need char = 'c'  Need char = 'c'
670    
671  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
672  Capturing subpattern count = 5  Capturing subpattern count = 5
673  Partial matching not supported  Partial matching not supported
674  Options: anchored  Options: anchored
# Line 683  No need char Line 682  No need char
682   4: bbbbccccc   4: bbbbccccc
683   5: def   5: def
684    
685  /(?<=foo)[ab]/S  /(?<=foo)[ab]/IS
686  Capturing subpattern count = 0  Capturing subpattern count = 0
687  No options  No options
688  No first char  No first char
689  No need char  No need char
690  Starting byte set: a b  Starting byte set: a b
691    
692  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/IS
693  Capturing subpattern count = 1  Capturing subpattern count = 1
694  No options  No options
695  No first char  No first char
696  Need char = 'a'  Need char = 'a'
697  Starting byte set: a o  Starting byte set: a o
698    
699  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/IS
700  Capturing subpattern count = 0  Capturing subpattern count = 0
701  No options  No options
702  No first char  No first char
703  No need char  No need char
704  Starting byte set: a b  Starting byte set: a b
705    
706  /(?<=foo\n)^bar/m  /(?<=foo\n)^bar/Im
707  Capturing subpattern count = 0  Capturing subpattern count = 0
708    Contains explicit CR or LF match
709  Options: multiline  Options: multiline
710  No first char  No first char
711  Need char = 'r'  Need char = 'r'
712      foo\nbarbar      foo\nbarbar
713   0: bar   0: bar
714      ***Failers      ***Failers
715  No match  No match
716      rhubarb      rhubarb
717  No match  No match
718      barbell      barbell
719  No match  No match
720      abc\nbarton      abc\nbarton
721  No match  No match
722    
723  /^(?<=foo\n)bar/m  /^(?<=foo\n)bar/Im
724  Capturing subpattern count = 0  Capturing subpattern count = 0
725    Contains explicit CR or LF match
726  Options: multiline  Options: multiline
727  First char at start or follows \n  First char at start or follows newline
728  Need char = 'r'  Need char = 'r'
729      foo\nbarbar      foo\nbarbar
730   0: bar   0: bar
731      ***Failers      ***Failers
732  No match  No match
733      rhubarb      rhubarb
734  No match  No match
735      barbell      barbell
736  No match  No match
737      abc\nbarton      abc\nbarton
738  No match  No match
739    
740  /(?>^abc)/m  /(?>^abc)/Im
741  Capturing subpattern count = 0  Capturing subpattern count = 0
742  Options: multiline  Options: multiline
743  First char at start or follows \n  First char at start or follows newline
744  Need char = 'c'  Need char = 'c'
745      abc      abc
746   0: abc   0: abc
# Line 747  Need char = 'c' Line 748  Need char = 'c'
748   0: abc   0: abc
749      *** Failers      *** Failers
750  No match  No match
751      defabc      defabc
752  No match  No match
753    
754  /(?<=ab(c+)d)ef/  /(?<=ab(c+)d)ef/
# Line 760  Failed: lookbehind assertion is not fixe Line 761  Failed: lookbehind assertion is not fixe
761  Failed: lookbehind assertion is not fixed length at offset 13  Failed: lookbehind assertion is not fixed length at offset 13
762    
763  /The next three are in testinput2 because they have variable length branches/  /The next three are in testinput2 because they have variable length branches/
 Capturing subpattern count = 0  
 No options  
 First char = 'T'  
 Need char = 's'  
764    
765  /(?<=bullock|donkey)-cart/  /(?<=bullock|donkey)-cart/I
766  Capturing subpattern count = 0  Capturing subpattern count = 0
767  No options  No options
768  First char = '-'  First char = '-'
# Line 778  Need char = 't' Line 775  Need char = 't'
775  No match  No match
776      cart      cart
777  No match  No match
778      horse-and-cart      horse-and-cart
779  No match  No match
780    
781  /(?<=ab(?i)x|y|z)/  /(?<=ab(?i)x|y|z)/I
782  Capturing subpattern count = 0  Capturing subpattern count = 0
783  No options  No options
 Case state changes  
784  No first char  No first char
785  No need char  No need char
786    
787  /(?>.*)(?<=(abcd)|(xyz))/  /(?>.*)(?<=(abcd)|(xyz))/I
788  Capturing subpattern count = 2  Capturing subpattern count = 2
789  Partial matching not supported  Partial matching not supported
790  No options  No options
791  First char at start or follows \n  First char at start or follows newline
792  No need char  No need char
793      alphabetabcd      alphabetabcd
794   0: alphabetabcd   0: alphabetabcd
# Line 802  No need char Line 798  No need char
798   1: <unset>   1: <unset>
799   2: xyz   2: xyz
800    
801  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/  /(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
802  Capturing subpattern count = 0  Capturing subpattern count = 0
803  No options  No options
 Case state changes  
804  First char = 'Z'  First char = 'Z'
805  Need char = 'Z'  Need char = 'Z'
806      abxyZZ      abxyZZ
# Line 818  Need char = 'Z' Line 813  Need char = 'Z'
813   0: ZZ   0: ZZ
814      bZZ      bZZ
815   0: ZZ   0: ZZ
816      BZZ      BZZ
817   0: ZZ   0: ZZ
818      *** Failers      *** Failers
819  No match  No match
820      ZZ      ZZ
821  No match  No match
822      abXYZZ      abXYZZ
823  No match  No match
824      zzz      zzz
825  No match  No match
826      bzz      bzz
827  No match  No match
828    
829  /(?<!(foo)a)bar/  /(?<!(foo)a)bar/I
830  Capturing subpattern count = 1  Capturing subpattern count = 1
831  No options  No options
832  First char = 'b'  First char = 'b'
833  Need char = 'r'  Need char = 'r'
834      bar      bar
835   0: bar   0: bar
836      foobbar      foobbar
837   0: bar   0: bar
838      *** Failers      *** Failers
839  No match  No match
840      fooabar      fooabar
841  No match  No match
842    
843  /This one is here because Perl 5.005_02 doesn't fail it/  /This one is here because Perl 5.005_02 doesn't fail it/I
844  Capturing subpattern count = 0  Capturing subpattern count = 0
845  No options  No options
846  First char = 'T'  First char = 'T'
847  Need char = 't'  Need char = 't'
848    
849  /^(a)?(?(1)a|b)+$/  /^(a)?(?(1)a|b)+$/I
850  Capturing subpattern count = 1  Capturing subpattern count = 1
851  Options: anchored  Options: anchored
852  No first char  No first char
853  No need char  No need char
854      *** Failers      *** Failers
855  No match  No match
856      a      a
857  No match  No match
858    
859  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/  /This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I
860  Capturing subpattern count = 0  Capturing subpattern count = 0
861  No options  No options
862  First char = 'T'  First char = 'T'
863  Need char = 'g'  Need char = 'g'
864    
865  /^(a\1?){4}$/  /^(a\1?){4}$/I
866  Capturing subpattern count = 1  Capturing subpattern count = 1
867  Max back reference = 1  Max back reference = 1
868  Options: anchored  Options: anchored
# Line 876  No need char Line 871  No need char
871      aaaaaa      aaaaaa
872   0: aaaaaa   0: aaaaaa
873   1: aa   1: aa
874    
875  /These are syntax tests from Perl 5.005/  /These are syntax tests from Perl 5.005/I
876  Capturing subpattern count = 0  Capturing subpattern count = 0
877  No options  No options
878  First char = 'T'  First char = 'T'
# Line 919  Failed: reference to non-existent subpat Line 914  Failed: reference to non-existent subpat
914  /(a)|\2/  /(a)|\2/
915  Failed: reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
916    
917  /a[b-a]/i  /a[b-a]/Ii
918  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
919    
920  /a[]b/i  /a[]b/Ii
921  Failed: missing terminating ] for character class at offset 4  Failed: missing terminating ] for character class at offset 4
922    
923  /a[/i  /a[/Ii
924  Failed: missing terminating ] for character class at offset 2  Failed: missing terminating ] for character class at offset 2
925    
926  /*a/i  /*a/Ii
927  Failed: nothing to repeat at offset 0  Failed: nothing to repeat at offset 0
928    
929  /(*)b/i  /(*)b/Ii
930  Failed: nothing to repeat at offset 1  Failed: nothing to repeat at offset 1
931    
932  /abc)/i  /abc)/Ii
933  Failed: unmatched parentheses at offset 3  Failed: unmatched parentheses at offset 3
934    
935  /(abc/i  /(abc/Ii
936  Failed: missing ) at offset 4  Failed: missing ) at offset 4
937    
938  /a**/i  /a**/Ii
939  Failed: nothing to repeat at offset 2  Failed: nothing to repeat at offset 2
940    
941  /)(/i  /)(/Ii
942  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
943    
944  /:(?:/  /:(?:/
# Line 968  Failed: unrecognized character after (? Line 963  Failed: unrecognized character after (?
963  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
964    
965  /(?(1?)a|b)/  /(?(1?)a|b)/
966  Failed: malformed number after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
967    
968  /(?(1)a|b|c)/  /(?(1)a|b|c)/
969  Failed: conditional group contains more than two branches at offset 10  Failed: conditional group contains more than two branches at offset 10
# Line 991  Failed: POSIX code 9: bad escape sequenc Line 986  Failed: POSIX code 9: bad escape sequenc
986  /abc/\i  /abc/\i
987  Failed: \ at end of pattern at offset 4  Failed: \ at end of pattern at offset 4
988    
989  /(a)bc(d)/  /(a)bc(d)/I
990  Capturing subpattern count = 2  Capturing subpattern count = 2
991  No options  No options
992  First char = 'a'  First char = 'a'
# Line 1010  Need char = 'd' Line 1005  Need char = 'd'
1005   1: a   1: a
1006   2: d   2: d
1007  copy substring 5 failed -7  copy substring 5 failed -7
1008    
1009  /(.{20})/  /(.{20})/I
1010  Capturing subpattern count = 1  Capturing subpattern count = 1
1011  Partial matching not supported  Partial matching not supported
1012  No options  No options
# Line 1023  No need char Line 1018  No need char
1018      abcdefghijklmnopqrstuvwxyz\C1      abcdefghijklmnopqrstuvwxyz\C1
1019   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1020   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1021  copy substring 1 failed -6   1C abcdefghijklmnopqrst (20)
1022      abcdefghijklmnopqrstuvwxyz\G1      abcdefghijklmnopqrstuvwxyz\G1
1023   0: abcdefghijklmnopqrst   0: abcdefghijklmnopqrst
1024   1: abcdefghijklmnopqrst   1: abcdefghijklmnopqrst
1025   1G abcdefghijklmnopqrst (20)   1G abcdefghijklmnopqrst (20)
1026    
1027  /(.{15})/  /(.{15})/I
1028  Capturing subpattern count = 1  Capturing subpattern count = 1
1029  Partial matching not supported  Partial matching not supported
1030  No options  No options
# Line 1044  No need char Line 1039  No need char
1039   1C abcdefghijklmno (15)   1C abcdefghijklmno (15)
1040   1G abcdefghijklmno (15)   1G abcdefghijklmno (15)
1041    
1042  /(.{16})/  /(.{16})/I
1043  Capturing subpattern count = 1  Capturing subpattern count = 1
1044  Partial matching not supported  Partial matching not supported
1045  No options  No options
# Line 1056  No need char Line 1051  No need char
1051      abcdefghijklmnopqrstuvwxyz\C1\G1\L      abcdefghijklmnopqrstuvwxyz\C1\G1\L
1052   0: abcdefghijklmnop   0: abcdefghijklmnop
1053   1: abcdefghijklmnop   1: abcdefghijklmnop
1054  copy substring 1 failed -6   1C abcdefghijklmnop (16)
1055   1G abcdefghijklmnop (16)   1G abcdefghijklmnop (16)
1056   0L abcdefghijklmnop   0L abcdefghijklmnop
1057   1L abcdefghijklmnop   1L abcdefghijklmnop
1058    
1059  /^(a|(bc))de(f)/  /^(a|(bc))de(f)/I
1060  Capturing subpattern count = 3  Capturing subpattern count = 3
1061  Options: anchored  Options: anchored
1062  No first char  No first char
1063  No need char  No need char
1064      adef\G1\G2\G3\G4\L      adef\G1\G2\G3\G4\L
1065   0: adef   0: adef
1066   1: a   1: a
1067   2: <unset>   2: <unset>
# Line 1079  get substring 4 failed -7 Line 1074  get substring 4 failed -7
1074   1L a   1L a
1075   2L   2L
1076   3L f   3L f
1077      bcdef\G1\G2\G3\G4\L      bcdef\G1\G2\G3\G4\L
1078   0: bcdef   0: bcdef
1079   1: bc   1: bc
1080   2: bc   2: bc
# Line 1092  get substring 4 failed -7 Line 1087  get substring 4 failed -7
1087   1L bc   1L bc
1088   2L bc   2L bc
1089   3L f   3L f
1090      adefghijk\C0      adefghijk\C0
1091   0: adef   0: adef
1092   1: a   1: a
1093   2: <unset>   2: <unset>
1094   3: f   3: f
1095   0C adef (4)   0C adef (4)
1096    
1097  /^abc\00def/  /^abc\00def/I
1098  Capturing subpattern count = 0  Capturing subpattern count = 0
1099  Options: anchored  Options: anchored
1100  No first char  No first char
1101  No need char  No need char
1102      abc\00def\L\C0      abc\00def\L\C0
1103   0: abc\x00def   0: abc\x00def
1104   0C abc (7)   0C abc (7)
1105   0L abc   0L abc
1106    
1107  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  /word ((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1108  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+  )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+
1109  )?)?)?)?)?)?)?)?)?otherword/M  )?)?)?)?)?)?)?)?)?otherword/I
 Memory allocation (code space): 432  
1110  Capturing subpattern count = 8  Capturing subpattern count = 8
1111  Partial matching not supported  Partial matching not supported
1112    Contains explicit CR or LF match
1113  No options  No options
1114  First char = 'w'  First char = 'w'
1115  Need char = 'd'  Need char = 'd'
1116    
1117  /.*X/D  /.*X/IDZ
1118  ------------------------------------------------------------------  ------------------------------------------------------------------
1119    0   7 Bra 0          Bra
1120    3     Any*          Any*
1121    5     X          X
1122    7   7 Ket          Ket
1123   10     End          End
1124  ------------------------------------------------------------------  ------------------------------------------------------------------
1125  Capturing subpattern count = 0  Capturing subpattern count = 0
1126  Partial matching not supported  Partial matching not supported
1127  No options  No options
1128  First char at start or follows \n  First char at start or follows newline
1129  Need char = 'X'  Need char = 'X'
1130    
1131  /.*X/Ds  /.*X/IDZs
1132  ------------------------------------------------------------------  ------------------------------------------------------------------
1133    0   7 Bra 0          Bra
1134    3     Any*          Any*
1135    5     X          X
1136    7   7 Ket          Ket
1137   10     End          End
1138  ------------------------------------------------------------------  ------------------------------------------------------------------
1139  Capturing subpattern count = 0  Capturing subpattern count = 0
1140  Partial matching not supported  Partial matching not supported
# Line 1147  Options: anchored dotall Line 1142  Options: anchored dotall
1142  No first char  No first char
1143  Need char = 'X'  Need char = 'X'
1144    
1145  /(.*X|^B)/D  /(.*X|^B)/IDZ
1146  ------------------------------------------------------------------  ------------------------------------------------------------------
1147    0  19 Bra 0          Bra
1148    3   7 Bra 1          CBra 1
1149    6     Any*          Any*
1150    8     X          X
1151   10   6 Alt          Alt
1152   13     ^          ^
1153   14     B          B
1154   16  13 Ket          Ket
1155   19  19 Ket          Ket
1156   22     End          End
1157  ------------------------------------------------------------------  ------------------------------------------------------------------
1158  Capturing subpattern count = 1  Capturing subpattern count = 1
1159  Partial matching not supported  Partial matching not supported
1160  No options  No options
1161  First char at start or follows \n  First char at start or follows newline
1162  No need char  No need char
1163    
1164  /(.*X|^B)/Ds  /(.*X|^B)/IDZs
1165  ------------------------------------------------------------------  ------------------------------------------------------------------
1166    0  19 Bra 0          Bra
1167    3   7 Bra 1          CBra 1
1168    6     Any*          Any*
1169    8     X          X
1170   10   6 Alt          Alt
1171   13     ^          ^
1172   14     B          B
1173   16  13 Ket          Ket
1174   19  19 Ket          Ket
1175   22     End          End
1176  ------------------------------------------------------------------  ------------------------------------------------------------------
1177  Capturing subpattern count = 1  Capturing subpattern count = 1
1178  Partial matching not supported  Partial matching not supported
1179  Options: anchored dotall  Options: anchored dotall
1180  No first char  No first char
1181  No need char  No need char
1182    
1183  /(?s)(.*X|^B)/D  /(?s)(.*X|^B)/IDZ
1184  ------------------------------------------------------------------  ------------------------------------------------------------------
1185    0  19 Bra 0          Bra
1186    3   7 Bra 1          CBra 1
1187    6     Any*          Any*
1188    8     X          X
1189   10   6 Alt          Alt
1190   13     ^          ^
1191   14     B          B
1192   16  13 Ket          Ket
1193   19  19 Ket          Ket
1194   22     End          End
1195  ------------------------------------------------------------------  ------------------------------------------------------------------
1196  Capturing subpattern count = 1  Capturing subpattern count = 1
1197  Partial matching not supported  Partial matching not supported
# Line 1204  Options: anchored dotall Line 1199  Options: anchored dotall
1199  No first char  No first char
1200  No need char  No need char
1201    
1202  /(?s:.*X|^B)/D  /(?s:.*X|^B)/IDZ
1203  ------------------------------------------------------------------  ------------------------------------------------------------------
1204    0  25 Bra 0          Bra
1205    3   9 Bra 0          Bra
1206    6  04 Opt       04 Opt
1207    8     Any*          Any*
1208   10     X          X
1209   12   8 Alt          Alt
1210   15  04 Opt       04 Opt
1211   17     ^          ^
1212   18     B          B
1213   20  17 Ket          Ket
1214   23  00 Opt       00 Opt
1215   25  25 Ket          Ket
1216   28     End          End
1217  ------------------------------------------------------------------  ------------------------------------------------------------------
1218  Capturing subpattern count = 0  Capturing subpattern count = 0
1219  Partial matching not supported  Partial matching not supported
1220  No options  No options
1221  First char at start or follows \n  First char at start or follows newline
1222  No need char  No need char
1223    
1224  /\Biss\B/+  /\Biss\B/I+
1225  Capturing subpattern count = 0  Capturing subpattern count = 0
1226  No options  No options
1227  First char = 'i'  First char = 'i'
# Line 1235  Need char = 's' Line 1230  Need char = 's'
1230   0: iss   0: iss
1231   0+ issippi   0+ issippi
1232    
1233  /\Biss\B/+P  /\Biss\B/I+P
1234      Mississippi      Mississippi
1235   0: iss   0: iss
1236   0+ issippi   0+ issippi
1237    
1238  /iss/G+  /iss/IG+
1239  Capturing subpattern count = 0  Capturing subpattern count = 0
1240  No options  No options
1241  First char = 'i'  First char = 'i'
# Line 1251  Need char = 's' Line 1246  Need char = 's'
1246   0: iss   0: iss
1247   0+ ippi   0+ ippi
1248    
1249  /\Biss\B/G+  /\Biss\B/IG+
1250  Capturing subpattern count = 0  Capturing subpattern count = 0
1251  No options  No options
1252  First char = 'i'  First char = 'i'
# Line 1260  Need char = 's' Line 1255  Need char = 's'
1255   0: iss   0: iss
1256   0+ issippi   0+ issippi
1257    
1258  /\Biss\B/g+  /\Biss\B/Ig+
1259  Capturing subpattern count = 0  Capturing subpattern count = 0
1260  No options  No options
1261  First char = 'i'  First char = 'i'
# Line 1275  No match Line 1270  No match
1270      Mississippi\A      Mississippi\A
1271  No match  No match
1272    
1273  /(?<=[Ms])iss/g+  /(?<=[Ms])iss/Ig+
1274  Capturing subpattern count = 0  Capturing subpattern count = 0
1275  No options  No options
1276  First char = 'i'  First char = 'i'
# Line 1286  Need char = 's' Line 1281  Need char = 's'
1281   0: iss   0: iss
1282   0+ ippi   0+ ippi
1283    
1284  /(?<=[Ms])iss/G+  /(?<=[Ms])iss/IG+
1285  Capturing subpattern count = 0  Capturing subpattern count = 0
1286  No options  No options
1287  First char = 'i'  First char = 'i'
# Line 1295  Need char = 's' Line 1290  Need char = 's'
1290   0: iss   0: iss
1291   0+ issippi   0+ issippi
1292    
1293  /^iss/g+  /^iss/Ig+
1294  Capturing subpattern count = 0  Capturing subpattern count = 0
1295  Options: anchored  Options: anchored
1296  No first char  No first char
# Line 1303  No need char Line 1298  No need char
1298      ississippi      ississippi
1299   0: iss   0: iss
1300   0+ issippi   0+ issippi
1301    
1302  /.*iss/g+  /.*iss/Ig+
1303  Capturing subpattern count = 0  Capturing subpattern count = 0
1304  Partial matching not supported  Partial matching not supported
1305  No options  No options
1306  First char at start or follows \n  First char at start or follows newline
1307  Need char = 's'  Need char = 's'
1308      abciss\nxyzisspqr      abciss\nxyzisspqr
1309   0: abciss   0: abciss
1310   0+ \x0axyzisspqr   0+ \x0axyzisspqr
1311   0: xyziss   0: xyziss
1312   0+ pqr   0+ pqr
1313    
1314  /.i./+g  /.i./I+g
1315  Capturing subpattern count = 0  Capturing subpattern count = 0
1316  No options  No options
1317  No first char  No first char
# Line 1342  Need char = 'i' Line 1337  Need char = 'i'
1337   0+ river   0+ river
1338   0: riv   0: riv
1339   0+ er   0+ er
1340      Missouri river\A      Missouri river\A
1341   0: Mis   0: Mis
1342   0+ souri river   0+ souri river
1343    
1344  /^.is/+g  /^.is/I+g
1345  Capturing subpattern count = 0  Capturing subpattern count = 0
1346  Options: anchored  Options: anchored
1347  No first char  No first char
# Line 1355  No need char Line 1350  No need char
1350   0: Mis   0: Mis
1351   0+ sissippi   0+ sissippi
1352    
1353  /^ab\n/g+  /^ab\n/Ig+
1354  Capturing subpattern count = 0  Capturing subpattern count = 0
1355    Contains explicit CR or LF match
1356  Options: anchored  Options: anchored
1357  No first char  No first char
1358  No need char  No need char
# Line 1364  No need char Line 1360  No need char
1360   0: ab\x0a   0: ab\x0a
1361   0+ ab\x0acd   0+ ab\x0acd
1362    
1363  /^ab\n/mg+  /^ab\n/Img+
1364  Capturing subpattern count = 0  Capturing subpattern count = 0
1365    Contains explicit CR or LF match
1366  Options: multiline  Options: multiline
1367  First char at start or follows \n  First char at start or follows newline
1368  Need char = 10  Need char = 10
1369      ab\nab\ncd      ab\nab\ncd
1370   0: ab\x0a   0: ab\x0a
# Line 1375  Need char = 10 Line 1372  Need char = 10
1372   0: ab\x0a   0: ab\x0a
1373   0+ cd   0+ cd
1374    
1375  /abc/  /abc/I
1376  Capturing subpattern count = 0  Capturing subpattern count = 0
1377  No options  No options
1378  First char = 'a'  First char = 'a'
1379  Need char = 'c'  Need char = 'c'
1380    
1381  /abc|bac/  /abc|bac/I
1382  Capturing subpattern count = 0  Capturing subpattern count = 0
1383  No options  No options
1384  No first char  No first char
1385  Need char = 'c'  Need char = 'c'
1386    
1387  /(abc|bac)/  /(abc|bac)/I
1388  Capturing subpattern count = 1  Capturing subpattern count = 1
1389  No options  No options
1390  No first char  No first char
1391  Need char = 'c'  Need char = 'c'
1392    
1393  /(abc|(c|dc))/  /(abc|(c|dc))/I
1394  Capturing subpattern count = 2  Capturing subpattern count = 2
1395  No options  No options
1396  No first char  No first char
1397  Need char = 'c'  Need char = 'c'
1398    
1399  /(abc|(d|de)c)/  /(abc|(d|de)c)/I
1400  Capturing subpattern count = 2  Capturing subpattern count = 2
1401  No options  No options
1402  No first char  No first char
1403  Need char = 'c'  Need char = 'c'
1404    
1405  /a*/  /a*/I
1406  Capturing subpattern count = 0  Capturing subpattern count = 0
1407  Partial matching not supported  Partial matching not supported
1408  No options  No options
1409  No first char  No first char
1410  No need char  No need char
1411    
1412  /a+/  /a+/I
1413  Capturing subpattern count = 0  Capturing subpattern count = 0
1414  Partial matching not supported  Partial matching not supported
1415  No options  No options
1416  First char = 'a'  First char = 'a'
1417  No need char  No need char
1418    
1419  /(baa|a+)/  /(baa|a+)/I
1420  Capturing subpattern count = 1  Capturing subpattern count = 1
1421  Partial matching not supported  Partial matching not supported
1422  No options  No options
1423  No first char  No first char
1424  Need char = 'a'  Need char = 'a'
1425    
1426  /a{0,3}/  /a{0,3}/I
1427  Capturing subpattern count = 0  Capturing subpattern count = 0
1428  Partial matching not supported  Partial matching not supported
1429  No options  No options
1430  No first char  No first char
1431  No need char  No need char
1432    
1433  /baa{3,}/  /baa{3,}/I
1434  Capturing subpattern count = 0  Capturing subpattern count = 0
1435  Partial matching not supported  Partial matching not supported
1436  No options  No options
1437  First char = 'b'  First char = 'b'
1438  Need char = 'a'  Need char = 'a'
1439    
1440  /"([^\\"]+|\\.)*"/  /"([^\\"]+|\\.)*"/I
1441  Capturing subpattern count = 1  Capturing subpattern count = 1
1442  Partial matching not supported  Partial matching not supported
1443    Contains explicit CR or LF match
1444  No options  No options
1445  First char = '"'  First char = '"'
1446  Need char = '"'  Need char = '"'
1447    
1448  /(abc|ab[cd])/  /(abc|ab[cd])/I
1449  Capturing subpattern count = 1  Capturing subpattern count = 1
1450  No options  No options
1451  First char = 'a'  First char = 'a'
1452  No need char  No need char
1453    
1454  /(a|.)/  /(a|.)/I
1455  Capturing subpattern count = 1  Capturing subpattern count = 1
1456  No options  No options
1457  No first char  No first char
1458  No need char  No need char
1459    
1460  /a|ba|\w/  /a|ba|\w/I
1461  Capturing subpattern count = 0  Capturing subpattern count = 0
1462  No options  No options
1463  No first char  No first char
1464  No need char  No need char
1465    
1466  /abc(?=pqr)/  /abc(?=pqr)/I
1467  Capturing subpattern count = 0  Capturing subpattern count = 0
1468  No options  No options
1469  First char = 'a'  First char = 'a'
1470  Need char = 'r'  Need char = 'r'
1471    
1472  /...(?<=abc)/  /...(?<=abc)/I
1473  Capturing subpattern count = 0  Capturing subpattern count = 0
1474  No options  No options
1475  No first char  No first char
1476  No need char  No need char
1477    
1478  /abc(?!pqr)/  /abc(?!pqr)/I
1479  Capturing subpattern count = 0  Capturing subpattern count = 0
1480  No options  No options
1481  First char = 'a'  First char = 'a'
1482  Need char = 'c'  Need char = 'c'
1483    
1484  /ab./  /ab./I
1485  Capturing subpattern count = 0  Capturing subpattern count = 0
1486  No options  No options
1487  First char = 'a'  First char = 'a'
1488  Need char = 'b'  Need char = 'b'
1489    
1490  /ab[xyz]/  /ab[xyz]/I
1491  Capturing subpattern count = 0  Capturing subpattern count = 0
1492  No options  No options
1493  First char = 'a'  First char = 'a'
1494  Need char = 'b'  Need char = 'b'
1495    
1496  /abc*/  /abc*/I
1497  Capturing subpattern count = 0  Capturing subpattern count = 0
1498  Partial matching not supported  Partial matching not supported
1499  No options  No options
1500  First char = 'a'  First char = 'a'
1501  Need char = 'b'  Need char = 'b'
1502    
1503  /ab.c*/  /ab.c*/I
1504  Capturing subpattern count = 0  Capturing subpattern count = 0
1505  Partial matching not supported  Partial matching not supported
1506  No options  No options
1507  First char = 'a'  First char = 'a'
1508  Need char = 'b'  Need char = 'b'
1509    
1510  /a.c*/  /a.c*/I
1511  Capturing subpattern count = 0  Capturing subpattern count = 0
1512  Partial matching not supported  Partial matching not supported
1513  No options  No options
1514  First char = 'a'  First char = 'a'
1515  No need char  No need char
1516    
1517  /.c*/  /.c*/I
1518  Capturing subpattern count = 0  Capturing subpattern count = 0
1519  Partial matching not supported  Partial matching not supported
1520  No options  No options
1521  No first char  No first char
1522  No need char  No need char
1523    
1524  /ac*/  /ac*/I
1525  Capturing subpattern count = 0  Capturing subpattern count = 0
1526  Partial matching not supported  Partial matching not supported
1527  No options  No options
1528  First char = 'a'  First char = 'a'
1529  No need char  No need char
1530    
1531  /(a.c*|b.c*)/  /(a.c*|b.c*)/I
1532  Capturing subpattern count = 1  Capturing subpattern count = 1
1533  Partial matching not supported  Partial matching not supported
1534  No options  No options
1535  No first char  No first char
1536  No need char  No need char
1537    
1538  /a.c*|aba/  /a.c*|aba/I
1539  Capturing subpattern count = 0  Capturing subpattern count = 0
1540  Partial matching not supported  Partial matching not supported
1541  No options  No options
1542  First char = 'a'  First char = 'a'
1543  No need char  No need char
1544    
1545  /.+a/  /.+a/I
1546  Capturing subpattern count = 0  Capturing subpattern count = 0
1547  Partial matching not supported  Partial matching not supported
1548  No options  No options
1549  No first char  No first char
1550  Need char = 'a'  Need char = 'a'
1551    
1552  /(?=abcda)a.*/  /(?=abcda)a.*/I
1553  Capturing subpattern count = 0  Capturing subpattern count = 0
1554  Partial matching not supported  Partial matching not supported
1555  No options  No options
1556  First char = 'a'  First char = 'a'
1557  Need char = 'a'  Need char = 'a'
1558    
1559  /(?=a)a.*/  /(?=a)a.*/I
1560  Capturing subpattern count = 0  Capturing subpattern count = 0
1561  Partial matching not supported  Partial matching not supported
1562  No options  No options
1563  First char = 'a'  First char = 'a'
1564  No need char  No need char
1565    
1566  /a(b)*/  /a(b)*/I
1567  Capturing subpattern count = 1  Capturing subpattern count = 1
1568  No options  No options
1569  First char = 'a'  First char = 'a'
1570  No need char  No need char
1571    
1572  /a\d*/  /a\d*/I
1573  Capturing subpattern count = 0  Capturing subpattern count = 0
1574  Partial matching not supported  Partial matching not supported
1575  No options  No options
1576  First char = 'a'  First char = 'a'
1577  No need char  No need char
1578    
1579  /ab\d*/  /ab\d*/I
1580  Capturing subpattern count = 0  Capturing subpattern count = 0
1581  Partial matching not supported  Partial matching not supported
1582  No options  No options
1583  First char = 'a'  First char = 'a'
1584  Need char = 'b'  Need char = 'b'
1585    
1586  /a(\d)*/  /a(\d)*/I
1587  Capturing subpattern count = 1  Capturing subpattern count = 1
1588  No options  No options
1589  First char = 'a'  First char = 'a'
1590  No need char  No need char
1591    
1592  /abcde{0,0}/  /abcde{0,0}/I
1593  Capturing subpattern count = 0  Capturing subpattern count = 0
1594  No options  No options
1595  First char = 'a'  First char = 'a'
1596  Need char = 'd'  Need char = 'd'
1597    
1598  /ab\d+/  /ab\d+/I
1599  Capturing subpattern count = 0  Capturing subpattern count = 0
1600  Partial matching not supported  Partial matching not supported
1601  No options  No options
1602  First char = 'a'  First char = 'a'
1603  Need char = 'b'  Need char = 'b'
1604    
1605  /a(?(1)b)/  /a(?(1)b)/I
1606  Capturing subpattern count = 0  Capturing subpattern count = 0
1607  No options  No options
1608  First char = 'a'  First char = 'a'
1609  No need char  No need char
1610    
1611  /a(?(1)bag|big)/  /a(?(1)bag|big)/I
1612  Capturing subpattern count = 0  Capturing subpattern count = 0
1613  No options  No options
1614  First char = 'a'  First char = 'a'
1615  Need char = 'g'  Need char = 'g'
1616    
1617  /a(?(1)bag|big)*/  /a(?(1)bag|big)*/I
1618  Capturing subpattern count = 0  Capturing subpattern count = 0
1619  No options  No options
1620  First char = 'a'  First char = 'a'
1621  No need char  No need char
1622    
1623  /a(?(1)bag|big)+/  /a(?(1)bag|big)+/I
1624  Capturing subpattern count = 0  Capturing subpattern count = 0
1625  No options  No options
1626  First char = 'a'  First char = 'a'
1627  Need char = 'g'  Need char = 'g'
1628    
1629  /a(?(1)b..|b..)/  /a(?(1)b..|b..)/I
1630  Capturing subpattern count = 0  Capturing subpattern count = 0
1631  No options  No options
1632  First char = 'a'  First char = 'a'
1633  Need char = 'b'  Need char = 'b'
1634    
1635  /ab\d{0}e/  /ab\d{0}e/I
1636  Capturing subpattern count = 0  Capturing subpattern count = 0
1637  No options  No options
1638  First char = 'a'  First char = 'a'
1639  Need char = 'e'  Need char = 'e'
1640    
1641  /a?b?/  /a?b?/I
1642  Capturing subpattern count = 0  Capturing subpattern count = 0
1643  No options  No options
1644  No first char  No first char
# Line 1655  No need char Line 1653  No need char
1653   0:   0:
1654      *** Failers      *** Failers
1655   0:   0:
1656      \N      \N
1657  No match  No match
1658    
1659  /|-/  /|-/I
1660  Capturing subpattern count = 0  Capturing subpattern count = 0
1661  No options  No options
1662  No first char  No first char
# Line 1671  No need char Line 1669  No need char
1669   0: -   0: -
1670      *** Failers      *** Failers
1671   0:   0:
1672      \Nabc      \Nabc
1673  No match  No match
1674    
1675  /a*(b+)(z)(z)/P  /a*(b+)(z)(z)/IP
1676      aaaabbbbzzzz      aaaabbbbzzzz
1677   0: aaaabbbbzz   0: aaaabbbbzz
1678   1: bbbb   1: bbbb
# Line 1700  No match Line 1698  No match
1698   1: bbbb   1: bbbb
1699   2: z   2: z
1700   3: z   3: z
1701    
1702  /^.?abcd/S  /^.?abcd/IS
1703  Capturing subpattern count = 0  Capturing subpattern count = 0
1704  Options: anchored  Options: anchored
1705  No first char  No first char
# Line 1715  Study returned NULL Line 1713  Study returned NULL
1713    (?R)          # Recurse - i.e. nested bracketed string    (?R)          # Recurse - i.e. nested bracketed string
1714    )*            # Zero or more contents    )*            # Zero or more contents
1715    \)            # Closing )    \)            # Closing )
1716    /x    /Ix
1717  Capturing subpattern count = 0  Capturing subpattern count = 0
1718  Partial matching not supported  Partial matching not supported
1719    Contains explicit CR or LF match
1720  Options: extended  Options: extended
1721  First char = '('  First char = '('
1722  Need char = ')'  Need char = ')'
# Line 1727  Need char = ')' Line 1726  Need char = ')'
1726   0: (abcd)   0: (abcd)
1727      xyz(abcd)      xyz(abcd)
1728   0: (abcd)   0: (abcd)
1729      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1730   0: (ab(xy)cd)   0: (ab(xy)cd)
1731      (ab(xycd)pqr      (ab(xycd)pqr
1732   0: (xycd)   0: (xycd)
1733      () abc ()      () abc ()
1734   0: ()   0: ()
1735      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1736   0: (abcde(fsh)xyz(foo(bar))lmno)   0: (abcde(fsh)xyz(foo(bar))lmno)
1737      *** Failers      *** Failers
1738  No match  No match
1739      abcd      abcd
1740  No match  No match
1741      abcd)      abcd)
1742  No match  No match
1743      (abcd      (abcd
1744  No match  No match
1745    
1746  /\(  ( (?>[^()]+) | (?R) )* \) /xg  /\(  ( (?>[^()]+) | (?R) )* \) /Ixg
1747  Capturing subpattern count = 1  Capturing subpattern count = 1
1748  Partial matching not supported  Partial matching not supported
1749    Contains explicit CR or LF match
1750  Options: extended  Options: extended
1751  First char = '('  First char = '('
1752  Need char = ')'  Need char = ')'
1753      (ab(xy)cd)pqr      (ab(xy)cd)pqr
1754   0: (ab(xy)cd)   0: (ab(xy)cd)
1755   1: cd   1: cd
1756      1(abcd)(x(y)z)pqr      1(abcd)(x(y)z)pqr
# Line 1759  Need char = ')' Line 1759  Need char = ')'
1759   0: (x(y)z)   0: (x(y)z)
1760   1: z   1: z
1761    
1762  /\(  (?: (?>[^()]+) | (?R) ) \) /x  /\(  (?: (?>[^()]+) | (?R) ) \) /Ix
1763  Capturing subpattern count = 0  Capturing subpattern count = 0
1764  Partial matching not supported  Partial matching not supported
1765    Contains explicit CR or LF match
1766  Options: extended  Options: extended
1767  First char = '('  First char = '('
1768  Need char = ')'  Need char = ')'
# Line 1769  Need char = ')' Line 1770  Need char = ')'
1770   0: (abcd)   0: (abcd)
1771      (ab(xy)cd)      (ab(xy)cd)
1772   0: (xy)   0: (xy)
1773      (a(b(c)d)e)      (a(b(c)d)e)
1774   0: (c)   0: (c)
1775      ((ab))      ((ab))
1776   0: ((ab))   0: ((ab))
1777      *** Failers      *** Failers
1778  No match  No match
1779      ()      ()
1780  No match  No match
1781    
1782  /\(  (?: (?>[^()]+) | (?R) )? \) /x  /\(  (?: (?>[^()]+) | (?R) )? \) /Ix
1783  Capturing subpattern count = 0  Capturing subpattern count = 0
1784  Partial matching not supported  Partial matching not supported
1785    Contains explicit CR or LF match
1786  Options: extended  Options: extended
1787  First char = '('  First char = '('
1788  Need char = ')'  Need char = ')'
# Line 1789  Need char = ')' Line 1791  Need char = ')'
1791      12(abcde(fsh)xyz(foo(bar))lmno)89      12(abcde(fsh)xyz(foo(bar))lmno)89
1792   0: (fsh)   0: (fsh)
1793    
1794  /\(  ( (?>[^()]+) | (?R) )* \) /x  /\(  ( (?>[^()]+) | (?R) )* \) /Ix
1795  Capturing subpattern count = 1  Capturing subpattern count = 1
1796  Partial matching not supported  Partial matching not supported
1797    Contains explicit CR or LF match
1798  Options: extended  Options: extended
1799  First char = '('  First char = '('
1800  Need char = ')'  Need char = ')'
# Line 1799  Need char = ')' Line 1802  Need char = ')'
1802   0: (ab(xy)cd)   0: (ab(xy)cd)
1803   1: cd   1: cd
1804    
1805  /\( ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1806  Capturing subpattern count = 2  Capturing subpattern count = 2
1807  Partial matching not supported  Partial matching not supported
1808    Contains explicit CR or LF match
1809  Options: extended  Options: extended
1810  First char = '('  First char = '('
1811  Need char = ')'  Need char = ')'
# Line 1810  Need char = ')' Line 1814  Need char = ')'
1814   1: ab(xy)cd   1: ab(xy)cd
1815   2: cd   2: cd
1816    
1817  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x  /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
1818  Capturing subpattern count = 3  Capturing subpattern count = 3
1819  Partial matching not supported  Partial matching not supported
1820    Contains explicit CR or LF match
1821  Options: extended  Options: extended
1822  First char = '('  First char = '('
1823  Need char = ')'  Need char = ')'
# Line 1827  Need char = ')' Line 1832  Need char = ')'
1832   2: ab(xy)cd   2: ab(xy)cd
1833   3: cd   3: cd
1834    
1835  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x  /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
1836  Capturing subpattern count = 3  Capturing subpattern count = 3
1837  Partial matching not supported  Partial matching not supported
1838    Contains explicit CR or LF match
1839  Options: extended  Options: extended
1840  First char = '('  First char = '('
1841  Need char = ')'  Need char = ')'
# Line 1844  Need char = ')' Line 1850  Need char = ')'
1850   2: 123   2: 123
1851   3: cd   3: cd
1852    
1853  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x  /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
1854  Capturing subpattern count = 11  Capturing subpattern count = 11
1855  Partial matching not supported  Partial matching not supported
1856    Contains explicit CR or LF match
1857  Options: extended  Options: extended
1858  First char = '('  First char = '('
1859  Need char = ')'  Need char = ')'
# Line 1864  Need char = ')' Line 1871  Need char = ')'
1871  10: ab(xy)cd  10: ab(xy)cd
1872  11: cd  11: cd
1873    
1874  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x  /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
1875  Capturing subpattern count = 3  Capturing subpattern count = 3
1876  Partial matching not supported  Partial matching not supported
1877    Contains explicit CR or LF match
1878  Options: extended  Options: extended
1879  First char = '('  First char = '('
1880  Need char = ')'  Need char = ')'
# Line 1876  Need char = ')' Line 1884  Need char = ')'
1884   2: 123   2: 123
1885   3: <unset>   3: <unset>
1886    
1887  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
1888  Capturing subpattern count = 3  Capturing subpattern count = 3
1889  Partial matching not supported  Partial matching not supported
1890    Contains explicit CR or LF match
1891  Options: extended  Options: extended
1892  First char = '('  First char = '('
1893  Need char = ')'  Need char = ')'
# Line 1893  Need char = ')' Line 1902  Need char = ')'
1902   2: ij   2: ij
1903   3: (cd(ef)gh)   3: (cd(ef)gh)
1904    
1905  /^[[:alnum:]]/D  /^[[:alnum:]]/DZ
1906    ------------------------------------------------------------------
1907            Bra
1908            ^
1909            [0-9A-Za-z]
1910            Ket
1911            End
1912    ------------------------------------------------------------------
1913    Capturing subpattern count = 0
1914    Options: anchored
1915    No first char
1916    No need char
1917    
1918    /^[[:^alnum:]]/DZ
1919  ------------------------------------------------------------------  ------------------------------------------------------------------
1920    0  37 Bra 0          Bra
1921    3     ^          ^
1922    4     [0-9A-Za-z]          [\x00-/:-@[-`{-\xff]
1923   37  37 Ket          Ket
1924   40     End          End
1925  ------------------------------------------------------------------  ------------------------------------------------------------------
1926  Capturing subpattern count = 0  Capturing subpattern count = 0
1927    Contains explicit CR or LF match
1928  Options: anchored  Options: anchored
1929  No first char  No first char
1930  No need char  No need char
1931    
1932  /^[[:^alnum:]]/D  /^[[:alpha:]]/DZ
1933  ------------------------------------------------------------------  ------------------------------------------------------------------
1934    0  37 Bra 0          Bra
1935    3     ^          ^
1936    4     [\x00-/:-@[-`{-\xff]          [A-Za-z]
1937   37  37 Ket          Ket
1938   40     End          End
1939  ------------------------------------------------------------------  ------------------------------------------------------------------
1940  Capturing subpattern count = 0  Capturing subpattern count = 0
1941  Options: anchored  Options: anchored
1942  No first char  No first char
1943  No need char  No need char
1944    
1945  /^[[:alpha:]]/D  /^[[:^alpha:]]/DZ
1946  ------------------------------------------------------------------  ------------------------------------------------------------------
1947    0  37 Bra 0          Bra
1948    3     ^          ^
1949    4     [A-Za-z]          [\x00-@[-`{-\xff]
1950   37  37 Ket          Ket
1951   40     End          End
1952  ------------------------------------------------------------------  ------------------------------------------------------------------
1953  Capturing subpattern count = 0  Capturing subpattern count = 0
1954    Contains explicit CR or LF match
1955  Options: anchored  Options: anchored
1956  No first char  No first char
1957  No need char  No need char
1958    
1959  /^[[:^alpha:]]/D  /[_[:alpha:]]/IS
1960    Capturing subpattern count = 0
1961    No options
1962    No first char
1963    No need char
1964    Starting byte set: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1965      _ a b c d e f g h i j k l m n o p q r s t u v w x y z
1966    
1967    /^[[:ascii:]]/DZ
1968  ------------------------------------------------------------------  ------------------------------------------------------------------
1969    0  37 Bra 0          Bra
1970    3     ^          ^
1971    4     [\x00-@[-`{-\xff]          [\x00-\x7f]
1972   37  37 Ket          Ket
1973   40     End          End
1974  ------------------------------------------------------------------  ------------------------------------------------------------------
1975  Capturing subpattern count = 0  Capturing subpattern count = 0
1976    Contains explicit CR or LF match
1977  Options: anchored  Options: anchored
1978  No first char  No first char
1979  No need char  No need char
1980    
1981  /^[[:ascii:]]/D  /^[[:^ascii:]]/DZ
1982  ------------------------------------------------------------------  ------------------------------------------------------------------
1983    0  37 Bra 0          Bra
1984    3     ^          ^
1985    4     [\x00-\x7f]          [\x80-\xff]
1986   37  37 Ket          Ket
1987   40     End          End
1988  ------------------------------------------------------------------  ------------------------------------------------------------------
1989  Capturing subpattern count = 0  Capturing subpattern count = 0
1990  Options: anchored  Options: anchored
1991  No first char  No first char
1992  No need char  No need char
1993    
1994  /^[[:^ascii:]]/D  /^[[:blank:]]/DZ
1995  ------------------------------------------------------------------  ------------------------------------------------------------------
1996    0  37 Bra 0          Bra
1997    3     ^          ^
1998    4     [\x80-\xff]          [\x09 ]
1999   37  37 Ket          Ket
2000   40     End          End
2001  ------------------------------------------------------------------  ------------------------------------------------------------------
2002  Capturing subpattern count = 0  Capturing subpattern count = 0
2003  Options: anchored  Options: anchored
2004  No first char  No first char
2005  No need char  No need char
2006    
2007  /^[[:blank:]]/D  /^[[:^blank:]]/DZ
2008  ------------------------------------------------------------------  ------------------------------------------------------------------
2009    0  37 Bra 0          Bra
2010    3     ^          ^
2011    4     [\x09 ]          [\x00-\x08\x0a-\x1f!-\xff]
2012   37  37 Ket          Ket
2013   40     End          End
2014  ------------------------------------------------------------------  ------------------------------------------------------------------
2015  Capturing subpattern count = 0  Capturing subpattern count = 0
2016    Contains explicit CR or LF match
2017  Options: anchored  Options: anchored
2018  No first char  No first char
2019  No need char  No need char
2020    
2021  /^[[:cntrl:]]/D  /[\n\x0b\x0c\x0d[:blank:]]/IS
2022    Capturing subpattern count = 0
2023    Contains explicit CR or LF match
2024    No options
2025    No first char
2026    No need char
2027    Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20
2028    
2029    /^[[:cntrl:]]/DZ
2030  ------------------------------------------------------------------  ------------------------------------------------------------------
2031    0  37 Bra 0          Bra
2032    3     ^          ^
2033    4     [\x00-\x1f\x7f]          [\x00-\x1f\x7f]
2034   37  37 Ket          Ket
2035   40     End          End
2036  ------------------------------------------------------------------  ------------------------------------------------------------------
2037  Capturing subpattern count = 0  Capturing subpattern count = 0
2038    Contains explicit CR or LF match
2039  Options: anchored  Options: anchored
2040  No first char  No first char
2041  No need char  No need char
2042    
2043  /^[[:digit:]]/D  /^[[:digit:]]/DZ
2044  ------------------------------------------------------------------  ------------------------------------------------------------------
2045    0  37 Bra 0          Bra
2046    3     ^          ^
2047    4     [0-9]          [0-9]
2048   37  37 Ket          Ket
2049   40     End          End
2050  ------------------------------------------------------------------  ------------------------------------------------------------------
2051  Capturing subpattern count = 0  Capturing subpattern count = 0
2052  Options: anchored  Options: anchored
2053  No first char  No first char
2054  No need char  No need char
2055    
2056  /^[[:graph:]]/D  /^[[:graph:]]/DZ
2057  ------------------------------------------------------------------  ------------------------------------------------------------------
2058    0  37 Bra 0          Bra
2059    3     ^          ^
2060    4     [!-~]          [!-~]
2061   37  37 Ket          Ket
2062   40     End          End
2063  ------------------------------------------------------------------  ------------------------------------------------------------------
2064  Capturing subpattern count = 0  Capturing subpattern count = 0
2065  Options: anchored  Options: anchored
2066  No first char  No first char
2067  No need char  No need char
2068    
2069  /^[[:lower:]]/D  /^[[:lower:]]/DZ
2070  ------------------------------------------------------------------  ------------------------------------------------------------------
2071    0  37 Bra 0          Bra
2072    3     ^          ^
2073    4     [a-z]          [a-z]
2074   37  37 Ket          Ket
2075   40     End          End
2076  ------------------------------------------------------------------  ------------------------------------------------------------------
2077  Capturing subpattern count = 0  Capturing subpattern count = 0
2078  Options: anchored  Options: anchored
2079  No first char  No first char
2080  No need char  No need char
2081    
2082  /^[[:print:]]/D  /^[[:print:]]/DZ
2083  ------------------------------------------------------------------  ------------------------------------------------------------------
2084    0  37 Bra 0          Bra
2085    3     ^          ^
2086    4     [ -~]          [ -~]
2087   37  37 Ket          Ket
2088   40     End          End
2089  ------------------------------------------------------------------  ------------------------------------------------------------------
2090  Capturing subpattern count = 0  Capturing subpattern count = 0
2091  Options: anchored  Options: anchored
2092  No first char  No first char
2093  No need char  No need char
2094    
2095  /^[[:punct:]]/D  /^[[:punct:]]/DZ
2096  ------------------------------------------------------------------  ------------------------------------------------------------------
2097    0  37 Bra 0          Bra
2098    3     ^          ^
2099    4     [!-/:-@[-`{-~]          [!-/:-@[-`{-~]
2100   37  37 Ket          Ket
2101   40     End          End
2102  ------------------------------------------------------------------  ------------------------------------------------------------------
2103  Capturing subpattern count = 0  Capturing subpattern count = 0
2104  Options: anchored  Options: anchored
2105  No first char  No first char
2106  No need char  No need char
2107    
2108  /^[[:space:]]/D  /^[[:space:]]/DZ
2109  ------------------------------------------------------------------  ------------------------------------------------------------------
2110    0  37 Bra 0          Bra
2111    3     ^          ^
2112    4     [\x09-\x0d ]          [\x09-\x0d ]
2113   37  37 Ket          Ket
2114   40     End          End
2115  ------------------------------------------------------------------  ------------------------------------------------------------------
2116  Capturing subpattern count = 0  Capturing subpattern count = 0
2117    Contains explicit CR or LF match
2118  Options: anchored  Options: anchored
2119  No first char  No first char
2120  No need char  No need char
2121    
2122  /^[[:upper:]]/D  /^[[:upper:]]/DZ
2123  ------------------------------------------------------------------  ------------------------------------------------------------------
2124    0  37 Bra 0          Bra
2125    3     ^          ^
2126    4     [A-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  /^[[:xdigit:]]/D  /^[[:xdigit:]]/DZ
2136  ------------------------------------------------------------------  ------------------------------------------------------------------
2137    0  37 Bra 0          Bra
2138    3     ^          ^
2139    4     [0-9A-Fa-f]          [0-9A-Fa-f]
2140   37  37 Ket          Ket
2141   40     End          End
2142  ------------------------------------------------------------------  ------------------------------------------------------------------
2143  Capturing subpattern count = 0  Capturing subpattern count = 0
2144  Options: anchored  Options: anchored
2145  No first char  No first char
2146  No need char  No need char
2147    
2148  /^[[:word:]]/D  /^[[:word:]]/DZ
2149  ------------------------------------------------------------------  ------------------------------------------------------------------
2150    0  37 Bra 0          Bra
2151    3     ^          ^
2152    4     [0-9A-Z_a-z]          [0-9A-Z_a-z]
2153   37  37 Ket          Ket
2154   40     End          End
2155  ------------------------------------------------------------------  ------------------------------------------------------------------
2156  Capturing subpattern count = 0  Capturing subpattern count = 0
2157  Options: anchored  Options: anchored
2158  No first char  No first char
2159  No need char  No need char
2160    
2161  /^[[:^cntrl:]]/D  /^[[:^cntrl:]]/DZ
2162  ------------------------------------------------------------------  ------------------------------------------------------------------
2163    0  37 Bra 0          Bra
2164    3     ^          ^
2165    4     [ -~\x80-\xff]          [ -~\x80-\xff]
2166   37  37 Ket          Ket
2167   40     End          End
2168  ------------------------------------------------------------------  ------------------------------------------------------------------
2169  Capturing subpattern count = 0  Capturing subpattern count = 0
2170  Options: anchored  Options: anchored
2171  No first char  No first char
2172  No need char  No need char
2173    
2174  /^[12[:^digit:]]/D  /^[12[:^digit:]]/DZ
2175  ------------------------------------------------------------------  ------------------------------------------------------------------
2176    0  37 Bra 0          Bra
2177    3     ^          ^
2178    4     [\x00-/12:-\xff]          [\x00-/12:-\xff]
2179   37  37 Ket          Ket
2180   40     End          End
2181  ------------------------------------------------------------------  ------------------------------------------------------------------
2182  Capturing subpattern count = 0  Capturing subpattern count = 0
2183    Contains explicit CR or LF match
2184  Options: anchored  Options: anchored
2185  No first char  No first char
2186  No need char  No need char
2187    
2188  /^[[:^blank:]]/D  /^[[:^blank:]]/DZ
2189  ------------------------------------------------------------------  ------------------------------------------------------------------
2190    0  37 Bra 0          Bra
2191    3     ^          ^
2192    4     [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff]
2193   37  37 Ket          Ket
2194   40     End          End
2195  ------------------------------------------------------------------  ------------------------------------------------------------------
2196  Capturing subpattern count = 0  Capturing subpattern count = 0
2197    Contains explicit CR or LF match
2198  Options: anchored  Options: anchored
2199  No first char  No first char
2200  No need char  No need char
2201    
2202  /[01[:alpha:]%]/D  /[01[:alpha:]%]/DZ
2203  ------------------------------------------------------------------  ------------------------------------------------------------------
2204    0  36 Bra 0          Bra
2205    3     [%01A-Za-z]          [%01A-Za-z]
2206   36  36 Ket          Ket
2207   39     End          End
2208  ------------------------------------------------------------------  ------------------------------------------------------------------
2209  Capturing subpattern count = 0  Capturing subpattern count = 0
2210  No options  No options
2211  No first char  No first char
2212  No need char  No need char
2213    
2214  /[[.ch.]]/  /[[.ch.]]/I
2215  Failed: POSIX collating elements are not supported at offset 1  Failed: POSIX collating elements are not supported at offset 1
2216    
2217  /[[=ch=]]/  /[[=ch=]]/I
2218  Failed: POSIX collating elements are not supported at offset 1  Failed: POSIX collating elements are not supported at offset 1
2219    
2220  /[[:rhubarb:]]/  /[[:rhubarb:]]/I
2221  Failed: unknown POSIX class name at offset 3  Failed: unknown POSIX class name at offset 3
2222    
2223  /[[:upper:]]/i  /[[:upper:]]/Ii
2224  Capturing subpattern count = 0  Capturing subpattern count = 0
2225  Options: caseless  Options: caseless
2226  No first char  No first char
2227  No need char  No need char
2228      A      A
2229   0: A   0: A
2230      a      a
2231   0: a   0: a
2232    
2233  /[[:lower:]]/i  /[[:lower:]]/Ii
2234  Capturing subpattern count = 0  Capturing subpattern count = 0
2235  Options: caseless  Options: caseless
2236  No first char  No first char
2237  No need char  No need char
2238      A      A
2239   0: A   0: A
2240      a      a
2241   0: a   0: a
2242    
2243  /((?-i)[[:lower:]])[[:lower:]]/i  /((?-i)[[:lower:]])[[:lower:]]/Ii
2244  Capturing subpattern count = 1  Capturing subpattern count = 1
2245  Options: caseless  Options: caseless
 Case state changes  
2246  No first char  No first char
2247  No need char  No need char
2248      ab      ab
# Line 2211  No need char Line 2256  No need char
2256   1: a   1: a
2257      Ab      Ab
2258  No match  No match
2259      AB      AB
2260  No match  No match
2261    
2262  /[\200-\410]/  /[\200-\110]/I
2263  Failed: range out of order in character class at offset 9  Failed: range out of order in character class at offset 9
2264    
2265  /^(?(0)f|b)oo/  /^(?(0)f|b)oo/I
2266  Failed: invalid condition (?(0) at offset 5  Failed: invalid condition (?(0) at offset 6
2267    
2268  /This one's here because of the large output vector needed/  /This one's here because of the large output vector needed/I
2269  Capturing subpattern count = 0  Capturing subpattern count = 0
2270  No options  No options
2271  First char = 'T'  First char = 'T'
2272  Need char = 'd'  Need char = 'd'
2273    
2274  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/  /(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\w+)\s+(\270)/I
2275  Capturing subpattern count = 271  Capturing subpattern count = 271
2276  Max back reference = 270  Max back reference = 270
2277  Partial matching not supported  Partial matching not supported
# Line 2507  No need char Line 2552  No need char
2552  270: ABC  270: ABC
2553  271: ABC  271: ABC
2554    
2555  /This one's here because Perl does this differently and PCRE can't at present/  /This one's here because Perl does this differently and PCRE can't at present/I
2556  Capturing subpattern count = 0  Capturing subpattern count = 0
2557  No options  No options
2558  First char = 'T'  First char = 'T'
2559  Need char = 't'  Need char = 't'
2560    
2561  /(main(O)?)+/  /(main(O)?)+/I
2562  Capturing subpattern count = 2  Capturing subpattern count = 2
2563  No options  No options
2564  First char = 'm'  First char = 'm'
# Line 2525  Need char = 'n' Line 2570  Need char = 'n'
2570   0: mainOmain   0: mainOmain
2571   1: main   1: main
2572   2: O   2: O
2573    
2574  /These are all cases where Perl does it differently (nested captures)/  /These are all cases where Perl does it differently (nested captures)/I
2575  Capturing subpattern count = 1  Capturing subpattern count = 1
2576  No options  No options
2577  First char = 'T'  First char = 'T'
2578  Need char = 's'  Need char = 's'
2579    
2580  /^(a(b)?)+$/  /^(a(b)?)+$/I
2581  Capturing subpattern count = 2  Capturing subpattern count = 2
2582  Options: anchored  Options: anchored
2583  No first char  No first char
# Line 2541  No need char Line 2586  No need char
2586   0: aba   0: aba
2587   1: a   1: a
2588   2: b   2: b
2589    
2590  /^(aa(bb)?)+$/  /^(aa(bb)?)+$/I
2591  Capturing subpattern count = 2  Capturing subpattern count = 2
2592  Options: anchored  Options: anchored
2593  No first char  No first char
2594  No need char  No need char
2595      aabbaa      aabbaa
2596   0: aabbaa   0: aabbaa
2597   1: aa   1: aa
2598   2: bb   2: bb
2599    
2600  /^(aa|aa(bb))+$/  /^(aa|aa(bb))+$/I
2601  Capturing subpattern count = 2  Capturing subpattern count = 2
2602  Options: anchored  Options: anchored
2603  No first char  No first char
2604  No need char  No need char
2605      aabbaa      aabbaa
2606   0: aabbaa   0: aabbaa
2607   1: aa   1: aa
2608   2: bb   2: bb
2609    
2610  /^(aa(bb)??)+$/  /^(aa(bb)??)+$/I
2611  Capturing subpattern count = 2  Capturing subpattern count = 2
2612  Options: anchored  Options: anchored
2613  No first char  No first char
2614  No need char  No need char
2615      aabbaa      aabbaa
2616   0: aabbaa   0: aabbaa
2617   1: aa   1: aa
2618   2: bb   2: bb
2619    
2620  /^(?:aa(bb)?)+$/  /^(?:aa(bb)?)+$/I
2621  Capturing subpattern count = 1  Capturing subpattern count = 1
2622  Options: anchored  Options: anchored
2623  No first char  No first char
2624  No need char  No need char
2625      aabbaa      aabbaa
2626   0: aabbaa   0: aabbaa
2627   1: bb   1: bb
2628    
2629  /^(aa(b(b))?)+$/  /^(aa(b(b))?)+$/I
2630  Capturing subpattern count = 3  Capturing subpattern count = 3
2631  Options: anchored  Options: anchored
2632  No first char  No first char
2633  No need char  No need char
2634      aabbaa      aabbaa
2635   0: aabbaa   0: aabbaa
2636   1: aa   1: aa
2637   2: bb   2: bb
2638   3: b   3: b
2639    
2640  /^(?:aa(b(b))?)+$/  /^(?:aa(b(b))?)+$/I
2641  Capturing subpattern count = 2  Capturing subpattern count = 2
2642  Options: anchored  Options: anchored
2643  No first char  No first char
2644  No need char  No need char
2645      aabbaa      aabbaa
2646   0: aabbaa   0: aabbaa
2647   1: bb   1: bb
2648   2: b   2: b
2649    
2650  /^(?:aa(b(?:b))?)+$/  /^(?:aa(b(?:b))?)+$/I
2651  Capturing subpattern count = 1  Capturing subpattern count = 1
2652  Options: anchored  Options: anchored
2653  No first char  No first char
2654  No need char  No need char
2655      aabbaa      aabbaa
2656   0: aabbaa   0: aabbaa
2657   1: bb   1: bb
2658    
2659  /^(?:aa(bb(?:b))?)+$/  /^(?:aa(bb(?:b))?)+$/I
2660  Capturing subpattern count = 1  Capturing subpattern count = 1
2661  Options: anchored  Options: anchored
2662  No first char  No first char
2663  No need char  No need char
2664      aabbbaa      aabbbaa
2665   0: aabbbaa   0: aabbbaa
2666   1: bbb   1: bbb
2667    
2668  /^(?:aa(b(?:bb))?)+$/  /^(?:aa(b(?:bb))?)+$/I
2669  Capturing subpattern count = 1  Capturing subpattern count = 1
2670  Options: anchored  Options: anchored
2671  No first char  No first char
2672  No need char  No need char
2673      aabbbaa      aabbbaa
2674   0: aabbbaa   0: aabbbaa
2675   1: bbb   1: bbb
2676    
2677  /^(?:aa(?:b(b))?)+$/  /^(?:aa(?:b(b))?)+$/I
2678  Capturing subpattern count = 1  Capturing subpattern count = 1
2679  Options: anchored  Options: anchored
2680  No first char  No first char
2681  No need char  No need char
2682      aabbaa      aabbaa
2683   0: aabbaa   0: aabbaa
2684   1: b   1: b
2685    
2686  /^(?:aa(?:b(bb))?)+$/  /^(?:aa(?:b(bb))?)+$/I
2687  Capturing subpattern count = 1  Capturing subpattern count = 1
2688  Options: anchored  Options: anchored
2689  No first char  No first char
2690  No need char  No need char
2691      aabbbaa      aabbbaa
2692   0: aabbbaa   0: aabbbaa
2693   1: bb   1: bb
2694    
2695  /^(aa(b(bb))?)+$/  /^(aa(b(bb))?)+$/I
2696  Capturing subpattern count = 3  Capturing subpattern count = 3
2697  Options: anchored  Options: anchored
2698  No first char  No first char
2699  No need char  No need char
2700      aabbbaa      aabbbaa
2701   0: aabbbaa   0: aabbbaa
2702   1: aa   1: aa
2703   2: bbb   2: bbb
2704   3: bb   3: bb
2705    
2706  /^(aa(bb(bb))?)+$/  /^(aa(bb(bb))?)+$/I
2707  Capturing subpattern count = 3  Capturing subpattern count = 3
2708  Options: anchored  Options: anchored
2709  No first char  No first char
2710  No need char  No need char
2711      aabbbbaa      aabbbbaa
2712   0: aabbbbaa   0: aabbbbaa
2713   1: aa   1: aa
2714   2: bbbb   2: bbbb
2715   3: bb   3: bb
2716    
2717  /--------------------------------------------------------------------/  /--------------------------------------------------------------------/I
2718  Capturing subpattern count = 0  Capturing subpattern count = 0
2719  No options  No options
2720  First char = '-'  First char = '-'
2721  Need char = '-'  Need char = '-'
2722    
2723  /#/xMD  /#/IxDZ
 Memory allocation (code space): 7  
2724  ------------------------------------------------------------------  ------------------------------------------------------------------
2725    0   3 Bra 0          Bra
2726    3   3 Ket          Ket
2727    6     End          End
2728  ------------------------------------------------------------------  ------------------------------------------------------------------
2729  Capturing subpattern count = 0  Capturing subpattern count = 0
2730  Options: extended  Options: extended
2731  No first char  No first char
2732  No need char  No need char
2733    
2734  /a#/xMD  /a#/IxDZ
 Memory allocation (code space): 9  
2735  ------------------------------------------------------------------  ------------------------------------------------------------------
2736    0   5 Bra 0          Bra
2737    3     a          a
2738    5   5 Ket          Ket
2739    8     End          End
2740  ------------------------------------------------------------------  ------------------------------------------------------------------
2741  Capturing subpattern count = 0  Capturing subpattern count = 0
2742  Options: extended  Options: extended
2743  First char = 'a'  First char = 'a'
2744  No need char  No need char
2745    
2746  /[\s]/D  /[\s]/DZ
2747  ------------------------------------------------------------------  ------------------------------------------------------------------
2748    0  36 Bra 0          Bra
2749    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
2750   36  36 Ket          Ket
2751   39     End          End
2752  ------------------------------------------------------------------  ------------------------------------------------------------------
2753  Capturing subpattern count = 0  Capturing subpattern count = 0
2754  No options  No options
2755  No first char  No first char
2756  No need char  No need char
2757    
2758  /[\S]/D  /[\S]/DZ
2759  ------------------------------------------------------------------  ------------------------------------------------------------------
2760    0  36 Bra 0          Bra
2761    3     [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff]
2762   36  36 Ket          Ket
2763   39     End          End
2764  ------------------------------------------------------------------  ------------------------------------------------------------------
2765  Capturing subpattern count = 0  Capturing subpattern count = 0
2766  No options  No options
2767  No first char  No first char
2768  No need char  No need char
2769    
2770  /a(?i)b/D  /a(?i)b/DZ
2771  ------------------------------------------------------------------  ------------------------------------------------------------------
2772    0   9 Bra 0          Bra
2773    3     a          a
2774    5  01 Opt       01 Opt
2775    7  NC b       NC b
2776    9   9 Ket          Ket
2777   12     End          End
2778  ------------------------------------------------------------------  ------------------------------------------------------------------
2779  Capturing subpattern count = 0  Capturing subpattern count = 0
2780  No options  No options
 Case state changes  
2781  First char = 'a'  First char = 'a'
2782  Need char = 'b' (caseless)  Need char = 'b' (caseless)
2783      ab      ab
2784   0: ab   0: ab
2785      aB      aB
2786   0: aB   0: aB
2787      *** Failers      *** Failers
2788  No match  No match
2789      AB      AB
2790  No match  No match
2791    
2792  /(a(?i)b)/D  /(a(?i)b)/DZ
2793  ------------------------------------------------------------------  ------------------------------------------------------------------
2794    0  17 Bra 0          Bra
2795    3   9 Bra 1          CBra 1
2796    6     a          a
2797    8  01 Opt       01 Opt
2798   10  NC b       NC b
2799   12   9 Ket          Ket
2800   15  00 Opt       00 Opt
2801   17  17 Ket          Ket
2802   20     End          End
2803  ------------------------------------------------------------------  ------------------------------------------------------------------
2804  Capturing subpattern count = 1  Capturing subpattern count = 1
2805  No options  No options
 Case state changes  
2806  First char = 'a'  First char = 'a'
2807  Need char = 'b' (caseless)  Need char = 'b' (caseless)
2808      ab      ab
# Line 2770  Need char = 'b' (caseless) Line 2811  Need char = 'b' (caseless)
2811      aB      aB
2812   0: aB   0: aB
2813   1: aB   1: aB
2814      *** Failers      *** Failers
2815  No match  No match
2816      AB      AB
2817  No match  No match
2818    
2819  /   (?i)abc/xD  /   (?i)abc/IxDZ
2820  ------------------------------------------------------------------  ------------------------------------------------------------------
2821    0   9 Bra 0          Bra
2822    3  NC abc       NC abc
2823    9   9 Ket          Ket
2824   12     End          End
2825  ------------------------------------------------------------------  ------------------------------------------------------------------
2826  Capturing subpattern count = 0  Capturing subpattern count = 0
2827  Options: caseless extended  Options: caseless extended
# Line 2788  First char = 'a' (caseless) Line 2829  First char = 'a' (caseless)
2829  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2830    
2831  /#this is a comment  /#this is a comment
2832    (?i)abc/xD    (?i)abc/IxDZ
2833  ------------------------------------------------------------------  ------------------------------------------------------------------
2834    0   9 Bra 0          Bra
2835    3  NC abc       NC abc
2836    9   9 Ket          Ket
2837   12     End          End
2838  ------------------------------------------------------------------  ------------------------------------------------------------------
2839  Capturing subpattern count = 0  Capturing subpattern count = 0
2840  Options: caseless extended  Options: caseless extended
2841  First char = 'a' (caseless)  First char = 'a' (caseless)
2842  Need char = 'c' (caseless)  Need char = 'c' (caseless)
2843    
2844  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2845  ------------------------------------------------------------------  ------------------------------------------------------------------
2846    0 603 Bra 0          Bra
2847    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2848  603 603 Ket          Ket
2849  606     End          End
2850  ------------------------------------------------------------------  ------------------------------------------------------------------
2851  Capturing subpattern count = 0  Capturing subpattern count = 0
2852  No options  No options
2853  First char = '1'  First char = '1'
2854  Need char = '0'  Need char = '0'
2855    
2856  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D  /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
2857  ------------------------------------------------------------------  ------------------------------------------------------------------
2858    0 603 Bra 0          Bra
2859    3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890          123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2860  603 603 Ket          Ket
2861  606     End          End
2862  ------------------------------------------------------------------  ------------------------------------------------------------------
2863  Capturing subpattern count = 0  Capturing subpattern count = 0
2864  No options  No options
2865  First char = '1'  First char = '1'
2866  Need char = '0'  Need char = '0'
2867    
2868  /\Q\E/D  /\Q\E/DZ
2869  ------------------------------------------------------------------  ------------------------------------------------------------------
2870    0   3 Bra 0          Bra
2871    3   3 Ket          Ket
2872    6     End          End
2873  ------------------------------------------------------------------  ------------------------------------------------------------------
2874  Capturing subpattern count = 0  Capturing subpattern count = 0
2875  No options  No options
# Line 2837  No need char Line 2878  No need char
2878      \      \
2879   0:   0:
2880    
2881  /\Q\Ex/D  /\Q\Ex/DZ
2882  ------------------------------------------------------------------  ------------------------------------------------------------------
2883    0   5 Bra 0          Bra
2884    3     x          x
2885    5   5 Ket          Ket
2886    8     End          End
2887  ------------------------------------------------------------------  ------------------------------------------------------------------
2888  Capturing subpattern count = 0  Capturing subpattern count = 0
2889  No options  No options
2890  First char = 'x'  First char = 'x'
2891  No need char  No need char
2892    
2893  / \Q\E/D  / \Q\E/DZ
2894  ------------------------------------------------------------------  ------------------------------------------------------------------
2895    0   5 Bra 0          Bra
2896    3  
2897    5   5 Ket          Ket
2898    8     End          End
2899  ------------------------------------------------------------------  ------------------------------------------------------------------
2900  Capturing subpattern count = 0  Capturing subpattern count = 0
2901  No options  No options
2902  First char = ' '  First char = ' '
2903  No need char  No need char
2904    
2905  /a\Q\E/D  /a\Q\E/DZ
2906  ------------------------------------------------------------------  ------------------------------------------------------------------
2907    0   5 Bra 0          Bra
2908    3     a          a
2909    5   5 Ket          Ket
2910    8     End          End
2911  ------------------------------------------------------------------  ------------------------------------------------------------------
2912  Capturing subpattern count = 0  Capturing subpattern count = 0
2913  No options  No options
# Line 2876  No need char Line 2917  No need char
2917   0: a   0: a
2918    bca    bca
2919   0: a   0: a
2920    bac    bac
2921   0: a   0: a
2922    
2923  /a\Q\Eb/D  /a\Q\Eb/DZ
2924  ------------------------------------------------------------------  ------------------------------------------------------------------
2925    0   7 Bra 0          Bra
2926    3     ab          ab
2927    7   7 Ket          Ket
2928   10     End          End
2929  ------------------------------------------------------------------  ------------------------------------------------------------------
2930  Capturing subpattern count = 0  Capturing subpattern count = 0
2931  No options  No options
# Line 2893  Need char = 'b' Line 2934  Need char = 'b'
2934    abc    abc
2935   0: ab   0: ab
2936    
2937  /\Q\Eabc/D  /\Q\Eabc/DZ
2938  ------------------------------------------------------------------  ------------------------------------------------------------------
2939    0   9 Bra 0          Bra
2940    3     abc          abc
2941    9   9 Ket          Ket
2942   12     End          End
2943  ------------------------------------------------------------------  ------------------------------------------------------------------
2944  Capturing subpattern count = 0  Capturing subpattern count = 0
2945  No options  No options
2946  First char = 'a'  First char = 'a'
2947  Need char = 'c'  Need char = 'c'
2948    
2949  /x*+\w/D  /x*+\w/DZ
2950  ------------------------------------------------------------------  ------------------------------------------------------------------
2951    0  12 Bra 0          Bra
2952    3   5 Once          x*+
2953    6     x*          \w
2954    8   5 Ket          Ket
2955   11     \w          End
  12  12 Ket  
  15     End  
2956  ------------------------------------------------------------------  ------------------------------------------------------------------
2957  Capturing subpattern count = 0  Capturing subpattern count = 0
2958  Partial matching not supported  Partial matching not supported
# Line 2924  No need char Line 2963  No need char
2963   0: F   0: F
2964      xxxxx      xxxxx
2965  No match  No match
2966    
2967  /x?+/D  /x?+/DZ
2968  ------------------------------------------------------------------  ------------------------------------------------------------------
2969    0  11 Bra 0          Bra
2970    3   5 Once          x?+
2971    6     x?          Ket
2972    8   5 Ket          End
  11  11 Ket  
  14     End  
2973  ------------------------------------------------------------------  ------------------------------------------------------------------
2974  Capturing subpattern count = 0  Capturing subpattern count = 0
2975  No options  No options
2976  No first char  No first char
2977  No need char  No need char
2978    
2979  /x++/D  /x++/DZ
2980  ------------------------------------------------------------------  ------------------------------------------------------------------
2981    0  11 Bra 0          Bra
2982    3   5 Once          x++
2983    6     x+          Ket
2984    8   5 Ket          End
  11  11 Ket  
  14     End  
2985  ------------------------------------------------------------------  ------------------------------------------------------------------
2986  Capturing subpattern count = 0  Capturing subpattern count = 0
2987  Partial matching not supported  Partial matching not supported
# Line 2954  No options Line 2989  No options
2989  First char = 'x'  First char = 'x'
2990  No need char  No need char
2991    
2992  /x{1,3}+/D  /x{1,3}+/DZ
2993  ------------------------------------------------------------------  ------------------------------------------------------------------
2994    0  15 Bra 0          Bra
2995    3   9 Once          Once
2996    6     x          x
2997    8     x{,2}          x{0,2}
2998   12   9 Ket          Ket
2999   15  15 Ket          Ket
3000   18     End          End
3001  ------------------------------------------------------------------  ------------------------------------------------------------------
3002  Capturing subpattern count = 0  Capturing subpattern count = 0
3003  Partial matching not supported  Partial matching not supported
# Line 2970  No options Line 3005  No options
3005  First char = 'x'  First char = 'x'
3006  No need char  No need char
3007    
3008  /(x)*+/D  /(x)*+/DZ
3009  ------------------------------------------------------------------  ------------------------------------------------------------------
3010    0  18 Bra 0          Bra
3011    3  12 Once          Once
3012    6     Brazero          Brazero
3013    7   5 Bra 1          CBra 1
3014   10     x          x
3015   12   5 KetRmax          KetRmax
3016   15  12 Ket          Ket
3017   18  18 Ket          Ket
3018   21     End          End
3019  ------------------------------------------------------------------  ------------------------------------------------------------------
3020  Capturing subpattern count = 1  Capturing subpattern count = 1
3021  No options  No options
3022  No first char  No first char
3023  No need char  No need char
3024    
3025  /^(\w++|\s++)*$/  /^(\w++|\s++)*$/I
3026  Capturing subpattern count = 1  Capturing subpattern count = 1
3027  Partial matching not supported  Partial matching not supported
3028  Options: anchored  Options: anchored
# Line 3000  No need char Line 3035  No need char
3035  No match  No match
3036      this is not a line with only words and spaces!      this is not a line with only words and spaces!
3037  No match  No match
3038    
3039  /(\d++)(\w)/  /(\d++)(\w)/I
3040  Capturing subpattern count = 2  Capturing subpattern count = 2
3041  Partial matching not supported  Partial matching not supported
3042  No options  No options
# Line 3013  No need char Line 3048  No need char
3048   2: a   2: a
3049      *** Failers      *** Failers
3050  No match  No match
3051      12345+      12345+
3052  No match  No match
3053    
3054  /a++b/  /a++b/I
3055  Capturing subpattern count = 0  Capturing subpattern count = 0
3056  Partial matching not supported  Partial matching not supported
3057  No options  No options
# Line 3025  Need char = 'b' Line 3060  Need char = 'b'
3060      aaab      aaab
3061   0: aaab   0: aaab
3062    
3063  /(a++b)/  /(a++b)/I
3064  Capturing subpattern count = 1  Capturing subpattern count = 1
3065  Partial matching not supported  Partial matching not supported
3066  No options  No options
# Line 3035  Need char = 'b' Line 3070  Need char = 'b'
3070   0: aaab   0: aaab
3071   1: aaab   1: aaab
3072    
3073  /(a++)b/  /(a++)b/I
3074  Capturing subpattern count = 1  Capturing subpattern count = 1
3075  Partial matching not supported  Partial matching not supported
3076  No options  No options
# Line 3045  Need char = 'b' Line 3080  Need char = 'b'
3080   0: aaab   0: aaab
3081   1: aaa   1: aaa
3082    
3083  /([^()]++|\([^()]*\))+/  /([^()]++|\([^()]*\))+/I
3084  Capturing subpattern count = 1  Capturing subpattern count = 1
3085  Partial matching not supported  Partial matching not supported
3086    Contains explicit CR or LF match
3087  No options  No options
3088  No first char  No first char
3089  No need char  No need char
3090      ((abc(ade)ufh()()x      ((abc(ade)ufh()()x
3091   0: abc(ade)ufh()()x   0: abc(ade)ufh()()x
3092   1: x   1: x
3093    
3094  /\(([^()]++|\([^()]+\))+\)/  /\(([^()]++|\([^()]+\))+\)/I
3095  Capturing subpattern count = 1  Capturing subpattern count = 1
3096  Partial matching not supported  Partial matching not supported
3097    Contains explicit CR or LF match
3098  No options  No options
3099  First char = '('  First char = '('
3100  Need char = ')'  Need char = ')'
# Line 3069  Need char = ')' Line 3106  Need char = ')'
3106   1: xyz   1: xyz
3107      *** Failers      *** Failers
3108  No match  No match
3109      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa      ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3110  No match  No match
3111    
3112  /(abc){1,3}+/D  /(abc){1,3}+/DZ
3113  ------------------------------------------------------------------  ------------------------------------------------------------------
3114    0  53 Bra 0          Bra
3115    3  47 Once          Once
3116    6   9 Bra 1          CBra 1
3117    9     abc          abc
3118   15   9 Ket          Ket
3119   18     Brazero          Brazero
3120   19  28 Bra 0          Bra
3121   22   9 Bra 1          CBra 1
3122   25     abc          abc
3123   31   9 Ket          Ket
3124   34     Brazero          Brazero
3125   35   9 Bra 1          CBra 1
3126   38     abc          abc
3127   44   9 Ket          Ket
3128   47  28 Ket          Ket
3129   50  47 Ket          Ket
3130   53  53 Ket          Ket
3131   56     End          End
3132  ------------------------------------------------------------------  ------------------------------------------------------------------
3133  Capturing subpattern count = 1  Capturing subpattern count = 1
3134  No options  No options
3135  First char = 'a'  First char = 'a'
3136  Need char = 'c'  Need char = 'c'
3137    
3138  /a+?+/  /a+?+/I
3139  Failed: nothing to repeat at offset 3  Failed: nothing to repeat at offset 3
3140    
3141  /a{2,3}?+b/  /a{2,3}?+b/I
3142  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3143    
3144  /(?U)a+?+/  /(?U)a+?+/I
3145  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3146    
3147  /a{2,3}?+b/U  /a{2,3}?+b/IU
3148  Failed: nothing to repeat at offset 7  Failed: nothing to repeat at offset 7
3149    
3150  /x(?U)a++b/D  /x(?U)a++b/DZ
3151  ------------------------------------------------------------------  ------------------------------------------------------------------
3152    0  15 Bra 0          Bra
3153    3     x          x
3154    5   5 Once          a++
3155    8     a+          b
3156   10   5 Ket          Ket
3157   13     b          End
  15  15 Ket  
  18     End  
3158  ------------------------------------------------------------------  ------------------------------------------------------------------
3159  Capturing subpattern count = 0  Capturing subpattern count = 0
3160  Partial matching not supported  Partial matching not supported
# Line 3129  Need char = 'b' Line 3164  Need char = 'b'
3164      xaaaab      xaaaab
3165   0: xaaaab   0: xaaaab
3166    
3167  /(?U)xa++b/D  /(?U)xa++b/DZ
3168  ------------------------------------------------------------------  ------------------------------------------------------------------
3169    0  15 Bra 0          Bra
3170    3     x          x
3171    5   5 Once          a++
3172    8     a+          b
3173   10   5 Ket          Ket
3174   13     b          End
  15  15 Ket  
  18     End  
3175  ------------------------------------------------------------------  ------------------------------------------------------------------
3176  Capturing subpattern count = 0  Capturing subpattern count = 0
3177  Partial matching not supported  Partial matching not supported
# Line 3148  Need char = 'b' Line 3181  Need char = 'b'
3181      xaaaab      xaaaab
3182   0: xaaaab   0: xaaaab
3183    
3184  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D  /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
3185  ------------------------------------------------------------------  ------------------------------------------------------------------
3186    0 106 Bra 0          Bra
3187    3     ^          ^
3188    4  99 Bra 1          CBra 1
3189    7   5 Bra 2          CBra 2
3190   10     a+          a+
3191   12   5 Ket          Ket
3192   15  37 Bra 3          CBra 3
3193   18     [ab]+?          [ab]+?
3194   52  37 Ket          Ket
3195   55  37 Bra 4          CBra 4
3196   58     [bc]+          [bc]+
3197   92  37 Ket          Ket
3198   95   5 Bra 5          CBra 5
3199   98     \w*          \w*
3200  100   5 Ket          Ket
3201  103  99 Ket          Ket
3202  106 106 Ket          Ket
3203  109     End          End
3204  ------------------------------------------------------------------  ------------------------------------------------------------------
3205  Capturing subpattern count = 5  Capturing subpattern count = 5
3206  Partial matching not supported  Partial matching not supported
# Line 3175  Options: anchored Line 3208  Options: anchored
3208  No first char  No first char
3209  No need char  No need char
3210    
3211  /^x(?U)a+b/D  /^x(?U)a+b/DZ
3212  ------------------------------------------------------------------  ------------------------------------------------------------------
3213    0  10 Bra 0          Bra
3214    3     ^          ^
3215    4     x          x
3216    6     a+?          a++
3217    8     b          b
3218   10  10 Ket          Ket
3219   13     End          End
3220  ------------------------------------------------------------------  ------------------------------------------------------------------
3221  Capturing subpattern count = 0  Capturing subpattern count = 0
3222  Partial matching not supported  Partial matching not supported
# Line 3191  Options: anchored Line 3224  Options: anchored
3224  No first char  No first char
3225  Need char = 'b'  Need char = 'b'
3226    
3227  /^x(?U)(a+)b/D  /^x(?U)(a+)b/DZ
3228  ------------------------------------------------------------------  ------------------------------------------------------------------
3229    0  16 Bra 0          Bra
3230    3     ^          ^
3231    4     x          x
3232    6   5 Bra 1          CBra 1
3233    9     a+?          a+?
3234   11   5 Ket          Ket
3235   14     b          b
3236   16  16 Ket          Ket
3237   19     End          End
3238  ------------------------------------------------------------------  ------------------------------------------------------------------
3239  Capturing subpattern count = 1  Capturing subpattern count = 1
3240  Partial matching not supported  Partial matching not supported
# Line 3209  Options: anchored Line 3242  Options: anchored
3242  No first char  No first char
3243  Need char = 'b'  Need char = 'b'
3244    
3245  /[.x.]/  /[.x.]/I
3246  Failed: POSIX collating elements are not supported at offset 0  Failed: POSIX collating elements are not supported at offset 0
3247    
3248  /[=x=]/  /[=x=]/I
3249  Failed: POSIX collating elements are not supported at offset 0  Failed: POSIX collating elements are not supported at offset 0
3250    
3251  /[:x:]/  /[:x:]/I
3252  Failed: POSIX named classes are supported only within a class at offset 0  Failed: POSIX named classes are supported only within a class at offset 0
3253    
3254  /\l/  /\l/I
3255  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3256    
3257  /\L/  /\L/I
3258  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3259    
3260  /\N{name}/  /\N{name}/I
3261  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3262    
3263  /\u/  /\u/I
3264  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3265    
3266  /\U/  /\U/I
3267  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1  Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
3268    
3269  /[/  /[/I
3270  Failed: missing terminating ] for character class at offset 1  Failed: missing terminating ] for character class at offset 1
3271    
3272  /[a-/  /[a-/I
3273  Failed: missing terminating ] for character class at offset 3  Failed: missing terminating ] for character class at offset 3
3274    
3275  /[[:space:]/  /[[:space:]/I
3276  Failed: missing terminating ] for character class at offset 10  Failed: missing terminating ] for character class at offset 10
3277    
3278  /[\s]/DM  /[\s]/IDZ
 Memory allocation (code space): 40  
3279  ------------------------------------------------------------------  ------------------------------------------------------------------
3280    0  36 Bra 0          Bra
3281    3     [\x09\x0a\x0c\x0d ]          [\x09\x0a\x0c\x0d ]
3282   36  36 Ket          Ket
3283   39     End          End
3284  ------------------------------------------------------------------  ------------------------------------------------------------------
3285  Capturing subpattern count = 0  Capturing subpattern count = 0
3286  No options  No options
3287  No first char  No first char
3288  No need char  No need char
3289    
3290  /[[:space:]]/DM  /[[:space:]]/IDZ
 Memory allocation (code space): 40  
3291  ------------------------------------------------------------------  ------------------------------------------------------------------
3292    0  36 Bra 0          Bra
3293    3     [\x09-\x0d ]          [\x09-\x0d ]
3294   36  36 Ket          Ket
3295   39     End          End
3296  ------------------------------------------------------------------  ------------------------------------------------------------------
3297  Capturing subpattern count = 0  Capturing subpattern count = 0
3298    Contains explicit CR or LF match
3299  No options  No options
3300  No first char  No first char
3301  No need char  No need char
3302    
3303  /[[:space:]abcde]/DM  /[[:space:]abcde]/IDZ
 Memory allocation (code space): 40  
3304  ------------------------------------------------------------------  ------------------------------------------------------------------
3305    0  36 Bra 0          Bra
3306    3     [\x09-\x0d a-e]          [\x09-\x0d a-e]
3307   36  36 Ket          Ket
3308   39     End          End
3309  ------------------------------------------------------------------  ------------------------------------------------------------------
3310  Capturing subpattern count = 0  Capturing subpattern count = 0
3311    Contains explicit CR or LF match
3312  No options  No options
3313  No first char  No first char
3314  No need char  No need char
3315    
3316  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x  /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
3317  Capturing subpattern count = 0  Capturing subpattern count = 0
3318  Partial matching not supported  Partial matching not supported
3319    Contains explicit CR or LF match
3320  Options: extended  Options: extended
3321  First char = '<'  First char = '<'
3322  Need char = '>'  Need char = '>'
# Line 3295  Need char = '>' Line 3328  Need char = '>'
3328   0: <abc <123> hij>   0: <abc <123> hij>
3329      <abc <def> hij>      <abc <def> hij>
3330   0: <def>   0: <def>
3331      <abc<>def>      <abc<>def>
3332   0: <abc<>def>   0: <abc<>def>
3333      <abc<>      <abc<>
3334   0: <>   0: <>
3335      *** Failers      *** Failers
3336  No match  No match
3337      <abc      <abc
3338  No match  No match
3339    
3340  |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM  |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
 Memory allocation (code space): 826  
3341  ------------------------------------------------------------------  ------------------------------------------------------------------
3342    0 822 Bra 0          Bra
3343    3     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          8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3344  821     \b          \b
3345  822 822 Ket          Ket
3346  825     End          End
3347  ------------------------------------------------------------------  ------------------------------------------------------------------
3348  Capturing subpattern count = 0  Capturing subpattern count = 0
3349  No options  No options
3350  First char = '8'  First char = '8'
3351  Need char = 'X'  Need char = 'X'
3352    
3353  |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM  |\$\<\.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
 Memory allocation (code space): 816  
3354  ------------------------------------------------------------------  ------------------------------------------------------------------
3355    0 812 Bra 0          Bra
3356    3     $<.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          $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3357  811     \b          \b
3358  812 812 Ket          Ket
3359  815     End          End
3360  ------------------------------------------------------------------  ------------------------------------------------------------------
3361  Capturing subpattern count = 0  Capturing subpattern count = 0
3362  No options  No options
# Line 3344  No need char Line 3375  No need char
3375  Capturing subpattern count = 1  Capturing subpattern count = 1
3376  Partial matching not supported  Partial matching not supported
3377  No options  No options
3378  First char at start or follows \n  First char at start or follows newline
3379  No need char  No need char
3380    
3381  /(.*)\d+\1/Is  /(.*)\d+\1/Is
3382  Capturing subpattern count = 1  Capturing subpattern count = 1
3383  Max back reference = 1  Max back reference = 1
# Line 3367  Capturing subpattern count = 2 Line 3398  Capturing subpattern count = 2
3398  Max back reference = 2  Max back reference = 2
3399  Partial matching not supported  Partial matching not supported
3400  No options  No options
3401  First char at start or follows \n  First char at start or follows newline
3402  Need char = 'z'  Need char = 'z'
3403    
3404  /((.*))\d+\1/I  /((.*))\d+\1/I
# Line 3381  No need char Line 3412  No need char
3412   0: bc123bc   0: bc123bc
3413   1: bc   1: bc
3414   2: bc   2: bc
3415    
3416  /a[b]/I  /a[b]/I
3417  Capturing subpattern count = 0  Capturing subpattern count = 0
3418  No options  No options
# Line 3395  No options Line 3426  No options
3426  First char = 'a'  First char = 'a'
3427  No need char  No need char
3428    
3429  /(?=abc).xyz/iI  /(?=abc).xyz/IiI
3430  Capturing subpattern count = 0  Capturing subpattern count = 0
3431  Options: caseless  Options: caseless
3432  First char = 'a' (caseless)  First char = 'a' (caseless)
# Line 3404  Need char = 'z' (caseless) Line 3435  Need char = 'z' (caseless)
3435  /(?=abc)(?i).xyz/I  /(?=abc)(?i).xyz/I
3436  Capturing subpattern count = 0  Capturing subpattern count = 0
3437  No options  No options
 Case state changes  
3438  First char = 'a'  First char = 'a'
3439  Need char = 'z' (caseless)  Need char = 'z' (caseless)
3440    
# Line 3501  Starting byte set: a b Line 3531  Starting byte set: a b
3531    
3532  /[^a]/I  /[^a]/I
3533  Capturing subpattern count = 0  Capturing subpattern count = 0
3534    Contains explicit CR or LF match
3535  No options  No options
3536  No first char  No first char
3537  No need char  No need char
# Line 3524  No options Line 3555  No options
3555  First char = 'a'  First char = 'a'
3556  Need char = 'b'  Need char = 'b'
3557    
3558  /^a/mI  /^a/Im
3559  Capturing subpattern count = 0  Capturing subpattern count = 0
3560  Options: multiline  Options: multiline
3561  First char at start or follows \n  First char at start or follows newline
3562  Need char = 'a'  Need char = 'a'
3563    abcde    abcde
3564   0: a   0: a
3565    xy\nabc    xy\nabc
3566   0: a   0: a
3567    *** Failers    *** Failers
3568  No match  No match
3569    xyabc    xyabc
3570  No match  No match
3571    
3572  /c|abc/I  /c|abc/I
# Line 3554  Starting byte set: A B a b Line 3585  Starting byte set: A B a b
3585  /[ab](?i)cd/IS  /[ab](?i)cd/IS
3586  Capturing subpattern count = 0  Capturing subpattern count = 0
3587  No options  No options
 Case state changes  
3588  No first char  No first char
3589  Need char = 'd' (caseless)  Need char = 'd' (caseless)
3590  Starting byte set: a b  Starting byte set: a b
3591    
3592  /abc(?C)def/  /abc(?C)def/I
3593  Capturing subpattern count = 0  Capturing subpattern count = 0
3594  No options  No options
3595  First char = 'a'  First char = 'a'
# Line 3568  Need char = 'f' Line 3598  Need char = 'f'
3598  --->abcdef  --->abcdef
3599    0 ^  ^       d    0 ^  ^       d
3600   0: abcdef   0: abcdef
3601      1234abcdef      1234abcdef
3602  --->1234abcdef  --->1234abcdef
3603    0     ^  ^       d    0     ^  ^       d
3604   0: abcdef   0: abcdef
# Line 3576  Need char = 'f' Line 3606  Need char = 'f'
3606  No match  No match
3607      abcxyz      abcxyz
3608  No match  No match
3609      abcxyzf      abcxyzf
3610  --->abcxyzf  --->abcxyzf
3611    0 ^  ^        d    0 ^  ^        d
3612  No match  No match
3613    
3614  /abc(?C)de(?C1)f/  /abc(?C)de(?C1)f/I
3615  Capturing subpattern count = 0  Capturing subpattern count = 0
3616  No options  No options
3617  First char = 'a'  First char = 'a'
# Line 3591  Need char = 'f' Line 3621  Need char = 'f'
3621    0    ^  ^       d    0    ^  ^       d
3622    1    ^    ^     f    1    ^    ^     f
3623   0: abcdef   0: abcdef
3624    
3625  /(?C1)\dabc(?C2)def/  /(?C1)\dabc(?C2)def/I
3626  Capturing subpattern count = 0  Capturing subpattern count = 0
3627  No options  No options
3628  No first char  No first char
# Line 3607  Need char = 'f' Line 3637  Need char = 'f'
3637   0: 4abcdef   0: 4abcdef
3638      *** Failers      *** Failers
3639  No match  No match
3640      abcdef      abcdef
3641  --->abcdef  --->abcdef
3642    1 ^          \d    1 ^          \d
3643    1  ^         \d    1  ^         \d
# Line 3616  No match Line 3646  No match
3646    1     ^      \d    1     ^      \d
3647    1      ^     \d    1      ^     \d
3648  No match  No match
3649    
3650  /(?C255)ab/  /(?C255)ab/I
3651  Capturing subpattern count = 0  Capturing subpattern count = 0
3652  No options  No options
3653  First char = 'a'  First char = 'a'
3654  Need char = 'b'  Need char = 'b'
3655    
3656  /(?C256)ab/  /(?C256)ab/I
3657  Failed: number after (?C is > 255 at offset 6  Failed: number after (?C is > 255 at offset 6
3658    
3659  /(?Cab)xx/  /(?Cab)xx/I
3660  Failed: closing ) for (?C expected at offset 3  Failed: closing ) for (?C expected at offset 3
3661    
3662  /(?C12vr)x/  /(?C12vr)x/I
3663  Failed: closing ) for (?C expected at offset 5  Failed: closing ) for (?C expected at offset 5
3664    
3665  /abc(?C)def/  /abc(?C)def/I
3666  Capturing subpattern count = 0  Capturing subpattern count = 0
3667  No options  No options
3668  First char = 'a'  First char = 'a'
# Line 3644  No match Line 3674  No match
3674    0         ^  ^       d    0         ^  ^       d
3675   0: abcdef   0: abcdef
3676    
3677  /(abc)(?C)de(?C1)f/  /(abc)(?C)de(?C1)f/I
3678  Capturing subpattern count = 1  Capturing subpattern count = 1
3679  No options  No options
3680  First char = 'a'  First char = 'a'
# Line 3655  Need char = 'f' Line 3685  Need char = 'f'
3685    1    ^    ^     f    1    ^    ^     f
3686   0: abcdef   0: abcdef
3687   1: abc   1: abc
3688      123abcdef\C+      123abcdef\C+
3689  Callout 0: last capture = 1  Callout 0: last capture = 1
3690   0: <unset>   0: <unset>
3691   1: abc   1: abc
# Line 3668  Callout 1: last capture = 1 Line 3698  Callout 1: last capture = 1
3698         ^    ^     f         ^    ^     f
3699   0: abcdef   0: abcdef
3700   1: abc   1: abc
3701      123abcdef\C-      123abcdef\C-
3702   0: abcdef   0: abcdef
3703   1: abc   1: abc
3704      *** Failers      *** Failers
3705  No match  No match
3706      123abcdef\C!1      123abcdef\C!1
3707  --->123abcdef  --->123abcdef
3708    0    ^  ^       d    0    ^  ^       d
3709    1    ^    ^     f    1    ^    ^     f
3710  No match  No match
3711    
3712  /(?C0)(abc(?C1))*/  /(?C0)(abc(?C1))*/I
3713  Capturing subpattern count = 1  Capturing subpattern count = 1
3714  No options  No options
3715  No first char  No first char
# Line 3692  No need char Line 3722  No need char
3722    1 ^        ^    )    1 ^        ^    )
3723   0: abcabcabc   0: abcabcabc
3724   1: abc   1: abc
3725      abcabc\C!1!3      abcabc\C!1!3
3726  --->abcabc  --->abcabc
3727    0 ^          (abc(?C1))*    0 ^          (abc(?C1))*
3728    1 ^  ^       )    1 ^  ^       )
# Line 3703  No need char Line 3733  No need char
3733  --->*** Failers  --->*** Failers
3734    0 ^               (abc(?C1))*    0 ^               (abc(?C1))*
3735   0:   0:
3736      abcabcabc\C!1!3      abcabcabc\C!1!3
3737  --->abcabcabc  --->abcabcabc
3738    0 ^             (abc(?C1))*    0 ^             (abc(?C1))*
3739    1 ^  ^          )    1 ^  ^          )
# Line 3712  No need char Line 3742  No need char
3742   0: abcabc   0: abcabc
3743   1: abc   1: abc
3744    
3745  /(\d{3}(?C))*/  /(\d{3}(?C))*/I
3746  Capturing subpattern count = 1  Capturing subpattern count = 1
3747  Partial matching not supported  Partial matching not supported
3748  No options  No options
# Line 3737  Callout 0: last capture = 1 Line 3767  Callout 0: last capture = 1
3767      ^     ^    )      ^     ^    )
3768   0: 123456   0: 123456
3769   1: 456   1: 456
3770      123456789\C+      123456789\C+
3771  Callout 0: last capture = -1  Callout 0: last capture = -1
3772   0: <unset>   0: <unset>
3773  --->123456789  --->123456789
# Line 3755  Callout 0: last capture = 1 Line 3785  Callout 0: last capture = 1
3785   0: 123456789   0: 123456789
3786   1: 789   1: 789
3787    
3788  /((xyz)(?C)p|(?C1)xyzabc)/  /((xyz)(?C)p|(?C1)xyzabc)/I
3789  Capturing subpattern count = 2  Capturing subpattern count = 2
3790  No options  No options
3791  First char = 'x'  First char = 'x'
# Line 3774  Callout 1: last capture = -1 Line 3804  Callout 1: last capture = -1
3804   0: xyzabc   0: xyzabc
3805   1: xyzabc   1: xyzabc
3806    
3807  /(X)((xyz)(?C)p|(?C1)xyzabc)/  /(X)((xyz)(?C)p|(?C1)xyzabc)/I
3808  Capturing subpattern count = 3  Capturing subpattern count = 3
3809  No options  No options
3810  First char = 'X'  First char = 'X'
# Line 3796  Callout 1: last capture = 1 Line 3826  Callout 1: last capture = 1
3826   1: X   1: X
3827   2: xyzabc   2: xyzabc
3828    
3829  /(?=(abc))(?C)abcdef/  /(?=(abc))(?C)abcdef/I
3830  Capturing subpattern count = 1  Capturing subpattern count = 1
3831  No options  No options
3832  First char = 'a'  First char = 'a'
# Line 3809  Callout 0: last capture = 1 Line 3839  Callout 0: last capture = 1
3839      ^          a      ^          a
3840   0: abcdef   0: abcdef
3841   1: abc   1: abc
3842    
3843  /(?!(abc)(?C1)d)(?C2)abcxyz/  /(?!(abc)(?C1)d)(?C2)abcxyz/I
3844  Capturing subpattern count = 1  Capturing subpattern count = 1
3845  No options  No options
3846  First char = 'a'  First char = 'a'
3847  Need char = 'z'  Need char = 'z'
3848      abcxyz\C+      abcxyz\C+
3849  Callout 1: last capture = 1  Callout 1: last capture = 1
3850   0: <unset>   0: <unset>
3851   1: abc   1: abc
# Line 3827  Callout 2: last capture = -1 Line 3857  Callout 2: last capture = -1
3857      ^          a      ^          a
3858   0: abcxyz   0: abcxyz
3859    
3860  /(?<=(abc)(?C))xyz/  /(?<=(abc)(?C))xyz/I
3861  Capturing subpattern count = 1  Capturing subpattern count = 1
3862  No options  No options
3863  First char = 'x'  First char = 'x'
# Line 3840  Callout 0: last capture = 1 Line 3870  Callout 0: last capture = 1
3870         ^       )         ^       )
3871   0: xyz   0: xyz
3872   1: abc   1: abc
3873    
3874  /a(b+)(c*)(?C1)/  /a(b+)(c*)(?C1)/I
3875  Capturing subpattern count = 2  Capturing subpattern count = 2
3876  Partial matching not supported  Partial matching not supported
3877  No options  No options
# Line 3867  Callout data = 1 Line 3897  Callout data = 1
3897  Callout data = 1  Callout data = 1
3898  No match  No match
3899    
3900  /a(b+?)(c*?)(?C1)/  /a(b+?)(c*?)(?C1)/I
3901  Capturing subpattern count = 2  Capturing subpattern count = 2
3902  Partial matching not supported  Partial matching not supported
3903  No options  No options
# Line 3892  Callout data = 1 Line 3922  Callout data = 1
3922    1 ^        ^    1 ^        ^
3923  Callout data = 1  Callout data = 1
3924  No match  No match
3925    
3926  /(?C)abc/  /(?C)abc/I
3927  Capturing subpattern count = 0  Capturing subpattern count = 0
3928  No options  No options
3929  First char = 'a'  First char = 'a'
3930  Need char = 'c'  Need char = 'c'
3931    
3932  /(?C)^abc/  /(?C)^abc/I
3933  Capturing subpattern count = 0  Capturing subpattern count = 0
3934  Options: anchored  Options: anchored
3935  No first char  No first char
3936  No need char  No need char
3937    
3938  /(?C)a|b/S  /(?C)a|b/IS
3939  Capturing subpattern count = 0  Capturing subpattern count = 0
3940  No options  No options
3941  No first char  No first char
3942  No need char  No need char
3943  Starting byte set: a b  Starting byte set: a b
3944    
3945  /(?R)/  /(?R)/I
3946  Failed: recursive call could loop indefinitely at offset 3  Failed: recursive call could loop indefinitely at offset 3
3947    
3948  /(a|(?R))/  /(a|(?R))/I
3949  Failed: recursive call could loop indefinitely at offset 6  Failed: recursive call could loop indefinitely at offset 6
3950    
3951  /(ab|(bc|(de|(?R))))/  /(ab|(bc|(de|(?R))))/I
3952  Failed: recursive call could loop indefinitely at offset 15  Failed: recursive call could loop indefinitely at offset 15
3953    
3954  /x(ab|(bc|(de|(?R))))/  /x(ab|(bc|(de|(?R))))/I
3955  Capturing subpattern count = 3  Capturing subpattern count = 3
3956  No options  No options
3957  First char = 'x'  First char = 'x'
# Line 3950  No need char Line 3980  No need char
3980   3: xxab   3: xxab
3981      *** Failers      *** Failers
3982  No match  No match
3983      xyab      xyab
3984  No match  No match
3985    
3986  /(ab|(bc|(de|(?1))))/  /(ab|(bc|(de|(?1))))/I
3987  Failed: recursive call could loop indefinitely at offset 15  Failed: recursive call could loop indefinitely at offset 15
3988    
3989  /x(ab|(bc|(de|(?1)x)x)x)/  /x(ab|(bc|(de|(?1)x)x)x)/I
3990  Failed: recursive call could loop indefinitely at offset 16  Failed: recursive call could loop indefinitely at offset 16
3991    
3992  /^([^()]|\((?1)*\))*$/  /^([^()]|\((?1)*\))*$/I
3993  Capturing subpattern count = 1  Capturing subpattern count = 1
3994    Contains explicit CR or LF match
3995  Options: anchored  Options: anchored
3996  No first char  No first char
3997  No need char  No need char
# Line 3970  No need char Line 4001  No need char
4001      a(b)c      a(b)c
4002   0: a(b)c   0: a(b)c
4003   1: c   1: c
4004      a(b(c))d      a(b(c))d
4005   0: a(b(c))d   0: a(b(c))d
4006   1: d   1: d
4007      *** Failers)      *** Failers)
4008  No match  No match
4009      a(b(c)d      a(b(c)d
4010  No match  No match
4011    
4012  /^>abc>([^()]|\((?1)*\))*<xyz<$/  /^>abc>([^()]|\((?1)*\))*<xyz<$/I
4013  Capturing subpattern count = 1  Capturing subpattern count = 1
4014    Contains explicit CR or LF match
4015  Options: anchored  Options: anchored
4016  No first char  No first char
4017  Need char = '<'  Need char = '<'
# Line 3993  Need char = '<' Line 4025  Need char = '<'
4025   0: >abc>(1(2)3)<xyz<   0: >abc>(1(2)3)<xyz<
4026   1: (1(2)3)   1: (1(2)3)
4027    
4028  /(a(?1)b)/D  /(a(?1)b)/DZ
4029  ------------------------------------------------------------------  ------------------------------------------------------------------
4030    0  16 Bra 0          Bra
4031    3  10 Bra 1          CBra 1
4032    6     a          a
4033    8   3 Recurse          Once
4034   11     b          Recurse
4035   13  10 Ket          Ket
4036   16  16 Ket          b
4037   19     End          Ket
4038            Ket
4039            End
4040  ------------------------------------------------------------------  ------------------------------------------------------------------
4041  Capturing subpattern count = 1  Capturing subpattern count = 1
4042  No options  No options
4043  First char = 'a'  First char = 'a'
4044  Need char = 'b'  Need char = 'b'
4045    
4046  /(a(?1)+b)/D  /(a(?1)+b)/DZ
4047  ------------------------------------------------------------------  ------------------------------------------------------------------
4048    0  22 Bra 0          Bra
4049    3  16 Bra 1          CBra 1
4050    6     a          a
4051    8   6 Bra 0          Once
4052   11   3 Recurse          Recurse
4053   14   6 KetRmax          KetRmax
4054   17     b          b
4055   19  16 Ket          Ket
4056   22  22 Ket          Ket
4057   25     End          End
4058  ------------------------------------------------------------------  ------------------------------------------------------------------
4059  Capturing subpattern count = 1  Capturing subpattern count = 1
4060  No options  No options
4061  First char = 'a'  First char = 'a'
4062  Need char = 'b'  Need char = 'b'
4063    
4064  /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i  /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii
4065  Capturing subpattern count = 4  Capturing subpattern count = 4
4066  Max back reference = 4  Max back reference = 4
4067  Partial matching not supported  Partial matching not supported
# Line 4050  No need char Line 4084  No need char
4084   2: <unset>   2: <unset>
4085   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4086   4: A   4: A
4087      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4088   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4089   1: <unset>   1: <unset>
4090   2: <unset>   2: <unset>
# Line 4058  No need char Line 4092  No need char
4092   4: A   4: A
4093      *** Failers      *** Failers
4094  No match  No match
4095      The quick brown fox      The quick brown fox
4096  No match  No match
4097    
4098  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/  /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
4099  Capturing subpattern count = 2  Capturing subpattern count = 2
4100  Partial matching not supported  Partial matching not supported
4101  Options: anchored  Options: anchored
# Line 4081  No need char Line 4115  No need char
4115  No match  No match
4116      ((2+2)*-3)-7)      ((2+2)*-3)-7)
4117  No match  No match
4118    
4119  /^(x(y|(?1){2})z)/  /^(x(y|(?1){2})z)/I
4120  Capturing subpattern count = 2  Capturing subpattern count = 2
4121  Options: anchored  Options: anchored
4122  No first char  No first char
# Line 4091  No need char Line 4125  No need char
4125   0: xyz   0: xyz
4126   1: xyz   1: xyz
4127   2: y   2: y
4128      xxyzxyzz      xxyzxyzz
4129   0: xxyzxyzz   0: xxyzxyzz
4130   1: xxyzxyzz   1: xxyzxyzz
4131   2: xyzxyz   2: xyzxyz
# Line 4099  No need char Line 4133  No need char
4133  No match  No match
4134      xxyzz      xxyzz
4135  No match  No match
4136      xxyzxyzxyzz      xxyzxyzxyzz
4137  No match  No match
4138    
4139  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x  /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
4140  Capturing subpattern count = 2  Capturing subpattern count = 2
4141  Partial matching not supported  Partial matching not supported
4142    Contains explicit CR or LF match
4143  Options: extended  Options: extended
4144  First char = '<'  First char = '<'
4145  Need char = '>'  Need char = '>'
# Line 4124  Need char = '>' Line 4159  Need char = '>'
4159   0: <def>   0: <def>
4160   1: <def>   1: <def>
4161   2: <def>   2: <def>
4162      <abc<>def>      <abc<>def>
4163   0: <abc<>def>   0: <abc<>def>
4164   1: <abc<>def>   1: <abc<>def>
4165   2: <abc<>def>   2: <abc<>def>
4166      <abc<>      <abc<>
4167   0: <>   0: <>
4168   1: <>   1: <>
4169   2: <>   2: <>
# Line 4137  No match Line 4172  No match
4172      <abc      <abc
4173  No match  No match
4174    
4175  /(?1)/  /(?1)/I
4176  Failed: reference to non-existent subpattern at offset 3  Failed: reference to non-existent subpattern at offset 3
4177    
4178  /((?2)(abc)/  /((?2)(abc)/I
4179  Failed: reference to non-existent subpattern at offset 4  Failed: missing ) at offset 10
4180    
4181  /^(abc)def(?1)/  /^(abc)def(?1)/I
4182  Capturing subpattern count = 1  Capturing subpattern count = 1
4183  Options: anchored  Options: anchored
4184  No first char  No first char
# Line 4152  No need char Line 4187  No need char
4187   0: abcdefabc   0: abcdefabc
4188   1: abc   1: abc
4189    
4190  /^(a|b|c)=(?1)+/  /^(a|b|c)=(?1)+/I
4191  Capturing subpattern count = 1  Capturing subpattern count = 1
4192  Options: anchored  Options: anchored
4193  No first char  No first char
# Line 4163  No need char Line 4198  No need char
4198      a=b      a=b
4199   0: a=b   0: a=b
4200   1: a   1: a
4201      a=bc      a=bc
4202   0: a=bc   0: a=bc
4203   1: a   1: a
4204    
4205  /^(a|b|c)=((?1))+/  /^(a|b|c)=((?1))+/I
4206  Capturing subpattern count = 2  Capturing subpattern count = 2
4207  Options: anchored  Options: anchored
4208  No first char  No first char
# Line 4180  No need char Line 4215  No need char
4215   0: a=b   0: a=b
4216   1: a   1: a
4217   2: b   2: b
4218      a=bc      a=bc
4219   0: a=bc   0: a=bc
4220   1: a   1: a
4221   2: c   2: c
4222    
4223  /a(?P<name1>b|c)d(?P<longername2>e)/D  /a(?P<name1>b|c)d(?P<longername2>e)/DZ
4224  ------------------------------------------------------------------  ------------------------------------------------------------------
4225    0  28 Bra 0          Bra
4226    3     a          a
4227    5   5 Bra 1          CBra 1
4228    8     b          b
4229   10   5 Alt          Alt
4230   13     c          c
4231   15  10 Ket          Ket
4232   18     d          d
4233   20   5 Bra 2          CBra 2
4234   23     e          e
4235   25   5 Ket          Ket
4236   28  28 Ket          Ket
4237   31     End          End
4238  ------------------------------------------------------------------  ------------------------------------------------------------------
4239  Capturing subpattern count = 2  Capturing subpattern count = 2
4240  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4212  Need char = 'e' Line 4247  Need char = 'e'
4247   0: abde   0: abde
4248   1: b   1: b
4249   2: e   2: e
4250      acde      acde
4251   0: acde   0: acde
4252   1: c   1: c
4253   2: e   2: e
4254    
4255  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D  /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
4256  ------------------------------------------------------------------  ------------------------------------------------------------------
4257    0  35 Bra 0          Bra
4258    3  21 Bra 0          Bra
4259    6     a          a
4260    8  13 Bra 1          CBra 1
4261   11     c          c
4262   13   5 Bra 2          CBra 2
4263   16     d          d
4264   18   5 Ket          Ket
4265   21  13 Ket          Ket
4266   24  21 Ket          Ket
4267   27   5 Bra 3          CBra 3
4268   30     a          a
4269   32   5 Ket          Ket
4270   35  35 Ket          Ket
4271   38     End          End
4272  ------------------------------------------------------------------  ------------------------------------------------------------------
4273  Capturing subpattern count = 3  Capturing subpattern count = 3
4274  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4244  No options Line 4279  No options
4279  First char = 'a'  First char = 'a'
4280  Need char = 'a'  Need char = 'a'
4281    
4282  /(?P<a>a)...(?P=a)bbb(?P>a)d/D  /(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
4283  ------------------------------------------------------------------  ------------------------------------------------------------------
4284    0  28 Bra 0          Bra
4285    3   5 Bra 1          CBra 1
4286    6     a          a
4287    8   5 Ket          Ket
4288   11     Any          Any
4289   12     Any          Any
4290   13     Any          Any
4291   14     \1          \1
4292   17     bbb          bbb
4293   23   3 Recurse          Once
4294   26     d          Recurse
4295   28  28 Ket          Ket
4296   31     End          d
4297            Ket
4298            End
4299  ------------------------------------------------------------------  ------------------------------------------------------------------
4300  Capturing subpattern count = 1  Capturing subpattern count = 1
4301  Max back reference = 1  Max back reference = 1
# Line 4268  No options Line 4305  No options
4305  First char = 'a'  First char = 'a'
4306  Need char = 'd'  Need char = 'd'
4307    
4308  /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/i  /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/Ii
4309  Capturing subpattern count = 4  Capturing subpattern count = 4
4310  Max back reference = 4  Max back reference = 4
4311  Named capturing subpatterns:  Named capturing subpatterns:
# Line 4296  No need char Line 4333  No need char
4333   2: <unset>   2: <unset>
4334   3: A man, a plan, a canal: Panama   3: A man, a plan, a canal: Panama
4335   4: A   4: A
4336      Able was I ere I saw Elba.      Able was I ere I saw Elba.
4337   0: Able was I ere I saw Elba.   0: Able was I ere I saw Elba.
4338   1: <unset>   1: <unset>
4339   2: <unset>   2: <unset>
# Line 4304  No need char Line 4341  No need char
4341   4: A   4: A
4342      *** Failers      *** Failers
4343  No match  No match
4344      The quick brown fox      The quick brown fox
4345  No match  No match
4346    
4347  /((?(R)a|b))\1(?1)?/  /((?(R)a|b))\1(?1)?/I
4348  Capturing subpattern count = 1  Capturing subpattern count = 1
4349  Max back reference = 1  Max back reference = 1
4350  No options  No options
# Line 4316  No need char Line 4353  No need char
4353    bb    bb
4354   0: bb   0: bb
4355   1: b   1: b
4356    bbaa    bbaa
4357   0: bba   0: bba
4358   1: b   1: b
4359    
4360  /(.*)a/sI  /(.*)a/Is
4361  Capturing subpattern count = 1  Capturing subpattern count = 1
4362  Partial matching not supported  Partial matching not supported
4363  Options: anchored dotall  Options: anchored dotall
4364  No first char  No first char
4365  Need char = 'a'  Need char = 'a'
4366    
4367  /(.*)a\1/sI  /(.*)a\1/Is
4368  Capturing subpattern count = 1  Capturing subpattern count = 1
4369  Max back reference = 1  Max back reference = 1
4370  Partial matching not supported  Partial matching not supported
# Line 4335  Options: dotall Line 4372  Options: dotall
4372  No first char  No first char
4373  Need char = 'a'  Need char = 'a'
4374    
4375  /(.*)a(b)\2/sI  /(.*)a(b)\2/Is
4376  Capturing subpattern count = 2  Capturing subpattern count = 2
4377  Max back reference = 2  Max back reference = 2
4378  Partial matching not supported  Partial matching not supported
# Line 4343  Options: anchored dotall Line 4380  Options: anchored dotall
4380  No first char  No first char
4381  Need char = 'b'  Need char = 'b'
4382    
4383  /((.*)a|(.*)b)z/sI  /((.*)a|(.*)b)z/Is
4384  Capturing subpattern count = 3  Capturing subpattern count = 3
4385  Partial matching not supported  Partial matching not supported
4386  Options: anchored dotall  Options: anchored dotall
4387  No first char  No first char
4388  Need char = 'z'  Need char = 'z'
4389    
4390  /((.*)a|(.*)b)z\1/sI  /((.*)a|(.*)b)z\1/Is
4391  Capturing subpattern count = 3  Capturing subpattern count = 3
4392  Max back reference = 1  Max back reference = 1
4393  Partial matching not supported  Partial matching not supported
# Line 4358  Options: dotall Line 4395  Options: dotall
4395  No first char  No first char
4396  Need char = 'z'  Need char = 'z'
4397    
4398  /((.*)a|(.*)b)z\2/sI  /((.*)a|(.*)b)z\2/Is
4399  Capturing subpattern count = 3  Capturing subpattern count = 3
4400  Max back reference = 2  Max back reference = 2
4401  Partial matching not supported  Partial matching not supported
# Line 4366  Options: dotall Line 4403  Options: dotall
4403  No first char  No first char
4404  Need char = 'z'  Need char = 'z'
4405    
4406  /((.*)a|(.*)b)z\3/sI  /((.*)a|(.*)b)z\3/Is
4407  Capturing subpattern count = 3  Capturing subpattern count = 3
4408  Max back reference = 3  Max back reference = 3
4409  Partial matching not supported  Partial matching not supported
# Line 4374  Options: dotall Line 4411  Options: dotall
4411  No first char  No first char
4412  Need char = 'z'  Need char = 'z'
4413    
4414  /((.*)a|^(.*)b)z\3/sI  /((.*)a|^(.*)b)z\3/Is
4415  Capturing subpattern count = 3  Capturing subpattern count = 3
4416  Max back reference = 3  Max back reference = 3
4417  Partial matching not supported  Partial matching not supported
# Line 4382  Options: anchored dotall Line 4419  Options: anchored dotall
4419  No first char  No first char
4420  Need char = 'z'  Need char = 'z'
4421    
4422  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI  /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/Is
4423  Capturing subpattern count = 31  Capturing subpattern count = 31
4424  Partial matching not supported  Partial matching not supported