httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pgollu...@apache.org
Subject svn commit: r598343 [21/22] - in /httpd/httpd/vendor/pcre/current: ./ doc/ doc/html/ testdata/
Date Mon, 26 Nov 2007 17:04:37 GMT
Modified: httpd/httpd/vendor/pcre/current/testdata/testoutput2
URL: http://svn.apache.org/viewvc/httpd/httpd/vendor/pcre/current/testdata/testoutput2?rev=598343&r1=598342&r2=598343&view=diff
==============================================================================
--- httpd/httpd/vendor/pcre/current/testdata/testoutput2 (original)
+++ httpd/httpd/vendor/pcre/current/testdata/testoutput2 Mon Nov 26 09:04:19 2007
@@ -1,10 +1,12 @@
-/(a)b|/I
+PCRE version 5.0 13-Sep-2004
+
+/(a)b|/
 Capturing subpattern count = 1
 No options
 No first char
 No need char
 
-/abc/I
+/abc/
 Capturing subpattern count = 0
 No options
 First char = 'a'
@@ -22,7 +24,7 @@
     ABC
 No match
 
-/^abc/I
+/^abc/
 Capturing subpattern count = 0
 Options: anchored
 No first char
@@ -38,35 +40,35 @@
     \Adefabc
 No match
 
-/a+bc/I
+/a+bc/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 Need char = 'c'
 
-/a*bc/I
+/a*bc/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 No first char
 Need char = 'c'
 
-/a{3}bc/I
+/a{3}bc/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 Need char = 'c'
 
-/(abc|a+z)/I
+/(abc|a+z)/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
 First char = 'a'
 No need char
 
-/^abc$/I
+/^abc$/
 Capturing subpattern count = 0
 Options: anchored
 No first char
@@ -78,10 +80,10 @@
     def\nabc
 No match
 
-/ab\idef/X
+/ab\gdef/X
 Failed: unrecognized character follows \ at offset 3
 
-/(?X)ab\idef/X
+/(?X)ab\gdef/X
 Failed: unrecognized character follows \ at offset 7
 
 /x{5,4}/
