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