@@ -111,21 +113,21 @@
 /(?z)abc/
 Failed: unrecognized character after (? at offset 2
 
-/.*b/I
+/.*b/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
-First char at start or follows newline
+First char at start or follows \n
 Need char = 'b'
 
-/.*?b/I
+/.*?b/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
-First char at start or follows newline
+First char at start or follows \n
 Need char = 'b'
 
-/cat|dog|elephant/I
+/cat|dog|elephant/
 Capturing subpattern count = 0
 No options
 No first char
@@ -135,7 +137,7 @@
     this sentences rambles on and on for a while and then reaches elephant
  0: elephant
 
-/cat|dog|elephant/IS
+/cat|dog|elephant/S
 Capturing subpattern count = 0
 No options
 No first char
@@ -146,7 +148,7 @@
     this sentences rambles on and on for a while and then reaches elephant
  0: elephant
 
-/cat|dog|elephant/IiS
+/cat|dog|elephant/iS
 Capturing subpattern count = 0
 Options: caseless
 No first char
@@ -157,14 +159,14 @@
     this sentences rambles on and on for a while to elephant ElePhant
  0: elephant
 
-/a|[bcd]/IS
+/a|[bcd]/S
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 Starting byte set: a b c d 
 
-/(a|[^\dZ])/IS
+/(a|[^\dZ])/S
 Capturing subpattern count = 1
 No options
 No first char
@@ -184,7 +186,7 @@
   \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb 
   \xfc \xfd \xfe \xff 
 
-/(a|b)*[\s]/IS
+/(a|b)*[\s]/S
 Capturing subpattern count = 1
 No options
 No first char
@@ -197,7 +199,7 @@
 /{4,5}abc/
 Failed: nothing to repeat at offset 4
 
-/(a)(b)(c)\2/I
+/(a)(b)(c)\2/
 Capturing subpattern count = 3
 Max back reference = 2
 No options
@@ -222,13 +224,13 @@
  0: abcb
  1: a
  2: b
-    \O12abcb
+    \O12abcb 
  0: abcb
  1: a
  2: b
  3: c
 
-/(a)bc|(a)(b)\2/I
+/(a)bc|(a)(b)\2/
 Capturing subpattern count = 3
 Max back reference = 2
 No options
@@ -270,7 +272,7 @@
  2: a
  3: b
 
-/abc$/IE
+/abc$/E
 Capturing subpattern count = 0
 Options: dollar_endonly
 First char = 'a'
@@ -287,7 +289,7 @@
 /(a)(b)(c)(d)(e)\6/
 Failed: reference to non-existent subpattern at offset 17
 
-/the quick brown fox/I
+/the quick brown fox/
 Capturing subpattern count = 0
 No options
 First char = 't'
@@ -297,7 +299,7 @@
     this is a line with the quick brown fox
  0: the quick brown fox
 
-/the quick brown fox/IA
+/the quick brown fox/A
 Capturing subpattern count = 0
 Options: anchored
 No first char
@@ -312,7 +314,7 @@
 /ab(?z)cd/
 Failed: unrecognized character after (? at offset 4
 
-/^abc|def/I
+/^abc|def/
 Capturing subpattern count = 0
 No options
 No first char
@@ -322,11 +324,11 @@
     abcdef\B
  0: def
 
-/.*((abc)$|(def))/I
+/.*((abc)$|(def))/
 Capturing subpattern count = 3
 Partial matching not supported
 No options
-First char at start or follows newline
+First char at start or follows \n
 No need char
     defabc
  0: defabc
@@ -338,19 +340,19 @@
  2: <unset>
  3: def
 
-/abc/IP
+/abc/P
     abc
  0: abc
     *** Failers
 No match: POSIX code 17: match failed
-
-/^abc|def/IP
+    
+/^abc|def/P
     abcdef
  0: abc
     abcdef\B
  0: def
 
-/.*((abc)$|(def))/IP
+/.*((abc)$|(def))/P
     defabc
  0: defabc
  1: abc
@@ -359,37 +361,37 @@
  0: def
  1: def
  3: def
-
-/the quick brown fox/IP
+  
+/the quick brown fox/P
     the quick brown fox
  0: the quick brown fox
-    *** Failers
+    *** Failers 
 No match: POSIX code 17: match failed
-    The Quick Brown Fox
+    The Quick Brown Fox 
 No match: POSIX code 17: match failed
 
-/the quick brown fox/IPi
+/the quick brown fox/Pi
     the quick brown fox
  0: the quick brown fox
-    The Quick Brown Fox
+    The Quick Brown Fox 
  0: The Quick Brown Fox
 
-/abc.def/IP
+/abc.def/P
     *** Failers
 No match: POSIX code 17: match failed
     abc\ndef
 No match: POSIX code 17: match failed
-
-/abc$/IP
+    
+/abc$/P
     abc
  0: abc
-    abc\n
+    abc\n 
  0: abc
 
-/(abc)\2/IP
+/(abc)\2/P
 Failed: POSIX code 15: bad back reference at offset 7     
 
-/(abc\1)/IP
+/(abc\1)/P
     abc
 No match: POSIX code 17: match failed
 
@@ -399,16 +401,16 @@
 /a[]b/
 Failed: missing terminating ] for character class at offset 4
 
-/[^aeiou ]{3,}/I
+/[^aeiou ]{3,}/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 No first char
 No need char
-    co-processors, and for
+    co-processors, and for 
  0: -pr
-
-/<.*>/I
+    
+/<.*>/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
@@ -417,7 +419,7 @@
     abc<def>ghi<klm>nop
  0: <def>ghi<klm>
 
-/<.*?>/I
+/<.*?>/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
@@ -426,7 +428,7 @@
     abc<def>ghi<klm>nop
  0: <def>
 
-/<.*>/IU
+/<.*>/U
 Capturing subpattern count = 0
 Partial matching not supported
 Options: ungreedy
@@ -434,8 +436,8 @@
 Need char = '>'
     abc<def>ghi<klm>nop
  0: <def>
-
-/(?U)<.*>/I
+    
+/(?U)<.*>/
 Capturing subpattern count = 0
 Partial matching not supported
 Options: ungreedy
@@ -444,7 +446,7 @@
     abc<def>ghi<klm>nop
  0: <def>
 
-/<.*?>/IU
+/<.*?>/U
 Capturing subpattern count = 0
 Partial matching not supported
 Options: ungreedy
@@ -452,8 +454,8 @@
 Need char = '>'
     abc<def>ghi<klm>nop
  0: <def>ghi<klm>
-
-/={3,}/IU
+    
+/={3,}/U
 Capturing subpattern count = 0
 Partial matching not supported
 Options: ungreedy
@@ -461,8 +463,8 @@
 Need char = '='
     abc========def
  0: ===
-
-/(?U)={3,}?/I
+    
+/(?U)={3,}?/
 Capturing subpattern count = 0
 Partial matching not supported
 Options: ungreedy
@@ -470,21 +472,21 @@
 Need char = '='
     abc========def
  0: ========
-
-/(?<!bar|cattle)foo/I
+    
+/(?<!bar|cattle)foo/
 Capturing subpattern count = 0
 No options
 First char = 'f'
 Need char = 'o'
     foo
  0: foo
-    catfoo
+    catfoo 
  0: foo
     *** Failers
 No match
     the barfoo
 No match
-    and cattlefoo
+    and cattlefoo   
 No match
 
 /(?<=a+)b/
@@ -496,68 +498,69 @@
 /(?<!(foo)a\1)bar/
 Failed: lookbehind assertion is not fixed length at offset 12
 
-/(?i)abc/I
+/(?i)abc/
 Capturing subpattern count = 0
 Options: caseless
 First char = 'a' (caseless)
 Need char = 'c' (caseless)
 
-/(a|(?m)a)/I
+/(a|(?m)a)/
 Capturing subpattern count = 1
 No options
 First char = 'a'
 No need char
 
-/(?i)^1234/I
+/(?i)^1234/
 Capturing subpattern count = 0
 Options: anchored caseless
 No first char
 No need char
 
-/(^b|(?i)^d)/I
+/(^b|(?i)^d)/
 Capturing subpattern count = 1
 Options: anchored
+Case state changes
 No first char
 No need char
 
-/(?s).*/I
+/(?s).*/
 Capturing subpattern count = 0
 Partial matching not supported
 Options: anchored dotall
 No first char
 No need char
 
-/[abcd]/IS
+/[abcd]/S
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 Starting byte set: a b c d 
 
-/(?i)[abcd]/IS
+/(?i)[abcd]/S
 Capturing subpattern count = 0
 Options: caseless
 No first char
 No need char
 Starting byte set: A B C D a b c d 
 
-/(?m)[xy]|(b|c)/IS
+/(?m)[xy]|(b|c)/S
 Capturing subpattern count = 1
 Options: multiline
 No first char
 No need char
 Starting byte set: b c x y 
 
-/(^a|^b)/Im
+/(^a|^b)/m
 Capturing subpattern count = 1
 Options: multiline
-First char at start or follows newline
+First char at start or follows \n
 No need char
 
-/(?i)(^a|^b)/Im
+/(?i)(^a|^b)/m
 Capturing subpattern count = 1
 Options: caseless multiline
-First char at start or follows newline
+First char at start or follows \n
 No need char
 
 /(a)(?(1)a|b|c)/
@@ -567,21 +570,18 @@
 Failed: conditional group contains more than two branches at offset 12
 
 /(?(1a)/
-Failed: missing ) at offset 6
-
-/(?(1a))/
-Failed: reference to non-existent subpattern at offset 6
+Failed: malformed number after (?( at offset 4
 
 /(?(?i))/
 Failed: assertion expected after (?( at offset 3
 
 /(?(abc))/
-Failed: reference to non-existent subpattern at offset 7
+Failed: assertion expected after (?( at offset 3
 
 /(?(?<ab))/
-Failed: syntax error in subpattern name (missing terminator) at offset 7
+Failed: unrecognized character after (?< at offset 5
 
-/((?s)blah)\s+\1/I
+/((?s)blah)\s+\1/
 Capturing subpattern count = 1
 Max back reference = 1
 Partial matching not supported
@@ -589,40 +589,43 @@
 First char = 'b'
 Need char = 'h'
 
-/((?i)blah)\s+\1/I
+/((?i)blah)\s+\1/
 Capturing subpattern count = 1
 Max back reference = 1
 Partial matching not supported
 No options
+Case state changes
 First char = 'b' (caseless)
 Need char = 'h' (caseless)
 
-/((?i)b)/IDZS
+/((?i)b)/DS
 ------------------------------------------------------------------
-        Bra
-        CBra 1
-     01 Opt
-     NC b
-        Ket
-     00 Opt
-        Ket
-        End
+  0  15 Bra 0
+  3   7 Bra 1
+  6  01 Opt
+  8  NC b
+ 10   7 Ket
+ 13  00 Opt
+ 15  15 Ket
+ 18     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 No options
+Case state changes
 First char = 'b' (caseless)
 No need char
 Study returned NULL
 
-/(a*b|(?i:c*(?-i)d))/IS
+/(a*b|(?i:c*(?-i)d))/S
 Capturing subpattern count = 1
 Partial matching not supported
 No options
+Case state changes
 No first char
 No need char
 Starting byte set: C a b c d 
 
-/a$/I
+/a$/
 Capturing subpattern count = 0
 No options
 First char = 'a'
@@ -631,14 +634,14 @@
  0: a
     a\n
  0: a
-    *** Failers
+    *** Failers 
 No match
     \Za
 No match
-    \Za\n
+    \Za\n   
 No match
 
-/a$/Im
+/a$/m
 Capturing subpattern count = 0
 Options: multiline
 First char = 'a'
@@ -647,26 +650,26 @@
  0: a
     a\n
  0: a
-    \Za\n
+    \Za\n   
  0: a
-    *** Failers
+    *** Failers 
 No match
     \Za
 No match
-
-/\Aabc/Im
+    
+/\Aabc/m
 Capturing subpattern count = 0
 Options: anchored multiline
 No first char
 No need char
 
-/^abc/Im
+/^abc/m 
 Capturing subpattern count = 0
 Options: multiline
-First char at start or follows newline
+First char at start or follows \n
 Need char = 'c'
 
-/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/I
+/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
 Capturing subpattern count = 5
 Partial matching not supported
 Options: anchored
@@ -680,65 +683,63 @@
  4: bbbbccccc
  5: def
 
-/(?<=foo)[ab]/IS
+/(?<=foo)[ab]/S
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 Starting byte set: a b 
 
-/(?<!foo)(alpha|omega)/IS
+/(?<!foo)(alpha|omega)/S
 Capturing subpattern count = 1
 No options
 No first char
 Need char = 'a'
 Starting byte set: a o 
 
-/(?!alphabet)[ab]/IS
+/(?!alphabet)[ab]/S
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 Starting byte set: a b 
 
-/(?<=foo\n)^bar/Im
+/(?<=foo\n)^bar/m
 Capturing subpattern count = 0
-Contains explicit CR or LF match
 Options: multiline
 No first char
 Need char = 'r'
-    foo\nbarbar
+    foo\nbarbar 
  0: bar
     ***Failers
 No match
-    rhubarb
+    rhubarb 
 No match
     barbell
 No match
-    abc\nbarton
+    abc\nbarton 
 No match
 
-/^(?<=foo\n)bar/Im
+/^(?<=foo\n)bar/m
 Capturing subpattern count = 0
-Contains explicit CR or LF match
 Options: multiline
-First char at start or follows newline
+First char at start or follows \n
 Need char = 'r'
-    foo\nbarbar
+    foo\nbarbar 
  0: bar
     ***Failers
 No match
-    rhubarb
+    rhubarb 
 No match
     barbell
 No match
-    abc\nbarton
+    abc\nbarton 
 No match
 
-/(?>^abc)/Im
+/(?>^abc)/m
 Capturing subpattern count = 0
 Options: multiline
-First char at start or follows newline
+First char at start or follows \n
 Need char = 'c'
     abc
  0: abc
@@ -746,7 +747,7 @@
  0: abc
     *** Failers
 No match
-    defabc
+    defabc   
 No match
 
 /(?<=ab(c+)d)ef/
@@ -759,8 +760,12 @@
 Failed: lookbehind assertion is not fixed length at offset 13
 
 /The next three are in testinput2 because they have variable length branches/
+Capturing subpattern count = 0
+No options
+First char = 'T'
+Need char = 's'
 
-/(?<=bullock|donkey)-cart/I
+/(?<=bullock|donkey)-cart/
 Capturing subpattern count = 0
 No options
 First char = '-'
@@ -773,20 +778,21 @@
 No match
     cart
 No match
-    horse-and-cart
+    horse-and-cart    
 No match
-
-/(?<=ab(?i)x|y|z)/I
+      
+/(?<=ab(?i)x|y|z)/
 Capturing subpattern count = 0
 No options
+Case state changes
 No first char
 No need char
 
-/(?>.*)(?<=(abcd)|(xyz))/I
+/(?>.*)(?<=(abcd)|(xyz))/
 Capturing subpattern count = 2
 Partial matching not supported
 No options
-First char at start or follows newline
+First char at start or follows \n
 No need char
     alphabetabcd
  0: alphabetabcd
@@ -796,9 +802,10 @@
  1: <unset>
  2: xyz
 
-/(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/I
+/(?<=ab(?i)x(?-i)y|(?i)z|b)ZZ/
 Capturing subpattern count = 0
 No options
+Case state changes
 First char = 'Z'
 Need char = 'Z'
     abxyZZ
@@ -811,56 +818,56 @@
  0: ZZ
     bZZ
  0: ZZ
-    BZZ
+    BZZ     
  0: ZZ
     *** Failers
 No match
-    ZZ
+    ZZ 
 No match
-    abXYZZ
+    abXYZZ 
 No match
     zzz
 No match
-    bzz
+    bzz  
 No match
 
-/(?<!(foo)a)bar/I
+/(?<!(foo)a)bar/
 Capturing subpattern count = 1
 No options
 First char = 'b'
 Need char = 'r'
     bar
  0: bar
-    foobbar
+    foobbar 
  0: bar
     *** Failers
 No match
-    fooabar
+    fooabar  
 No match
 
-/This one is here because Perl 5.005_02 doesn't fail it/I
+/This one is here because Perl 5.005_02 doesn't fail it/
 Capturing subpattern count = 0
 No options
 First char = 'T'
 Need char = 't'
 
-/^(a)?(?(1)a|b)+$/I
+/^(a)?(?(1)a|b)+$/
 Capturing subpattern count = 1
 Options: anchored
 No first char
 No need char
     *** Failers
 No match
-    a
+    a 
 No match
 
-/This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/I
+/This one is here because I think Perl 5.005_02 gets the setting of $1 wrong/
 Capturing subpattern count = 0
 No options
 First char = 'T'
 Need char = 'g'
 
-/^(a\1?){4}$/I
+/^(a\1?){4}$/
 Capturing subpattern count = 1
 Max back reference = 1
 Options: anchored
@@ -869,8 +876,8 @@
     aaaaaa
  0: aaaaaa
  1: aa
-
-/These are syntax tests from Perl 5.005/I
+    
+/These are syntax tests from Perl 5.005/
 Capturing subpattern count = 0
 No options
 First char = 'T'
@@ -912,31 +919,31 @@
 /(a)|\2/
 Failed: reference to non-existent subpattern at offset 6
 
-/a[b-a]/Ii
+/a[b-a]/i
 Failed: range out of order in character class at offset 4
 
-/a[]b/Ii
+/a[]b/i
 Failed: missing terminating ] for character class at offset 4
 
-/a[/Ii
+/a[/i
 Failed: missing terminating ] for character class at offset 2
 
-/*a/Ii
+/*a/i
 Failed: nothing to repeat at offset 0
 
-/(*)b/Ii
+/(*)b/i
 Failed: nothing to repeat at offset 1
 
-/abc)/Ii
+/abc)/i
 Failed: unmatched parentheses at offset 3
 
-/(abc/Ii
+/(abc/i
 Failed: missing ) at offset 4
 
-/a**/Ii
+/a**/i
 Failed: nothing to repeat at offset 2
 
-/)(/Ii
+/)(/i
 Failed: unmatched parentheses at offset 0
 
 /:(?:/
@@ -961,7 +968,7 @@
 Failed: unrecognized character after (? at offset 3
 
 /(?(1?)a|b)/
-Failed: malformed number or name after (?( at offset 4
+Failed: malformed number after (?( at offset 4
 
 /(?(1)a|b|c)/
 Failed: conditional group contains more than two branches at offset 10
@@ -984,7 +991,7 @@
 /abc/\i
 Failed: \ at end of pattern at offset 4
 
-/(a)bc(d)/I
+/(a)bc(d)/
 Capturing subpattern count = 2
 No options
 First char = 'a'
@@ -1003,8 +1010,8 @@
  1: a
  2: d
 copy substring 5 failed -7
-
-/(.{20})/I
+     
+/(.{20})/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
@@ -1016,13 +1023,13 @@
     abcdefghijklmnopqrstuvwxyz\C1
  0: abcdefghijklmnopqrst
  1: abcdefghijklmnopqrst
- 1C abcdefghijklmnopqrst (20)
+copy substring 1 failed -6
     abcdefghijklmnopqrstuvwxyz\G1
  0: abcdefghijklmnopqrst
  1: abcdefghijklmnopqrst
  1G abcdefghijklmnopqrst (20)
-
-/(.{15})/I
+     
+/(.{15})/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
@@ -1037,7 +1044,7 @@
  1C abcdefghijklmno (15)
  1G abcdefghijklmno (15)
 
-/(.{16})/I
+/(.{16})/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
@@ -1049,17 +1056,17 @@
     abcdefghijklmnopqrstuvwxyz\C1\G1\L
  0: abcdefghijklmnop
  1: abcdefghijklmnop
- 1C abcdefghijklmnop (16)
+copy substring 1 failed -6
  1G abcdefghijklmnop (16)
  0L abcdefghijklmnop
  1L abcdefghijklmnop
-
-/^(a|(bc))de(f)/I
+    
+/^(a|(bc))de(f)/
 Capturing subpattern count = 3
 Options: anchored
 No first char
 No need char
-    adef\G1\G2\G3\G4\L
+    adef\G1\G2\G3\G4\L 
  0: adef
  1: a
  2: <unset>
@@ -1072,7 +1079,7 @@
  1L a
  2L 
  3L f
-    bcdef\G1\G2\G3\G4\L
+    bcdef\G1\G2\G3\G4\L 
  0: bcdef
  1: bc
  2: bc
@@ -1085,54 +1092,54 @@
  1L bc
  2L bc
  3L f
-    adefghijk\C0
+    adefghijk\C0 
  0: adef
  1: a
  2: <unset>
  3: f
  0C adef (4)
-
-/^abc\00def/I
+    
+/^abc\00def/
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
-    abc\00def\L\C0
+    abc\00def\L\C0 
  0: abc\x00def
  0C abc (7)
  0L abc
-
-/word ((?:[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]+
-)?)?)?)?)?)?)?)?)?otherword/I
+    
+/word ((?:[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]+ 
+)?)?)?)?)?)?)?)?)?otherword/M
+Memory allocation (code space): 432
 Capturing subpattern count = 8
 Partial matching not supported
-Contains explicit CR or LF match
 No options
 First char = 'w'
 Need char = 'd'
 
-/.*X/IDZ
+/.*X/D
 ------------------------------------------------------------------
-        Bra
-        Any*
-        X
-        Ket
-        End
+  0   7 Bra 0
+  3     Any*
+  5     X
+  7   7 Ket
+ 10     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Partial matching not supported
 No options
-First char at start or follows newline
+First char at start or follows \n
 Need char = 'X'
 
-/.*X/IDZs
+/.*X/Ds
 ------------------------------------------------------------------
-        Bra
-        Any*
-        X
-        Ket
-        End
+  0   7 Bra 0
+  3     Any*
+  5     X
+  7   7 Ket
+ 10     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Partial matching not supported
@@ -1140,56 +1147,56 @@
 No first char
 Need char = 'X'
 
-/(.*X|^B)/IDZ
+/(.*X|^B)/D
 ------------------------------------------------------------------
-        Bra
-        CBra 1
-        Any*
-        X
-        Alt
-        ^
-        B
-        Ket
-        Ket
-        End
+  0  19 Bra 0
+  3   7 Bra 1
+  6     Any*
+  8     X
+ 10   6 Alt
+ 13     ^
+ 14     B
+ 16  13 Ket
+ 19  19 Ket
+ 22     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 Partial matching not supported
 No options
-First char at start or follows newline
+First char at start or follows \n
 No need char
 
-/(.*X|^B)/IDZs
+/(.*X|^B)/Ds
 ------------------------------------------------------------------
-        Bra
-        CBra 1
-        Any*
-        X
-        Alt
-        ^
-        B
-        Ket
-        Ket
-        End
+  0  19 Bra 0
+  3   7 Bra 1
+  6     Any*
+  8     X
+ 10   6 Alt
+ 13     ^
+ 14     B
+ 16  13 Ket
+ 19  19 Ket
+ 22     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 Partial matching not supported
 Options: anchored dotall
 No first char
 No need char
-
-/(?s)(.*X|^B)/IDZ
+    
+/(?s)(.*X|^B)/D
 ------------------------------------------------------------------
-        Bra
-        CBra 1
-        Any*
-        X
-        Alt
-        ^
-        B
-        Ket
-        Ket
-        End
+  0  19 Bra 0
+  3   7 Bra 1
+  6     Any*
+  8     X
+ 10   6 Alt
+ 13     ^
+ 14     B
+ 16  13 Ket
+ 19  19 Ket
+ 22     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 Partial matching not supported
@@ -1197,29 +1204,29 @@
 No first char
 No need char
 
-/(?s:.*X|^B)/IDZ
+/(?s:.*X|^B)/D
 ------------------------------------------------------------------
-        Bra
-        Bra
-     04 Opt
-        Any*
-        X
-        Alt
-     04 Opt
-        ^
-        B
-        Ket
-     00 Opt
-        Ket
-        End
+  0  25 Bra 0
+  3   9 Bra 0
+  6  04 Opt
+  8     Any*
+ 10     X
+ 12   8 Alt
+ 15  04 Opt
+ 17     ^
+ 18     B
+ 20  17 Ket
+ 23  00 Opt
+ 25  25 Ket
+ 28     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Partial matching not supported
 No options
-First char at start or follows newline
+First char at start or follows \n
 No need char
 
-/\Biss\B/I+
+/\Biss\B/+
 Capturing subpattern count = 0
 No options
 First char = 'i'
@@ -1228,12 +1235,12 @@
  0: iss
  0+ issippi
 
-/\Biss\B/I+P
+/\Biss\B/+P
     Mississippi
  0: iss
  0+ issippi
 
-/iss/IG+
+/iss/G+
 Capturing subpattern count = 0
 No options
 First char = 'i'
@@ -1244,7 +1251,7 @@
  0: iss
  0+ ippi
 
-/\Biss\B/IG+
+/\Biss\B/G+
 Capturing subpattern count = 0
 No options
 First char = 'i'
@@ -1253,7 +1260,7 @@
  0: iss
  0+ issippi
 
-/\Biss\B/Ig+
+/\Biss\B/g+
 Capturing subpattern count = 0
 No options
 First char = 'i'
@@ -1268,7 +1275,7 @@
     Mississippi\A
 No match
 
-/(?<=[Ms])iss/Ig+
+/(?<=[Ms])iss/g+
 Capturing subpattern count = 0
 No options
 First char = 'i'
@@ -1279,7 +1286,7 @@
  0: iss
  0+ ippi
 
-/(?<=[Ms])iss/IG+
+/(?<=[Ms])iss/G+
 Capturing subpattern count = 0
 No options
 First char = 'i'
@@ -1288,7 +1295,7 @@
  0: iss
  0+ issippi
 
-/^iss/Ig+
+/^iss/g+
 Capturing subpattern count = 0
 Options: anchored
 No first char
@@ -1296,20 +1303,20 @@
     ississippi
  0: iss
  0+ issippi
-
-/.*iss/Ig+
+    
+/.*iss/g+
 Capturing subpattern count = 0
 Partial matching not supported
 No options
-First char at start or follows newline
+First char at start or follows \n
 Need char = 's'
-    abciss\nxyzisspqr
+    abciss\nxyzisspqr 
  0: abciss
  0+ \x0axyzisspqr
  0: xyziss
  0+ pqr
 
-/.i./I+g
+/.i./+g
 Capturing subpattern count = 0
 No options
 No first char
@@ -1335,11 +1342,11 @@
  0+ river
  0: riv
  0+ er
-    Missouri river\A
+    Missouri river\A  
  0: Mis
  0+ souri river
 
-/^.is/I+g
+/^.is/+g
 Capturing subpattern count = 0
 Options: anchored
 No first char
@@ -1348,9 +1355,8 @@
  0: Mis
  0+ sissippi
 
-/^ab\n/Ig+
+/^ab\n/g+
 Capturing subpattern count = 0
-Contains explicit CR or LF match
 Options: anchored
 No first char
 No need char
@@ -1358,11 +1364,10 @@
  0: ab\x0a
  0+ ab\x0acd
 
-/^ab\n/Img+
+/^ab\n/mg+
 Capturing subpattern count = 0
-Contains explicit CR or LF match
 Options: multiline
-First char at start or follows newline
+First char at start or follows \n
 Need char = 10
     ab\nab\ncd
  0: ab\x0a
@@ -1370,272 +1375,272 @@
  0: ab\x0a
  0+ cd
 
-/abc/I
+/abc/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'c'
 
-/abc|bac/I
+/abc|bac/
 Capturing subpattern count = 0
 No options
 No first char
 Need char = 'c'
 
-/(abc|bac)/I
+/(abc|bac)/
 Capturing subpattern count = 1
 No options
 No first char
 Need char = 'c'
 
-/(abc|(c|dc))/I
+/(abc|(c|dc))/
 Capturing subpattern count = 2
 No options
 No first char
 Need char = 'c'
 
-/(abc|(d|de)c)/I
+/(abc|(d|de)c)/
 Capturing subpattern count = 2
 No options
 No first char
 Need char = 'c'
 
-/a*/I
+/a*/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 No first char
 No need char
 
-/a+/I
+/a+/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 No need char
 
-/(baa|a+)/I
+/(baa|a+)/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
 No first char
 Need char = 'a'
 
-/a{0,3}/I
+/a{0,3}/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 No first char
 No need char
 
-/baa{3,}/I
+/baa{3,}/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'b'
 Need char = 'a'
 
-/"([^\\"]+|\\.)*"/I
+/"([^\\"]+|\\.)*"/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
 First char = '"'
 Need char = '"'
 
-/(abc|ab[cd])/I
+/(abc|ab[cd])/
 Capturing subpattern count = 1
 No options
 First char = 'a'
 No need char
 
-/(a|.)/I
+/(a|.)/
 Capturing subpattern count = 1
 No options
 No first char
 No need char
 
-/a|ba|\w/I
+/a|ba|\w/
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 
-/abc(?=pqr)/I
+/abc(?=pqr)/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'r'
 
-/...(?<=abc)/I
+/...(?<=abc)/
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 
-/abc(?!pqr)/I
+/abc(?!pqr)/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'c'
 
-/ab./I
+/ab./
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'b'
 
-/ab[xyz]/I
+/ab[xyz]/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'b'
 
-/abc*/I
+/abc*/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 Need char = 'b'
 
-/ab.c*/I
+/ab.c*/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 Need char = 'b'
 
-/a.c*/I
+/a.c*/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 No need char
 
-/.c*/I
+/.c*/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 No first char
 No need char
 
-/ac*/I
+/ac*/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 No need char
 
-/(a.c*|b.c*)/I
+/(a.c*|b.c*)/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
 No first char
 No need char
 
-/a.c*|aba/I
+/a.c*|aba/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 No need char
 
-/.+a/I
+/.+a/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 No first char
 Need char = 'a'
 
-/(?=abcda)a.*/I
+/(?=abcda)a.*/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 Need char = 'a'
 
-/(?=a)a.*/I
+/(?=a)a.*/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 No need char
 
-/a(b)*/I
+/a(b)*/
 Capturing subpattern count = 1
 No options
 First char = 'a'
 No need char
 
-/a\d*/I
+/a\d*/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 No need char
 
-/ab\d*/I
+/ab\d*/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 Need char = 'b'
 
-/a(\d)*/I
+/a(\d)*/
 Capturing subpattern count = 1
 No options
 First char = 'a'
 No need char
 
-/abcde{0,0}/I
+/abcde{0,0}/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'd'
 
-/ab\d+/I
+/ab\d+/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
 First char = 'a'
 Need char = 'b'
 
-/a(?(1)b)/I
+/a(?(1)b)/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 No need char
 
-/a(?(1)bag|big)/I
+/a(?(1)bag|big)/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'g'
 
-/a(?(1)bag|big)*/I
+/a(?(1)bag|big)*/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 No need char
 
-/a(?(1)bag|big)+/I
+/a(?(1)bag|big)+/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'g'
 
-/a(?(1)b..|b..)/I
+/a(?(1)b..|b..)/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'b'
 
-/ab\d{0}e/I
+/ab\d{0}e/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'e'
 
-/a?b?/I
+/a?b?/
 Capturing subpattern count = 0
 No options
 No first char
@@ -1650,10 +1655,10 @@
  0: 
     *** Failers
  0: 
-    \N
+    \N     
 No match
-
-/|-/I
+    
+/|-/
 Capturing subpattern count = 0
 No options
 No first char
@@ -1666,10 +1671,10 @@
  0: -
     *** Failers
  0: 
-    \Nabc
+    \Nabc     
 No match
 
-/a*(b+)(z)(z)/IP
+/a*(b+)(z)(z)/P
     aaaabbbbzzzz
  0: aaaabbbbzz
  1: bbbb
@@ -1695,8 +1700,8 @@
  1: bbbb
  2: z
  3: z
-
-/^.?abcd/IS
+    
+/^.?abcd/S 
 Capturing subpattern count = 0
 Options: anchored
 No first char
@@ -1710,7 +1715,7 @@
   (?R)          # Recurse - i.e. nested bracketed string
   )*            # Zero or more contents
   \)            # Closing )
-  /Ix
+  /x
 Capturing subpattern count = 0
 Partial matching not supported
 Options: extended
@@ -1722,30 +1727,30 @@
  0: (abcd)
     xyz(abcd)
  0: (abcd)
-    (ab(xy)cd)pqr
+    (ab(xy)cd)pqr 
  0: (ab(xy)cd)
-    (ab(xycd)pqr
+    (ab(xycd)pqr 
  0: (xycd)
-    () abc ()
+    () abc () 
  0: ()
     12(abcde(fsh)xyz(foo(bar))lmno)89
  0: (abcde(fsh)xyz(foo(bar))lmno)
     *** Failers
 No match
-    abcd
+    abcd 
 No match
     abcd)
 No match
-    (abcd
+    (abcd  
 No match
 
-/\(  ( (?>[^()]+) | (?R) )* \) /Ixg
+/\(  ( (?>[^()]+) | (?R) )* \) /xg
 Capturing subpattern count = 1
 Partial matching not supported
 Options: extended
 First char = '('
 Need char = ')'
-    (ab(xy)cd)pqr
+    (ab(xy)cd)pqr 
  0: (ab(xy)cd)
  1: cd
     1(abcd)(x(y)z)pqr
@@ -1754,7 +1759,7 @@
  0: (x(y)z)
  1: z
 
-/\(  (?: (?>[^()]+) | (?R) ) \) /Ix
+/\(  (?: (?>[^()]+) | (?R) ) \) /x
 Capturing subpattern count = 0
 Partial matching not supported
 Options: extended
@@ -1764,16 +1769,16 @@
  0: (abcd)
     (ab(xy)cd)
  0: (xy)
-    (a(b(c)d)e)
+    (a(b(c)d)e) 
  0: (c)
-    ((ab))
+    ((ab)) 
  0: ((ab))
     *** Failers
 No match
-    ()
+    ()   
 No match
 
-/\(  (?: (?>[^()]+) | (?R) )? \) /Ix
+/\(  (?: (?>[^()]+) | (?R) )? \) /x
 Capturing subpattern count = 0
 Partial matching not supported
 Options: extended
@@ -1784,7 +1789,7 @@
     12(abcde(fsh)xyz(foo(bar))lmno)89
  0: (fsh)
 
-/\(  ( (?>[^()]+) | (?R) )* \) /Ix
+/\(  ( (?>[^()]+) | (?R) )* \) /x
 Capturing subpattern count = 1
 Partial matching not supported
 Options: extended
@@ -1794,7 +1799,7 @@
  0: (ab(xy)cd)
  1: cd
 
-/\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix
+/\( ( ( (?>[^()]+) | (?R) )* ) \) /x
 Capturing subpattern count = 2
 Partial matching not supported
 Options: extended
@@ -1805,7 +1810,7 @@
  1: ab(xy)cd
  2: cd
 
-/\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix
+/\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /x
 Capturing subpattern count = 3
 Partial matching not supported
 Options: extended
@@ -1822,7 +1827,7 @@
  2: ab(xy)cd
  3: cd
 
-/\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix
+/\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /x
 Capturing subpattern count = 3
 Partial matching not supported
 Options: extended
@@ -1839,7 +1844,7 @@
  2: 123
  3: cd
 
-/\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix
+/\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /x
 Capturing subpattern count = 11
 Partial matching not supported
 Options: extended
@@ -1859,7 +1864,7 @@
 10: ab(xy)cd
 11: cd
 
-/\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix
+/\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /x
 Capturing subpattern count = 3
 Partial matching not supported
 Options: extended
@@ -1871,7 +1876,7 @@
  2: 123
  3: <unset>
 
-/\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix
+/\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
 Capturing subpattern count = 3
 Partial matching not supported
 Options: extended
@@ -1888,339 +1893,311 @@
  2: ij
  3: (cd(ef)gh)
 
-/^[[:alnum:]]/DZ
-------------------------------------------------------------------
-        Bra
-        ^
-        [0-9A-Za-z]
-        Ket
-        End
-------------------------------------------------------------------
-Capturing subpattern count = 0
-Options: anchored
-No first char
-No need char
-
-/^[[:^alnum:]]/DZ
+/^[[:alnum:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [\x00-/:-@[-`{-\xff]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [0-9A-Za-z]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:alpha:]]/DZ
+/^[[:^alnum:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [A-Za-z]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [\x00-/:-@[-`{-\xff]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:^alpha:]]/DZ
+/^[[:alpha:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [\x00-@[-`{-\xff]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [A-Za-z]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/[_[:alpha:]]/IS
-Capturing subpattern count = 0
-No options
-No first char
-No need char
-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 
-  _ 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 
-
-/^[[:ascii:]]/DZ
+/^[[:^alpha:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [\x00-\x7f]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [\x00-@[-`{-\xff]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
-
-/^[[:^ascii:]]/DZ
+             
+/^[[:ascii:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [\x80-\xff]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [\x00-\x7f]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:blank:]]/DZ
+/^[[:^ascii:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [\x09 ]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [\x80-\xff]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:^blank:]]/DZ
+/^[[:blank:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [\x00-\x08\x0a-\x1f!-\xff]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [\x09 ]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/[\n\x0b\x0c\x0d[:blank:]]/IS
-Capturing subpattern count = 0
-Contains explicit CR or LF match
-No options
-No first char
-No need char
-Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 
-
-/^[[:cntrl:]]/DZ
+/^[[:cntrl:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [\x00-\x1f\x7f]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [\x00-\x1f\x7f]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:digit:]]/DZ
+/^[[:digit:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [0-9]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [0-9]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:graph:]]/DZ
+/^[[:graph:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [!-~]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [!-~]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:lower:]]/DZ
+/^[[:lower:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [a-z]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [a-z]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:print:]]/DZ
+/^[[:print:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [ -~]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [ -~]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:punct:]]/DZ
+/^[[:punct:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [!-/:-@[-`{-~]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [!-/:-@[-`{-~]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:space:]]/DZ
+/^[[:space:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [\x09-\x0d ]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [\x09-\x0d ]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:upper:]]/DZ
+/^[[:upper:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [A-Z]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [A-Z]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:xdigit:]]/DZ
+/^[[:xdigit:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [0-9A-Fa-f]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [0-9A-Fa-f]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:word:]]/DZ
+/^[[:word:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [0-9A-Z_a-z]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [0-9A-Z_a-z]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:^cntrl:]]/DZ
+/^[[:^cntrl:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [ -~\x80-\xff]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [ -~\x80-\xff]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[12[:^digit:]]/DZ
+/^[12[:^digit:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [\x00-/12:-\xff]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [\x00-/12:-\xff]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/^[[:^blank:]]/DZ
+/^[[:^blank:]]/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        [\x00-\x08\x0a-\x1f!-\xff]
-        Ket
-        End
+  0  37 Bra 0
+  3     ^
+  4     [\x00-\x08\x0a-\x1f!-\xff]
+ 37  37 Ket
+ 40     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/[01[:alpha:]%]/DZ
+/[01[:alpha:]%]/D
 ------------------------------------------------------------------
-        Bra
-        [%01A-Za-z]
-        Ket
-        End
+  0  36 Bra 0
+  3     [%01A-Za-z]
+ 36  36 Ket
+ 39     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 
-/[[.ch.]]/I
+/[[.ch.]]/
 Failed: POSIX collating elements are not supported at offset 1
 
-/[[=ch=]]/I
+/[[=ch=]]/
 Failed: POSIX collating elements are not supported at offset 1
 
-/[[:rhubarb:]]/I
+/[[:rhubarb:]]/
 Failed: unknown POSIX class name at offset 3
 
-/[[:upper:]]/Ii
+/[[:upper:]]/i
 Capturing subpattern count = 0
 Options: caseless
 No first char
 No need char
     A
  0: A
-    a
+    a 
  0: a
-
-/[[:lower:]]/Ii
+    
+/[[:lower:]]/i
 Capturing subpattern count = 0
 Options: caseless
 No first char
 No need char
     A
  0: A
-    a
+    a 
  0: a
 
-/((?-i)[[:lower:]])[[:lower:]]/Ii
+/((?-i)[[:lower:]])[[:lower:]]/i
 Capturing subpattern count = 1
 Options: caseless
+Case state changes
 No first char
 No need char
     ab
@@ -2234,22 +2211,22 @@
  1: a
     Ab
 No match
-    AB
+    AB        
 No match
 
-/[\200-\110]/I
+/[\200-\410]/
 Failed: range out of order in character class at offset 9
 
-/^(?(0)f|b)oo/I
-Failed: invalid condition (?(0) at offset 6
+/^(?(0)f|b)oo/
+Failed: invalid condition (?(0) at offset 5
 
-/This one's here because of the large output vector needed/I
+/This one's here because of the large output vector needed/
 Capturing subpattern count = 0
 No options
 First char = 'T'
 Need char = 'd'
 
-/(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))
 (\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(
 \d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\
 d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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
+/(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))
 (\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(
 \d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\
 d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\d+(?:\s|$))(\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)/
 Capturing subpattern count = 271
 Max back reference = 270
 Partial matching not supported
@@ -2530,13 +2507,13 @@
 270: ABC
 271: ABC
 
-/This one's here because Perl does this differently and PCRE can't at present/I
+/This one's here because Perl does this differently and PCRE can't at present/
 Capturing subpattern count = 0
 No options
 First char = 'T'
 Need char = 't'
 
-/(main(O)?)+/I
+/(main(O)?)+/
 Capturing subpattern count = 2
 No options
 First char = 'm'
@@ -2548,14 +2525,14 @@
  0: mainOmain
  1: main
  2: O
-
-/These are all cases where Perl does it differently (nested captures)/I
+    
+/These are all cases where Perl does it differently (nested captures)/
 Capturing subpattern count = 1
 No options
 First char = 'T'
 Need char = 's'
 
-/^(a(b)?)+$/I
+/^(a(b)?)+$/
 Capturing subpattern count = 2
 Options: anchored
 No first char
@@ -2564,223 +2541,227 @@
  0: aba
  1: a
  2: b
-
-/^(aa(bb)?)+$/I
+   
+/^(aa(bb)?)+$/
 Capturing subpattern count = 2
 Options: anchored
 No first char
 No need char
-    aabbaa
+    aabbaa    
  0: aabbaa
  1: aa
  2: bb
-
-/^(aa|aa(bb))+$/I
+    
+/^(aa|aa(bb))+$/
 Capturing subpattern count = 2
 Options: anchored
 No first char
 No need char
-    aabbaa
+    aabbaa 
  0: aabbaa
  1: aa
  2: bb
-
-/^(aa(bb)??)+$/I
+    
+/^(aa(bb)??)+$/
 Capturing subpattern count = 2
 Options: anchored
 No first char
 No need char
-    aabbaa
+    aabbaa    
  0: aabbaa
  1: aa
  2: bb
-
-/^(?:aa(bb)?)+$/I
+    
+/^(?:aa(bb)?)+$/
 Capturing subpattern count = 1
 Options: anchored
 No first char
 No need char
-    aabbaa
+    aabbaa    
  0: aabbaa
  1: bb
-
-/^(aa(b(b))?)+$/I
+    
+/^(aa(b(b))?)+$/
 Capturing subpattern count = 3
 Options: anchored
 No first char
 No need char
-    aabbaa
+    aabbaa    
  0: aabbaa
  1: aa
  2: bb
  3: b
 
-/^(?:aa(b(b))?)+$/I
+/^(?:aa(b(b))?)+$/
 Capturing subpattern count = 2
 Options: anchored
 No first char
 No need char
-    aabbaa
+    aabbaa    
  0: aabbaa
  1: bb
  2: b
 
-/^(?:aa(b(?:b))?)+$/I
+/^(?:aa(b(?:b))?)+$/
 Capturing subpattern count = 1
 Options: anchored
 No first char
 No need char
-    aabbaa
+    aabbaa    
  0: aabbaa
  1: bb
 
-/^(?:aa(bb(?:b))?)+$/I
+/^(?:aa(bb(?:b))?)+$/
 Capturing subpattern count = 1
 Options: anchored
 No first char
 No need char
-    aabbbaa
+    aabbbaa    
  0: aabbbaa
  1: bbb
-
-/^(?:aa(b(?:bb))?)+$/I
+    
+/^(?:aa(b(?:bb))?)+$/
 Capturing subpattern count = 1
 Options: anchored
 No first char
 No need char
-    aabbbaa
+    aabbbaa    
  0: aabbbaa
  1: bbb
 
-/^(?:aa(?:b(b))?)+$/I
+/^(?:aa(?:b(b))?)+$/
 Capturing subpattern count = 1
 Options: anchored
 No first char
 No need char
-    aabbaa
+    aabbaa    
  0: aabbaa
  1: b
 
-/^(?:aa(?:b(bb))?)+$/I
+/^(?:aa(?:b(bb))?)+$/
 Capturing subpattern count = 1
 Options: anchored
 No first char
 No need char
-    aabbbaa
+    aabbbaa    
  0: aabbbaa
  1: bb
 
-/^(aa(b(bb))?)+$/I
+/^(aa(b(bb))?)+$/
 Capturing subpattern count = 3
 Options: anchored
 No first char
 No need char
-    aabbbaa
+    aabbbaa    
  0: aabbbaa
  1: aa
  2: bbb
  3: bb
 
-/^(aa(bb(bb))?)+$/I
+/^(aa(bb(bb))?)+$/
 Capturing subpattern count = 3
 Options: anchored
 No first char
 No need char
-    aabbbbaa
+    aabbbbaa    
  0: aabbbbaa
  1: aa
  2: bbbb
  3: bb
 
-/--------------------------------------------------------------------/I
+/--------------------------------------------------------------------/ 
 Capturing subpattern count = 0
 No options
 First char = '-'
 Need char = '-'
-
-/#/IxDZ
+    
+/#/xMD
+Memory allocation (code space): 7
 ------------------------------------------------------------------
-        Bra
-        Ket
-        End
+  0   3 Bra 0
+  3   3 Ket
+  6     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: extended
 No first char
 No need char
 
-/a#/IxDZ
+/a#/xMD
+Memory allocation (code space): 9
 ------------------------------------------------------------------
-        Bra
-        a
-        Ket
-        End
+  0   5 Bra 0
+  3     a
+  5   5 Ket
+  8     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: extended
 First char = 'a'
 No need char
 
-/[\s]/DZ
+/[\s]/D
 ------------------------------------------------------------------
-        Bra
-        [\x09\x0a\x0c\x0d ]
-        Ket
-        End
+  0  36 Bra 0
+  3     [\x09\x0a\x0c\x0d ]
+ 36  36 Ket
+ 39     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 
-/[\S]/DZ
+/[\S]/D
 ------------------------------------------------------------------
-        Bra
-        [\x00-\x08\x0b\x0e-\x1f!-\xff]
-        Ket
-        End
+  0  36 Bra 0
+  3     [\x00-\x08\x0b\x0e-\x1f!-\xff]
+ 36  36 Ket
+ 39     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 
-/a(?i)b/DZ
+/a(?i)b/D
 ------------------------------------------------------------------
-        Bra
-        a
-     01 Opt
-     NC b
-        Ket
-        End
+  0   9 Bra 0
+  3     a
+  5  01 Opt
+  7  NC b
+  9   9 Ket
+ 12     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
+Case state changes
 First char = 'a'
 Need char = 'b' (caseless)
     ab
  0: ab
     aB
  0: aB
-    *** Failers
+    *** Failers 
 No match
-    AB
+    AB  
 No match
 
-/(a(?i)b)/DZ
+/(a(?i)b)/D
 ------------------------------------------------------------------
-        Bra
-        CBra 1
-        a
-     01 Opt
-     NC b
-        Ket
-     00 Opt
-        Ket
-        End
+  0  17 Bra 0
+  3   9 Bra 1
+  6     a
+  8  01 Opt
+ 10  NC b
+ 12   9 Ket
+ 15  00 Opt
+ 17  17 Ket
+ 20     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 No options
+Case state changes
 First char = 'a'
 Need char = 'b' (caseless)
     ab
@@ -2789,17 +2770,17 @@
     aB
  0: aB
  1: aB
-    *** Failers
+    *** Failers 
 No match
-    AB
+    AB  
 No match
-
-/   (?i)abc/IxDZ
+    
+/   (?i)abc/xD
 ------------------------------------------------------------------
-        Bra
-     NC abc
-        Ket
-        End
+  0   9 Bra 0
+  3  NC abc
+  9   9 Ket
+ 12     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: caseless extended
@@ -2807,47 +2788,47 @@
 Need char = 'c' (caseless)
 
 /#this is a comment
-  (?i)abc/IxDZ
+  (?i)abc/xD
 ------------------------------------------------------------------
-        Bra
-     NC abc
-        Ket
-        End
+  0   9 Bra 0
+  3  NC abc
+  9   9 Ket
+ 12     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Options: caseless extended
 First char = 'a' (caseless)
 Need char = 'c' (caseless)
 
-/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
+/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
 ------------------------------------------------------------------
-        Bra
-        123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
-        Ket
-        End
+  0 603 Bra 0
+  3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
+603 603 Ket
+606     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 First char = '1'
 Need char = '0'
 
-/\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ
+/\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
 ------------------------------------------------------------------
-        Bra
-        123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
-        Ket
-        End
+  0 603 Bra 0
+  3     123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
+603 603 Ket
+606     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 First char = '1'
 Need char = '0'
 
-/\Q\E/DZ
+/\Q\E/D
 ------------------------------------------------------------------
-        Bra
-        Ket
-        End
+  0   3 Bra 0
+  3   3 Ket
+  6     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
@@ -2856,36 +2837,36 @@
     \
  0: 
 
-/\Q\Ex/DZ
+/\Q\Ex/D
 ------------------------------------------------------------------
-        Bra
-        x
-        Ket
-        End
+  0   5 Bra 0
+  3     x
+  5   5 Ket
+  8     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 First char = 'x'
 No need char
 
-/ \Q\E/DZ
+/ \Q\E/D
 ------------------------------------------------------------------
-        Bra
-         
-        Ket
-        End
+  0   5 Bra 0
+  3      
+  5   5 Ket
+  8     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 First char = ' '
 No need char
 
-/a\Q\E/DZ
+/a\Q\E/D
 ------------------------------------------------------------------
-        Bra
-        a
-        Ket
-        End
+  0   5 Bra 0
+  3     a
+  5   5 Ket
+  8     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
@@ -2895,15 +2876,15 @@
  0: a
   bca
  0: a
-  bac
+  bac  
  0: a
 
-/a\Q\Eb/DZ
+/a\Q\Eb/D
 ------------------------------------------------------------------
-        Bra
-        ab
-        Ket
-        End
+  0   7 Bra 0
+  3     ab
+  7   7 Ket
+ 10     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
@@ -2912,25 +2893,27 @@
   abc
  0: ab
 
-/\Q\Eabc/DZ
+/\Q\Eabc/D
 ------------------------------------------------------------------
-        Bra
-        abc
-        Ket
-        End
+  0   9 Bra 0
+  3     abc
+  9   9 Ket
+ 12     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'c'
 
-/x*+\w/DZ
+/x*+\w/D
 ------------------------------------------------------------------
-        Bra
-        x*+
-        \w
-        Ket
-        End
+  0  12 Bra 0
+  3   5 Once
+  6     x*
+  8   5 Ket
+ 11     \w
+ 12  12 Ket
+ 15     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Partial matching not supported
@@ -2941,25 +2924,29 @@
  0: F
     xxxxx
 No match
-
-/x?+/DZ
+    
+/x?+/D
 ------------------------------------------------------------------
-        Bra
-        x?+
-        Ket
-        End
+  0  11 Bra 0
+  3   5 Once
+  6     x?
+  8   5 Ket
+ 11  11 Ket
+ 14     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 
-/x++/DZ
+/x++/D
 ------------------------------------------------------------------
-        Bra
-        x++
-        Ket
-        End
+  0  11 Bra 0
+  3   5 Once
+  6     x+
+  8   5 Ket
+ 11  11 Ket
+ 14     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Partial matching not supported
@@ -2967,15 +2954,15 @@
 First char = 'x'
 No need char
 
-/x{1,3}+/DZ
+/x{1,3}+/D 
 ------------------------------------------------------------------
-        Bra
-        Once
-        x
-        x{0,2}
-        Ket
-        Ket
-        End
+  0  15 Bra 0
+  3   9 Once
+  6     x
+  8     x{,2}
+ 12   9 Ket
+ 15  15 Ket
+ 18     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Partial matching not supported
@@ -2983,24 +2970,24 @@
 First char = 'x'
 No need char
 
-/(x)*+/DZ
+/(x)*+/D
 ------------------------------------------------------------------
-        Bra
-        Once
-        Brazero
-        CBra 1
-        x
-        KetRmax
-        Ket
-        Ket
-        End
+  0  18 Bra 0
+  3  12 Once
+  6     Brazero
+  7   5 Bra 1
+ 10     x
+ 12   5 KetRmax
+ 15  12 Ket
+ 18  18 Ket
+ 21     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 No options
 No first char
 No need char
 
-/^(\w++|\s++)*$/I
+/^(\w++|\s++)*$/
 Capturing subpattern count = 1
 Partial matching not supported
 Options: anchored
@@ -3013,8 +3000,8 @@
 No match
     this is not a line with only words and spaces!
 No match
-
-/(\d++)(\w)/I
+    
+/(\d++)(\w)/
 Capturing subpattern count = 2
 Partial matching not supported
 No options
@@ -3026,10 +3013,10 @@
  2: a
     *** Failers
 No match
-    12345+
+    12345+ 
 No match
 
-/a++b/I
+/a++b/
 Capturing subpattern count = 0
 Partial matching not supported
 No options
@@ -3038,7 +3025,7 @@
     aaab
  0: aaab
 
-/(a++b)/I
+/(a++b)/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
@@ -3048,7 +3035,7 @@
  0: aaab
  1: aaab
 
-/(a++)b/I
+/(a++)b/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
@@ -3058,7 +3045,7 @@
  0: aaab
  1: aaa
 
-/([^()]++|\([^()]*\))+/I
+/([^()]++|\([^()]*\))+/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
@@ -3067,8 +3054,8 @@
     ((abc(ade)ufh()()x
  0: abc(ade)ufh()()x
  1: x
-
-/\(([^()]++|\([^()]+\))+\)/I
+    
+/\(([^()]++|\([^()]+\))+\)/ 
 Capturing subpattern count = 1
 Partial matching not supported
 No options
@@ -3082,55 +3069,57 @@
  1: xyz
     *** Failers
 No match
-    ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+    ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa   
 No match
 
-/(abc){1,3}+/DZ
+/(abc){1,3}+/D
 ------------------------------------------------------------------
-        Bra
-        Once
-        CBra 1
-        abc
-        Ket
-        Brazero
-        Bra
-        CBra 1
-        abc
-        Ket
-        Brazero
-        CBra 1
-        abc
-        Ket
-        Ket
-        Ket
-        Ket
-        End
+  0  53 Bra 0
+  3  47 Once
+  6   9 Bra 1
+  9     abc
+ 15   9 Ket
+ 18     Brazero
+ 19  28 Bra 0
+ 22   9 Bra 1
+ 25     abc
+ 31   9 Ket
+ 34     Brazero
+ 35   9 Bra 1
+ 38     abc
+ 44   9 Ket
+ 47  28 Ket
+ 50  47 Ket
+ 53  53 Ket
+ 56     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 No options
 First char = 'a'
 Need char = 'c'
 
-/a+?+/I
+/a+?+/
 Failed: nothing to repeat at offset 3
 
-/a{2,3}?+b/I
+/a{2,3}?+b/
 Failed: nothing to repeat at offset 7
 
-/(?U)a+?+/I
+/(?U)a+?+/
 Failed: nothing to repeat at offset 7
 
-/a{2,3}?+b/IU
+/a{2,3}?+b/U
 Failed: nothing to repeat at offset 7
 
-/x(?U)a++b/DZ
+/x(?U)a++b/D
 ------------------------------------------------------------------
-        Bra
-        x
-        a++
-        b
-        Ket
-        End
+  0  15 Bra 0
+  3     x
+  5   5 Once
+  8     a+
+ 10   5 Ket
+ 13     b
+ 15  15 Ket
+ 18     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Partial matching not supported
@@ -3140,14 +3129,16 @@
     xaaaab
  0: xaaaab
 
-/(?U)xa++b/DZ
+/(?U)xa++b/D
 ------------------------------------------------------------------
-        Bra
-        x
-        a++
-        b
-        Ket
-        End
+  0  15 Bra 0
+  3     x
+  5   5 Once
+  8     a+
+ 10   5 Ket
+ 13     b
+ 15  15 Ket
+ 18     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Partial matching not supported
@@ -3157,26 +3148,26 @@
     xaaaab
  0: xaaaab
 
-/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ
+/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        CBra 1
-        CBra 2
-        a+
-        Ket
-        CBra 3
-        [ab]+?
-        Ket
-        CBra 4
-        [bc]+
-        Ket
-        CBra 5
-        \w*
-        Ket
-        Ket
-        Ket
-        End
+  0 106 Bra 0
+  3     ^
+  4  99 Bra 1
+  7   5 Bra 2
+ 10     a+
+ 12   5 Ket
+ 15  37 Bra 3
+ 18     [ab]+?
+ 52  37 Ket
+ 55  37 Bra 4
+ 58     [bc]+
+ 92  37 Ket
+ 95   5 Bra 5
+ 98     \w*
+100   5 Ket
+103  99 Ket
+106 106 Ket
+109     End
 ------------------------------------------------------------------
 Capturing subpattern count = 5
 Partial matching not supported
@@ -3184,15 +3175,15 @@
 No first char
 No need char
 
-/^x(?U)a+b/DZ
+/^x(?U)a+b/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        x
-        a++
-        b
-        Ket
-        End
+  0  10 Bra 0
+  3     ^
+  4     x
+  6     a+?
+  8     b
+ 10  10 Ket
+ 13     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 Partial matching not supported
@@ -3200,17 +3191,17 @@
 No first char
 Need char = 'b'
 
-/^x(?U)(a+)b/DZ
+/^x(?U)(a+)b/D
 ------------------------------------------------------------------
-        Bra
-        ^
-        x
-        CBra 1
-        a+?
-        Ket
-        b
-        Ket
-        End
+  0  16 Bra 0
+  3     ^
+  4     x
+  6   5 Bra 1
+  9     a+?
+ 11   5 Ket
+ 14     b
+ 16  16 Ket
+ 19     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 Partial matching not supported
@@ -3218,76 +3209,79 @@
 No first char
 Need char = 'b'
 
-/[.x.]/I
+/[.x.]/
 Failed: POSIX collating elements are not supported at offset 0
 
-/[=x=]/I
+/[=x=]/
 Failed: POSIX collating elements are not supported at offset 0
 
-/[:x:]/I
+/[:x:]/
 Failed: POSIX named classes are supported only within a class at offset 0
 
-/\l/I
+/\l/
 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
 
-/\L/I
+/\L/
 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
 
-/\N{name}/I
+/\N{name}/
 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
 
-/\u/I
+/\u/
 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
 
-/\U/I
+/\U/
 Failed: PCRE does not support \L, \l, \N, \U, or \u at offset 1
 
-/[/I
+/[/
 Failed: missing terminating ] for character class at offset 1
 
-/[a-/I
+/[a-/
 Failed: missing terminating ] for character class at offset 3
 
-/[[:space:]/I
+/[[:space:]/
 Failed: missing terminating ] for character class at offset 10
 
-/[\s]/IDZ
+/[\s]/DM
+Memory allocation (code space): 40
 ------------------------------------------------------------------
-        Bra
-        [\x09\x0a\x0c\x0d ]
-        Ket
-        End
+  0  36 Bra 0
+  3     [\x09\x0a\x0c\x0d ]
+ 36  36 Ket
+ 39     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 
-/[[:space:]]/IDZ
+/[[:space:]]/DM
+Memory allocation (code space): 40
 ------------------------------------------------------------------
-        Bra
-        [\x09-\x0d ]
-        Ket
-        End
+  0  36 Bra 0
+  3     [\x09-\x0d ]
+ 36  36 Ket
+ 39     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 
-/[[:space:]abcde]/IDZ
+/[[:space:]abcde]/DM
+Memory allocation (code space): 40
 ------------------------------------------------------------------
-        Bra
-        [\x09-\x0d a-e]
-        Ket
-        End
+  0  36 Bra 0
+  3     [\x09-\x0d a-e]
+ 36  36 Ket
+ 39     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 
-/< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/Ix
+/< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x
 Capturing subpattern count = 0
 Partial matching not supported
 Options: extended
@@ -3301,35 +3295,37 @@
  0: <abc <123> hij>
     <abc <def> hij>
  0: <def>
-    <abc<>def>
+    <abc<>def> 
  0: <abc<>def>
-    <abc<>
+    <abc<>      
  0: <>
     *** Failers
 No match
     <abc
 No match
 
-|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
+|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
+Memory allocation (code space): 826
 ------------------------------------------------------------------
-        Bra
-        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
-        Ket
-        End
+  0 822 Bra 0
+  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
+821     \b
+822 822 Ket
+825     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
 First char = '8'
 Need char = 'X'
 
-|\$\<\.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
+|\$\<\.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
+Memory allocation (code space): 816
 ------------------------------------------------------------------
-        Bra
-        $<.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
-        Ket
-        End
+  0 812 Bra 0
+  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
+811     \b
+812 812 Ket
+815     End
 ------------------------------------------------------------------
 Capturing subpattern count = 0
 No options
@@ -3348,9 +3344,9 @@
 Capturing subpattern count = 1
 Partial matching not supported
 No options
-First char at start or follows newline
+First char at start or follows \n
 No need char
-
+    
 /(.*)\d+\1/Is
 Capturing subpattern count = 1
 Max back reference = 1
@@ -3371,7 +3367,7 @@
 Max back reference = 2
 Partial matching not supported
 No options
-First char at start or follows newline
+First char at start or follows \n
 Need char = 'z'
 
 /((.*))\d+\1/I
@@ -3385,7 +3381,7 @@
  0: bc123bc
  1: bc
  2: bc
-
+    
 /a[b]/I
 Capturing subpattern count = 0
 No options
@@ -3399,7 +3395,7 @@
 First char = 'a'
 No need char
 
-/(?=abc).xyz/IiI
+/(?=abc).xyz/iI
 Capturing subpattern count = 0
 Options: caseless
 First char = 'a' (caseless)
@@ -3408,6 +3404,7 @@
 /(?=abc)(?i).xyz/I
 Capturing subpattern count = 0
 No options
+Case state changes
 First char = 'a'
 Need char = 'z' (caseless)
 
@@ -3527,18 +3524,18 @@
 First char = 'a'
 Need char = 'b'
 
-/^a/Im
+/^a/mI
 Capturing subpattern count = 0
 Options: multiline
-First char at start or follows newline
+First char at start or follows \n
 Need char = 'a'
   abcde
  0: a
-  xy\nabc
+  xy\nabc 
  0: a
-  *** Failers
+  *** Failers 
 No match
-  xyabc
+  xyabc 
 No match
 
 /c|abc/I
@@ -3557,11 +3554,12 @@
 /[ab](?i)cd/IS
 Capturing subpattern count = 0
 No options
+Case state changes
 No first char
 Need char = 'd' (caseless)
 Starting byte set: a b 
 
-/abc(?C)def/I
+/abc(?C)def/
 Capturing subpattern count = 0
 No options
 First char = 'a'
@@ -3570,7 +3568,7 @@
 --->abcdef
   0 ^  ^       d
  0: abcdef
-    1234abcdef
+    1234abcdef 
 --->1234abcdef
   0     ^  ^       d
  0: abcdef
@@ -3578,12 +3576,12 @@
 No match
     abcxyz
 No match
-    abcxyzf
+    abcxyzf   
 --->abcxyzf
   0 ^  ^        d
 No match
 
-/abc(?C)de(?C1)f/I
+/abc(?C)de(?C1)f/
 Capturing subpattern count = 0
 No options
 First char = 'a'
@@ -3593,8 +3591,8 @@
   0    ^  ^       d
   1    ^    ^     f
  0: abcdef
-
-/(?C1)\dabc(?C2)def/I
+    
+/(?C1)\dabc(?C2)def/ 
 Capturing subpattern count = 0
 No options
 No first char
@@ -3609,7 +3607,7 @@
  0: 4abcdef
     *** Failers
 No match
-    abcdef
+    abcdef 
 --->abcdef
   1 ^          \d
   1  ^         \d
@@ -3618,23 +3616,23 @@
   1     ^      \d
   1      ^     \d
 No match
-
-/(?C255)ab/I
+    
+/(?C255)ab/
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'b'
 
-/(?C256)ab/I
+/(?C256)ab/
 Failed: number after (?C is > 255 at offset 6
 
-/(?Cab)xx/I
+/(?Cab)xx/ 
 Failed: closing ) for (?C expected at offset 3
 
-/(?C12vr)x/I
+/(?C12vr)x/
 Failed: closing ) for (?C expected at offset 5
 
-/abc(?C)def/I
+/abc(?C)def/
 Capturing subpattern count = 0
 No options
 First char = 'a'
@@ -3646,7 +3644,7 @@
   0         ^  ^       d
  0: abcdef
 
-/(abc)(?C)de(?C1)f/I
+/(abc)(?C)de(?C1)f/
 Capturing subpattern count = 1
 No options
 First char = 'a'
@@ -3657,7 +3655,7 @@
   1    ^    ^     f
  0: abcdef
  1: abc
-    123abcdef\C+
+    123abcdef\C+ 
 Callout 0: last capture = 1
  0: <unset>
  1: abc
@@ -3670,18 +3668,18 @@
        ^    ^     f
  0: abcdef
  1: abc
-    123abcdef\C-
+    123abcdef\C- 
  0: abcdef
  1: abc
     *** Failers
 No match
-    123abcdef\C!1
+    123abcdef\C!1 
 --->123abcdef
   0    ^  ^       d
   1    ^    ^     f
 No match
-
-/(?C0)(abc(?C1))*/I
+    
+/(?C0)(abc(?C1))*/
 Capturing subpattern count = 1
 No options
 No first char
@@ -3694,7 +3692,7 @@
   1 ^        ^    )
  0: abcabcabc
  1: abc
-    abcabc\C!1!3
+    abcabc\C!1!3   
 --->abcabc
   0 ^          (abc(?C1))*
   1 ^  ^       )
@@ -3705,7 +3703,7 @@
 --->*** Failers
   0 ^               (abc(?C1))*
  0: 
-    abcabcabc\C!1!3
+    abcabcabc\C!1!3   
 --->abcabcabc
   0 ^             (abc(?C1))*
   1 ^  ^          )
@@ -3714,7 +3712,7 @@
  0: abcabc
  1: abc
 
-/(\d{3}(?C))*/I
+/(\d{3}(?C))*/
 Capturing subpattern count = 1
 Partial matching not supported
 No options
@@ -3739,7 +3737,7 @@
     ^     ^    )
  0: 123456
  1: 456
-    123456789\C+
+    123456789\C+  
 Callout 0: last capture = -1
  0: <unset>
 --->123456789
@@ -3757,7 +3755,7 @@
  0: 123456789
  1: 789
 
-/((xyz)(?C)p|(?C1)xyzabc)/I
+/((xyz)(?C)p|(?C1)xyzabc)/
 Capturing subpattern count = 2
 No options
 First char = 'x'
@@ -3776,7 +3774,7 @@
  0: xyzabc
  1: xyzabc
 
-/(X)((xyz)(?C)p|(?C1)xyzabc)/I
+/(X)((xyz)(?C)p|(?C1)xyzabc)/
 Capturing subpattern count = 3
 No options
 First char = 'X'
@@ -3798,7 +3796,7 @@
  1: X
  2: xyzabc
 
-/(?=(abc))(?C)abcdef/I
+/(?=(abc))(?C)abcdef/
 Capturing subpattern count = 1
 No options
 First char = 'a'
@@ -3811,13 +3809,13 @@
     ^          a
  0: abcdef
  1: abc
-
-/(?!(abc)(?C1)d)(?C2)abcxyz/I
+    
+/(?!(abc)(?C1)d)(?C2)abcxyz/
 Capturing subpattern count = 1
 No options
 First char = 'a'
 Need char = 'z'
-    abcxyz\C+
+    abcxyz\C+ 
 Callout 1: last capture = 1
  0: <unset>
  1: abc
@@ -3829,7 +3827,7 @@
     ^          a
  0: abcxyz
 
-/(?<=(abc)(?C))xyz/I
+/(?<=(abc)(?C))xyz/
 Capturing subpattern count = 1
 No options
 First char = 'x'
@@ -3842,88 +3840,36 @@
        ^       )
  0: xyz
  1: abc
-
-/a(b+)(c*)(?C1)/I
-Capturing subpattern count = 2
-Partial matching not supported
-No options
-First char = 'a'
-Need char = 'b'
-    abbbbbccc\C*1
---->abbbbbccc
-  1 ^        ^    
-Callout data = 1
-  1 ^       ^     
-Callout data = 1
-  1 ^      ^      
-Callout data = 1
-  1 ^     ^       
-Callout data = 1
-  1 ^    ^        
-Callout data = 1
-  1 ^   ^         
-Callout data = 1
-  1 ^  ^          
-Callout data = 1
-  1 ^ ^           
-Callout data = 1
-No match
-
-/a(b+?)(c*?)(?C1)/I
-Capturing subpattern count = 2
-Partial matching not supported
-No options
-First char = 'a'
-Need char = 'b'
-    abbbbbccc\C*1
---->abbbbbccc
-  1 ^ ^           
-Callout data = 1
-  1 ^  ^          
-Callout data = 1
-  1 ^   ^         
-Callout data = 1
-  1 ^    ^        
-Callout data = 1
-  1 ^     ^       
-Callout data = 1
-  1 ^      ^      
-Callout data = 1
-  1 ^       ^     
-Callout data = 1
-  1 ^        ^    
-Callout data = 1
-No match
-
-/(?C)abc/I
+   
+/(?C)abc/ 
 Capturing subpattern count = 0
 No options
 First char = 'a'
 Need char = 'c'
 
-/(?C)^abc/I
+/(?C)^abc/
 Capturing subpattern count = 0
 Options: anchored
 No first char
 No need char
 
-/(?C)a|b/IS
+/(?C)a|b/S
 Capturing subpattern count = 0
 No options
 No first char
 No need char
 Starting byte set: a b 
 
-/(?R)/I
+/(?R)/
 Failed: recursive call could loop indefinitely at offset 3
 
-/(a|(?R))/I
+/(a|(?R))/
 Failed: recursive call could loop indefinitely at offset 6
 
-/(ab|(bc|(de|(?R))))/I
+/(ab|(bc|(de|(?R))))/
 Failed: recursive call could loop indefinitely at offset 15
 
-/x(ab|(bc|(de|(?R))))/I
+/x(ab|(bc|(de|(?R))))/
 Capturing subpattern count = 3
 No options
 First char = 'x'
@@ -3952,16 +3898,16 @@
  3: xxab
     *** Failers
 No match
-    xyab
+    xyab   
 No match
 
-/(ab|(bc|(de|(?1))))/I
+/(ab|(bc|(de|(?1))))/
 Failed: recursive call could loop indefinitely at offset 15
 
-/x(ab|(bc|(de|(?1)x)x)x)/I
+/x(ab|(bc|(de|(?1)x)x)x)/
 Failed: recursive call could loop indefinitely at offset 16
 
-/^([^()]|\((?1)*\))*$/I
+/^([^()]|\((?1)*\))*$/
 Capturing subpattern count = 1
 Options: anchored
 No first char
@@ -3972,15 +3918,15 @@
     a(b)c
  0: a(b)c
  1: c
-    a(b(c))d
+    a(b(c))d  
  0: a(b(c))d
  1: d
     *** Failers)
 No match
-    a(b(c)d
+    a(b(c)d  
 No match
 
-/^>abc>([^()]|\((?1)*\))*<xyz<$/I
+/^>abc>([^()]|\((?1)*\))*<xyz<$/
 Capturing subpattern count = 1
 Options: anchored
 No first char
@@ -3995,43 +3941,41 @@
  0: >abc>(1(2)3)<xyz<
  1: (1(2)3)
 
-/(a(?1)b)/DZ
+/(a(?1)b)/D
 ------------------------------------------------------------------
-        Bra
-        CBra 1
-        a
-        Once
-        Recurse
-        Ket
-        b
-        Ket
-        Ket
-        End
+  0  16 Bra 0
+  3  10 Bra 1
+  6     a
+  8   3 Recurse
+ 11     b
+ 13  10 Ket
+ 16  16 Ket
+ 19     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 No options
 First char = 'a'
 Need char = 'b'
 
-/(a(?1)+b)/DZ
+/(a(?1)+b)/D
 ------------------------------------------------------------------
-        Bra
-        CBra 1
-        a
-        Once
-        Recurse
-        KetRmax
-        b
-        Ket
-        Ket
-        End
+  0  22 Bra 0
+  3  16 Bra 1
+  6     a
+  8   6 Bra 0
+ 11   3 Recurse
+ 14   6 KetRmax
+ 17     b
+ 19  16 Ket
+ 22  22 Ket
+ 25     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 No options
 First char = 'a'
 Need char = 'b'
 
-/^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii
+/^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i
 Capturing subpattern count = 4
 Max back reference = 4
 Partial matching not supported
@@ -4054,7 +3998,7 @@
  2: <unset>
  3: A man, a plan, a canal: Panama
  4: A
-    Able was I ere I saw Elba.
+    Able was I ere I saw Elba. 
  0: Able was I ere I saw Elba.
  1: <unset>
  2: <unset>
@@ -4062,10 +4006,10 @@
  4: A
     *** Failers
 No match
-    The quick brown fox
+    The quick brown fox  
 No match
-
-/^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/I
+    
+/^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/
 Capturing subpattern count = 2
 Partial matching not supported
 Options: anchored
@@ -4085,8 +4029,8 @@
 No match
     ((2+2)*-3)-7)
 No match
-
-/^(x(y|(?1){2})z)/I
+         
+/^(x(y|(?1){2})z)/
 Capturing subpattern count = 2
 Options: anchored
 No first char
@@ -4095,7 +4039,7 @@
  0: xyz
  1: xyz
  2: y
-    xxyzxyzz
+    xxyzxyzz 
  0: xxyzxyzz
  1: xxyzxyzz
  2: xyzxyz
@@ -4103,10 +4047,10 @@
 No match
     xxyzz
 No match
-    xxyzxyzxyzz
+    xxyzxyzxyzz   
 No match
 
-/((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/Ix
+/((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x
 Capturing subpattern count = 2
 Partial matching not supported
 Options: extended
@@ -4128,11 +4072,11 @@
  0: <def>
  1: <def>
  2: <def>
-    <abc<>def>
+    <abc<>def> 
  0: <abc<>def>
  1: <abc<>def>
  2: <abc<>def>
-    <abc<>
+    <abc<>      
  0: <>
  1: <>
  2: <>
@@ -4141,13 +4085,13 @@
     <abc
 No match
 
-/(?1)/I
+/(?1)/
 Failed: reference to non-existent subpattern at offset 3
 
-/((?2)(abc)/I
-Failed: missing ) at offset 10
+/((?2)(abc)/
+Failed: reference to non-existent subpattern at offset 4
 
-/^(abc)def(?1)/I
+/^(abc)def(?1)/
 Capturing subpattern count = 1
 Options: anchored
 No first char
@@ -4156,7 +4100,7 @@
  0: abcdefabc
  1: abc
 
-/^(a|b|c)=(?1)+/I
+/^(a|b|c)=(?1)+/
 Capturing subpattern count = 1
 Options: anchored
 No first char
@@ -4167,11 +4111,11 @@
     a=b
  0: a=b
  1: a
-    a=bc
+    a=bc  
  0: a=bc
  1: a
 
-/^(a|b|c)=((?1))+/I
+/^(a|b|c)=((?1))+/
 Capturing subpattern count = 2
 Options: anchored
 No first char
@@ -4184,26 +4128,26 @@
  0: a=b
  1: a
  2: b
-    a=bc
+    a=bc  
  0: a=bc
  1: a
  2: c
 
-/a(?P<name1>b|c)d(?P<longername2>e)/DZ
+/a(?P<name1>b|c)d(?P<longername2>e)/D
 ------------------------------------------------------------------
-        Bra
-        a
-        CBra 1
-        b
-        Alt
-        c
-        Ket
-        d
-        CBra 2
-        e
-        Ket
-        Ket
-        End
+  0  28 Bra 0
+  3     a
+  5   5 Bra 1
+  8     b
+ 10   5 Alt
+ 13     c
+ 15  10 Ket
+ 18     d
+ 20   5 Bra 2
+ 23     e
+ 25   5 Ket
+ 28  28 Ket
+ 31     End
 ------------------------------------------------------------------
 Capturing subpattern count = 2
 Named capturing subpatterns:
@@ -4216,28 +4160,28 @@
  0: abde
  1: b
  2: e
-    acde
+    acde 
  0: acde
  1: c
  2: e
 
-/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ
+/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D
 ------------------------------------------------------------------
-        Bra
-        Bra
-        a
-        CBra 1
-        c
-        CBra 2
-        d
-        Ket
-        Ket
-        Ket
-        CBra 3
-        a
-        Ket
-        Ket
-        End
+  0  35 Bra 0
+  3  21 Bra 0
+  6     a
+  8  13 Bra 1
+ 11     c
+ 13   5 Bra 2
+ 16     d
+ 18   5 Ket
+ 21  13 Ket
+ 24  21 Ket
+ 27   5 Bra 3
+ 30     a
+ 32   5 Ket
+ 35  35 Ket
+ 38     End
 ------------------------------------------------------------------
 Capturing subpattern count = 3
 Named capturing subpatterns:
@@ -4248,23 +4192,21 @@
 First char = 'a'
 Need char = 'a'
 
-/(?P<a>a)...(?P=a)bbb(?P>a)d/DZ
+/(?P<a>a)...(?P=a)bbb(?P>a)d/D
 ------------------------------------------------------------------
-        Bra
-        CBra 1
-        a
-        Ket
-        Any
-        Any
-        Any
-        \1
-        bbb
-        Once
-        Recurse
-        Ket
-        d
-        Ket
-        End
+  0  28 Bra 0
+  3   5 Bra 1
+  6     a
+  8   5 Ket
+ 11     Any
+ 12     Any
+ 13     Any
+ 14     \1
+ 17     bbb
+ 23   3 Recurse
+ 26     d
+ 28  28 Ket
+ 31     End
 ------------------------------------------------------------------
 Capturing subpattern count = 1
 Max back reference = 1
@@ -4274,7 +4216,7 @@
 First char = 'a'
 Need char = 'd'
 
-/^\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
+/^\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
 Capturing subpattern count = 4
 Max back reference = 4
 Named capturing subpatterns:
@@ -4302,7 +4244,7 @@
  2: <unset>
  3: A man, a plan, a canal: Panama
  4: A

[... 4991 lines stripped ...]


Mime
View raw message