diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2007-05-03 10:28:07 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2007-05-03 10:28:07 +0000 |
commit | 9e6948096ae0dc2bca53d9c0bf1dc043cdd6d949 (patch) | |
tree | 35f58d19ee15bb84a879906e1e8d6f2625f51fef | |
parent | f928fc290573ad8fdc4e3ae8decd0a18f3cff828 (diff) | |
download | pcre-9e6948096ae0dc2bca53d9c0bf1dc043cdd6d949.tar.gz |
Use the pcretest "Z" option so all tests can be run with all link sizes.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@161 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r-- | ChangeLog | 5 | ||||
-rwxr-xr-x | RunTest | 15 | ||||
-rw-r--r-- | testdata/testinput2 | 178 | ||||
-rw-r--r-- | testdata/testinput5 | 142 | ||||
-rw-r--r-- | testdata/testinput6 | 28 | ||||
-rw-r--r-- | testdata/testoutput2 | 1670 | ||||
-rw-r--r-- | testdata/testoutput5 | 936 | ||||
-rw-r--r-- | testdata/testoutput6 | 140 |
8 files changed, 1550 insertions, 1564 deletions
@@ -11,6 +11,11 @@ Version 7.2 01-May-07 to make them independent of the local environment's newline setting. 3. Add code to configure.ac to remove -g from the CFLAGS default settings. + + 4. Some of the "internals" tests were previously cut out when the link size + was not 2, because the output contained actual offsets. The recent new + "Z" feature of pcretest means that these can be cut out, making the tests + usable with all link sizes. Version 7.1 24-Apr-07 @@ -55,21 +55,6 @@ while [ $# -gt 0 ] ; do shift done -if [ "$link_size" != "2" ] ; then - if [ $do2 = yes ] ; then - echo "Can't run test 2 with an internal link size other than 2" - exit 1 - fi - if [ $do5 = yes ] ; then - echo "Can't run test 5 with an internal link size other than 2" - exit 1 - fi - if [ $do6 = yes ] ; then - echo "Can't run test 6 with an internal link size other than 2" - exit 1 - fi -fi - if [ $utf8 -eq 0 ] ; then if [ $do4 = yes ] ; then echo "Can't run test 4 because UTF-8 support is not configured" diff --git a/testdata/testinput2 b/testdata/testinput2 index 20e6d93..9e2b862 100644 --- a/testdata/testinput2 +++ b/testdata/testinput2 @@ -236,7 +236,7 @@ /((?i)blah)\s+\1/I -/((?i)b)/IDS +/((?i)b)/IDZS /(a*b|(?i:c*(?-i)d))/IS @@ -442,17 +442,17 @@ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )((?:[a-zA-Z0-9]+ )?)?)?)?)?)?)?)?)?otherword/IM -/.*X/ID +/.*X/IDZ -/.*X/IDs +/.*X/IDZs -/(.*X|^B)/ID +/(.*X|^B)/IDZ -/(.*X|^B)/IDs +/(.*X|^B)/IDZs -/(?s)(.*X|^B)/ID +/(?s)(.*X|^B)/IDZ -/(?s:.*X|^B)/ID +/(?s:.*X|^B)/IDZ /\Biss\B/I+ Mississippi @@ -666,53 +666,53 @@ (ab(cd)ef) (ab(cd(ef)gh)ij) -/^[[:alnum:]]/D +/^[[:alnum:]]/DZ -/^[[:^alnum:]]/D +/^[[:^alnum:]]/DZ -/^[[:alpha:]]/D +/^[[:alpha:]]/DZ -/^[[:^alpha:]]/D +/^[[:^alpha:]]/DZ /[_[:alpha:]]/IS -/^[[:ascii:]]/D +/^[[:ascii:]]/DZ -/^[[:^ascii:]]/D +/^[[:^ascii:]]/DZ -/^[[:blank:]]/D +/^[[:blank:]]/DZ -/^[[:^blank:]]/D +/^[[:^blank:]]/DZ /[\n\x0b\x0c\x0d[:blank:]]/IS -/^[[:cntrl:]]/D +/^[[:cntrl:]]/DZ -/^[[:digit:]]/D +/^[[:digit:]]/DZ -/^[[:graph:]]/D +/^[[:graph:]]/DZ -/^[[:lower:]]/D +/^[[:lower:]]/DZ -/^[[:print:]]/D +/^[[:print:]]/DZ -/^[[:punct:]]/D +/^[[:punct:]]/DZ -/^[[:space:]]/D +/^[[:space:]]/DZ -/^[[:upper:]]/D +/^[[:upper:]]/DZ -/^[[:xdigit:]]/D +/^[[:xdigit:]]/DZ -/^[[:word:]]/D +/^[[:word:]]/DZ -/^[[:^cntrl:]]/D +/^[[:^cntrl:]]/DZ -/^[12[:^digit:]]/D +/^[12[:^digit:]]/DZ -/^[[:^blank:]]/D +/^[[:^blank:]]/DZ -/[01[:alpha:]%]/D +/[01[:alpha:]%]/DZ /[[.ch.]]/I @@ -796,63 +796,63 @@ /--------------------------------------------------------------------/I -/#/IxMD +/#/IxMDZ -/a#/IxMD +/a#/IxMDZ -/[\s]/D +/[\s]/DZ -/[\S]/D +/[\S]/DZ -/a(?i)b/D +/a(?i)b/DZ ab aB *** Failers AB -/(a(?i)b)/D +/(a(?i)b)/DZ ab aB *** Failers AB -/ (?i)abc/IxD +/ (?i)abc/IxDZ /#this is a comment - (?i)abc/IxD + (?i)abc/IxDZ -/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D +/123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ -/\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D +/\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/DZ -/\Q\E/D +/\Q\E/DZ \ -/\Q\Ex/D +/\Q\Ex/DZ -/ \Q\E/D +/ \Q\E/DZ -/a\Q\E/D +/a\Q\E/DZ abc bca bac -/a\Q\Eb/D +/a\Q\Eb/DZ abc -/\Q\Eabc/D +/\Q\Eabc/DZ -/x*+\w/D +/x*+\w/DZ *** Failers xxxxx -/x?+/D +/x?+/DZ -/x++/D +/x++/DZ -/x{1,3}+/D +/x{1,3}+/DZ -/(x)*+/D +/(x)*+/DZ /^(\w++|\s++)*$/I now is the time for all good men to come to the aid of the party @@ -882,7 +882,7 @@ *** Failers ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -/(abc){1,3}+/D +/(abc){1,3}+/DZ /a+?+/I @@ -892,17 +892,17 @@ /a{2,3}?+b/IU -/x(?U)a++b/D +/x(?U)a++b/DZ xaaaab -/(?U)xa++b/D +/(?U)xa++b/DZ xaaaab -/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D +/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ -/^x(?U)a+b/D +/^x(?U)a+b/DZ -/^x(?U)(a+)b/D +/^x(?U)(a+)b/DZ /[.x.]/I @@ -926,11 +926,11 @@ /[[:space:]/I -/[\s]/IDM +/[\s]/IDZM -/[[:space:]]/IDM +/[[:space:]]/IDZM -/[[:space:]abcde]/IDM +/[[:space:]abcde]/IDZM /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix <> @@ -942,9 +942,9 @@ *** Failers <abc -|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|IDM +|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|IDZM -|\$\<\.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|IDM +|\$\<\.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|IDZM /(.*)\d+\1/I @@ -1120,9 +1120,9 @@ >abc>1(2)3<xyz< >abc>(1(2)3)<xyz< -/(a(?1)b)/D +/(a(?1)b)/DZ -/(a(?1)+b)/D +/(a(?1)+b)/DZ /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/Ii 1221 @@ -1173,13 +1173,13 @@ a=b a=bc -/a(?P<name1>b|c)d(?P<longername2>e)/D +/a(?P<name1>b|c)d(?P<longername2>e)/DZ abde acde -/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D +/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ -/(?P<a>a)...(?P=a)bbb(?P>a)d/D +/(?P<a>a)...(?P=a)bbb(?P>a)d/DZ /^\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 1221 @@ -1215,13 +1215,13 @@ /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/Is -/(a)(bc)/IND +/(a)(bc)/INDZ abc -/(?P<one>a)(bc)/IND +/(?P<one>a)(bc)/INDZ abc -/(a)(?P<named>bc)/IND +/(a)(?P<named>bc)/INDZ /(a+)*zz/I aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M @@ -1239,9 +1239,9 @@ abcdefgh\Cone\Ctwo abcdefgh\Cthree -/(?P<Tes>)(?P<Test>)/D +/(?P<Tes>)(?P<Test>)/DZ -/(?P<Test>)(?P<Tes>)/D +/(?P<Test>)(?P<Tes>)/DZ /(?P<Z>zz)(?P<A>aa)/I zzaa\CZ @@ -1260,13 +1260,13 @@ [10,20,30,5,5,4,4,2,43,23,4234] [] -/(a(b(?2)c))?/D +/(a(b(?2)c))?/DZ -/(a(b(?2)c))*/D +/(a(b(?2)c))*/DZ -/(a(b(?2)c)){0,2}/D +/(a(b(?2)c)){0,2}/DZ -/[ab]{1}+/D +/[ab]{1}+/DZ /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/Ii Baby Bjorn Active Carrier - With free SHIPPING!! @@ -1274,27 +1274,27 @@ /((w\/|-|with)*(free|immediate)*.*?shipping\s*[!.-]*)/IiS Baby Bjorn Active Carrier - With free SHIPPING!! -/a*.*b/ISD +/a*.*b/ISDZ -/(a|b)*.?c/ISD +/(a|b)*.?c/ISDZ -/abc(?C255)de(?C)f/D +/abc(?C255)de(?C)f/DZ -/abcde/ICD +/abcde/ICDZ abcde abcdfe -/a*b/ICD +/a*b/ICDZ ab aaaab aaaacb -/a+b/ICD +/a+b/ICDZ ab aaaab aaaacb -/(abc|def)x/ICD +/(abc|def)x/ICDZ abcx defx abcdefzx @@ -1304,10 +1304,10 @@ abcdabcd abcdcdcdcdcd -/([ab]{,4}c|xy)/ICD +/([ab]{,4}c|xy)/ICDZ Note: that { does NOT introduce a quantifier -/([ab]{1,4}c|xy){4,5}?123/ICD +/([ab]{1,4}c|xy){4,5}?123/ICDZ aacaacaacaacaac123 /\b.*/I @@ -1667,18 +1667,18 @@ a random value. /Ix /(d?|c)[ab]xyz/IS -/^a*b\d/D +/^a*b\d/DZ -/^a*+b\d/D +/^a*+b\d/DZ -/^a*?b\d/D +/^a*?b\d/DZ -/^a+A\d/D +/^a+A\d/DZ aaaA5 ** Failers aaaa5 -/^a*A\d/IiD +/^a*A\d/IiDZ aaaA5 aaaa5 diff --git a/testdata/testinput5 b/testdata/testinput5 index 85d3ce6..65ae0b3 100644 --- a/testdata/testinput5 +++ b/testdata/testinput5 @@ -1,20 +1,20 @@ -/\x{100}/8DM +/\x{100}/8DZM -/\x{1000}/8DM +/\x{1000}/8DZM -/\x{10000}/8DM +/\x{10000}/8DZM -/\x{100000}/8DM +/\x{100000}/8DZM -/\x{1000000}/8DM +/\x{1000000}/8DZM -/\x{4000000}/8DM +/\x{4000000}/8DZM -/\x{7fffFFFF}/8DM +/\x{7fffFFFF}/8DZM -/[\x{ff}]/8DM +/[\x{ff}]/8DZM -/[\x{100}]/8DM +/[\x{100}]/8DZM /\x{ffffffff}/8 @@ -23,39 +23,39 @@ /^\x{100}a\x{1234}/8 \x{100}a\x{1234}bcd -/\x80/8D +/\x80/8DZ -/\xff/8D +/\xff/8DZ -/\x{0041}\x{2262}\x{0391}\x{002e}/D8 +/\x{0041}\x{2262}\x{0391}\x{002e}/DZ8 \x{0041}\x{2262}\x{0391}\x{002e} -/\x{D55c}\x{ad6d}\x{C5B4}/D8 +/\x{D55c}\x{ad6d}\x{C5B4}/DZ8 \x{D55c}\x{ad6d}\x{C5B4} -/\x{65e5}\x{672c}\x{8a9e}/D8 +/\x{65e5}\x{672c}\x{8a9e}/DZ8 \x{65e5}\x{672c}\x{8a9e} -/\x{80}/D8 +/\x{80}/DZ8 -/\x{084}/D8 +/\x{084}/DZ8 -/\x{104}/D8 +/\x{104}/DZ8 -/\x{861}/D8 +/\x{861}/DZ8 -/\x{212ab}/D8 +/\x{212ab}/DZ8 -/.{3,5}X/D8 +/.{3,5}X/DZ8 \x{212ab}\x{212ab}\x{212ab}\x{861}X -/.{3,5}?/D8 +/.{3,5}?/DZ8 \x{212ab}\x{212ab}\x{212ab}\x{861} -/-- These tests are here rather than in testinput4 because Perl 5.6 has --/ -/-- some problems with UTF-8 support, in the area of \x{..} where the --/ -/-- value is < 255. It grumbles about invalid UTF-8 strings. --/ +/-- These tests are here rather than in testinput4 because Perl 5.6 has some +problems with UTF-8 support, in the area of \x{..} where the value is < 255. +It grumbles about invalid UTF-8 strings. --/ /^[a\x{c0}]b/8 \x{c0}b @@ -80,29 +80,29 @@ /(?<=\C)X/8 Should produce an error diagnostic -/-- This one is here not because it's different to Perl, but because the --/ -/-- way the captured single-byte is displayed. (In Perl it becomes a --/ -/-- character, and you can't tell the difference.) --/ +/-- This one is here not because it's different to Perl, but because the way +the captured single-byte is displayed. (In Perl it becomes a character, and you +can't tell the difference.) --/ /X(\C)(.*)/8 X\x{1234} X\nabc -/^[ab]/8D +/^[ab]/8DZ bar *** Failers c \x{ff} \x{100} -/^[^ab]/8D +/^[^ab]/8DZ c \x{ff} \x{100} *** Failers aaa -/[^ab\xC0-\xF0]/8SD +/[^ab\xC0-\xF0]/8SDZ \x{f1} \x{bf} \x{100} @@ -111,16 +111,16 @@ \x{c0} \x{f0} -/Ä€{3,4}/8SD +/Ä€{3,4}/8SDZ \x{100}\x{100}\x{100}\x{100\x{100} -/(\x{100}+|x)/8SD +/(\x{100}+|x)/8SDZ -/(\x{100}*a|x)/8SD +/(\x{100}*a|x)/8SDZ -/(\x{100}{0,2}a|x)/8SD +/(\x{100}{0,2}a|x)/8SDZ -/(\x{100}{1,2}a|x)/8SD +/(\x{100}{1,2}a|x)/8SDZ /\x{100}*(\d+|"(?1)")/8 1234 @@ -132,34 +132,34 @@ *** Failers \x{100}\x{100}abcd -/\x{100}/8D +/\x{100}/8DZ -/\x{100}*/8D +/\x{100}*/8DZ -/a\x{100}*/8D +/a\x{100}*/8DZ -/ab\x{100}*/8D +/ab\x{100}*/8DZ -/a\x{100}\x{101}*/8D +/a\x{100}\x{101}*/8DZ -/a\x{100}\x{101}+/8D +/a\x{100}\x{101}+/8DZ -/\x{100}*A/8D +/\x{100}*A/8DZ A -/\x{100}*\d(?R)/8D +/\x{100}*\d(?R)/8DZ -/[^\x{c4}]/D +/[^\x{c4}]/DZ -/[^\x{c4}]/8D +/[^\x{c4}]/8DZ -/[\x{100}]/8DM +/[\x{100}]/8DZM \x{100} Z\x{100} \x{100}Z *** Failers -/[Z\x{100}]/8DM +/[Z\x{100}]/8DZM Z\x{100} \x{100} \x{100}Z @@ -174,21 +174,21 @@ \x{105} \x{ff} -/[z-\x{100}]/8D +/[z-\x{100}]/8DZ -/[z\Qa-d]Ä€\E]/8D +/[z\Qa-d]Ä€\E]/8DZ \x{100} Ä€ -/[\xFF]/D +/[\xFF]/DZ >\xff< -/[\xff]/D8 +/[\xff]/DZ8 >\x{ff}< -/[^\xFF]/D +/[^\xFF]/DZ -/[^\xff]/8D +/[^\xff]/8DZ /[Ä-Ãœ]/8 Ö # Matches without Study @@ -212,7 +212,7 @@ /ÃÃÃxxx/8 -/ÃÃÃxxx/8?D +/ÃÃÃxxx/8?DZ /abc/8 Ã] @@ -239,19 +239,19 @@ \xfc\x84\x80\x80\x80\x80 \xfd\x83\x80\x80\x80\x80 -/\x{100}abc(xyz(?1))/8D +/\x{100}abc(xyz(?1))/8DZ -/[^\x{100}]abc(xyz(?1))/8D +/[^\x{100}]abc(xyz(?1))/8DZ -/[ab\x{100}]abc(xyz(?1))/8D +/[ab\x{100}]abc(xyz(?1))/8DZ -/(\x{100}(b(?2)c))?/D8 +/(\x{100}(b(?2)c))?/DZ8 -/(\x{100}(b(?2)c)){0,2}/D8 +/(\x{100}(b(?2)c)){0,2}/DZ8 -/(\x{100}(b(?1)c))?/D8 +/(\x{100}(b(?1)c))?/DZ8 -/(\x{100}(b(?1)c)){0,2}/D8 +/(\x{100}(b(?1)c)){0,2}/DZ8 /\W/8 A.B @@ -263,7 +263,7 @@ /a\x{1234}b/P8 a\x{1234}b -/^\ሴ/8D +/^\ሴ/8DZ /\777/I @@ -271,23 +271,23 @@ \x{1ff} \777 -/\x{100}*\d/8D +/\x{100}*\d/8DZ -/\x{100}*\s/8D +/\x{100}*\s/8DZ -/\x{100}*\w/8D +/\x{100}*\w/8DZ -/\x{100}*\D/8D +/\x{100}*\D/8DZ -/\x{100}*\S/8D +/\x{100}*\S/8DZ -/\x{100}*\W/8D +/\x{100}*\W/8DZ -/\x{100}+\x{200}/8D +/\x{100}+\x{200}/8DZ -/\x{100}+X/8D +/\x{100}+X/8DZ -/X+\x{200}/8D +/X+\x{200}/8DZ /()()()()()()()()()() ()()()()()()()()()() diff --git a/testdata/testinput6 b/testdata/testinput6 index a0de1f1..3a658cb 100644 --- a/testdata/testinput6 +++ b/testdata/testinput6 @@ -323,20 +323,20 @@ ** Failers WXYZ -/[\p{L}]/D +/[\p{L}]/DZ -/[\p{^L}]/D +/[\p{^L}]/DZ -/[\P{L}]/D +/[\P{L}]/DZ -/[\P{^L}]/D +/[\P{^L}]/DZ -/[abc\p{L}\x{0660}]/8D +/[abc\p{L}\x{0660}]/8DZ -/[\p{Nd}]/8DM +/[\p{Nd}]/8DZM 1234 -/[\p{Nd}+-]+/8DM +/[\p{Nd}+-]+/8DZM 1234 12-34 12+\x{661}-34 @@ -425,13 +425,13 @@ A\x{391}\x{10427}\x{ff5a}\x{1fb0} A\x{391}\x{10427}\x{ff3a}\x{1fb8} -/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iD +/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iDZ -/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8D +/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8DZ -/AB\x{1fb0}/8D +/AB\x{1fb0}/8DZ -/AB\x{1fb0}/8Di +/AB\x{1fb0}/8DZi /\x{391}+/8i \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} @@ -452,7 +452,7 @@ \x{c0} \x{e0} -/[\x{105}-\x{109}]/8iD +/[\x{105}-\x{109}]/8iDZ \x{104} \x{105} \x{109} @@ -460,7 +460,7 @@ \x{100} \x{10a} -/[z-\x{100}]/8iD +/[z-\x{100}]/8iDZ Z z \x{39c} @@ -475,7 +475,7 @@ Y y -/[z-\x{100}]/8Di +/[z-\x{100}]/8DZi /^\X/8 A diff --git a/testdata/testoutput2 b/testdata/testoutput2 index a636c7e..d88e489 100644 --- a/testdata/testoutput2 +++ b/testdata/testoutput2 @@ -597,16 +597,16 @@ No options First char = 'b' (caseless) Need char = 'h' (caseless) -/((?i)b)/IDS +/((?i)b)/IDZS ------------------------------------------------------------------ - 0 17 Bra 0 - 3 9 Bra 1 - 8 01 Opt - 10 NC b - 12 9 Ket - 15 00 Opt - 17 17 Ket - 20 End + Bra 0 + Bra 1 + 01 Opt + NC b + Ket + 00 Opt + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 No options @@ -1110,13 +1110,13 @@ No options First char = 'w' Need char = 'd' -/.*X/ID +/.*X/IDZ ------------------------------------------------------------------ - 0 7 Bra 0 - 3 Any* - 5 X - 7 7 Ket - 10 End + Bra 0 + Any* + X + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1124,13 +1124,13 @@ No options First char at start or follows newline Need char = 'X' -/.*X/IDs +/.*X/IDZs ------------------------------------------------------------------ - 0 7 Bra 0 - 3 Any* - 5 X - 7 7 Ket - 10 End + Bra 0 + Any* + X + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1138,18 +1138,18 @@ Options: anchored dotall No first char Need char = 'X' -/(.*X|^B)/ID +/(.*X|^B)/IDZ ------------------------------------------------------------------ - 0 21 Bra 0 - 3 9 Bra 1 - 8 Any* - 10 X - 12 6 Alt - 15 ^ - 16 B - 18 15 Ket - 21 21 Ket - 24 End + Bra 0 + Bra 1 + Any* + X + Alt + ^ + B + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -1157,18 +1157,18 @@ No options First char at start or follows newline No need char -/(.*X|^B)/IDs +/(.*X|^B)/IDZs ------------------------------------------------------------------ - 0 21 Bra 0 - 3 9 Bra 1 - 8 Any* - 10 X - 12 6 Alt - 15 ^ - 16 B - 18 15 Ket - 21 21 Ket - 24 End + Bra 0 + Bra 1 + Any* + X + Alt + ^ + B + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -1176,18 +1176,18 @@ Options: anchored dotall No first char No need char -/(?s)(.*X|^B)/ID +/(?s)(.*X|^B)/IDZ ------------------------------------------------------------------ - 0 21 Bra 0 - 3 9 Bra 1 - 8 Any* - 10 X - 12 6 Alt - 15 ^ - 16 B - 18 15 Ket - 21 21 Ket - 24 End + Bra 0 + Bra 1 + Any* + X + Alt + ^ + B + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -1195,21 +1195,21 @@ Options: anchored dotall No first char No need char -/(?s:.*X|^B)/ID +/(?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 0 + Bra 0 + 04 Opt + Any* + X + Alt + 04 Opt + ^ + B + Ket + 00 Opt + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1884,52 +1884,52 @@ Need char = ')' 2: ij 3: (cd(ef)gh) -/^[[:alnum:]]/D +/^[[:alnum:]]/DZ ------------------------------------------------------------------ - 0 37 Bra 0 - 3 ^ - 4 [0-9A-Za-z] - 37 37 Ket - 40 End + Bra 0 + ^ + [0-9A-Za-z] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: anchored No first char No need char -/^[[:^alnum:]]/D +/^[[:^alnum:]]/DZ ------------------------------------------------------------------ - 0 37 Bra 0 - 3 ^ - 4 [\x00-/:-@[-`{-\xff] - 37 37 Ket - 40 End + Bra 0 + ^ + [\x00-/:-@[-`{-\xff] + 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 0 + ^ + [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 [\x00-@[-`{-\xff] - 37 37 Ket - 40 End + Bra 0 + ^ + [\x00-@[-`{-\xff] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: anchored @@ -1944,52 +1944,52 @@ 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:]]/D +/^[[:ascii:]]/DZ ------------------------------------------------------------------ - 0 37 Bra 0 - 3 ^ - 4 [\x00-\x7f] - 37 37 Ket - 40 End + Bra 0 + ^ + [\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 [\x80-\xff] - 37 37 Ket - 40 End + Bra 0 + ^ + [\x80-\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 [\x09 ] - 37 37 Ket - 40 End + Bra 0 + ^ + [\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 [\x00-\x08\x0a-\x1f!-\xff] - 37 37 Ket - 40 End + Bra 0 + ^ + [\x00-\x08\x0a-\x1f!-\xff] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: anchored @@ -2003,181 +2003,181 @@ No first char No need char Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 -/^[[:cntrl:]]/D +/^[[:cntrl:]]/DZ ------------------------------------------------------------------ - 0 37 Bra 0 - 3 ^ - 4 [\x00-\x1f\x7f] - 37 37 Ket - 40 End + Bra 0 + ^ + [\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 + ^ + [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 0 + ^ + [!-~] + 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 0 + ^ + [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 0 + ^ + [ -~] + 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 0 + ^ + [!-/:-@[-`{-~] + 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 0 + ^ + [\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 0 + ^ + [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 + ^ + [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 + ^ + [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 0 + ^ + [ -~\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 0 + ^ + [\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 0 + ^ + [\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 0 + [%01A-Za-z] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options @@ -2693,63 +2693,63 @@ No options First char = '-' Need char = '-' -/#/IxMD +/#/IxMDZ Memory allocation (code space): 7 ------------------------------------------------------------------ - 0 3 Bra 0 - 3 3 Ket - 6 End + Bra 0 + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: extended No first char No need char -/a#/IxMD +/a#/IxMDZ Memory allocation (code space): 9 ------------------------------------------------------------------ - 0 5 Bra 0 - 3 a - 5 5 Ket - 8 End + Bra 0 + 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 0 + [\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 0 + [\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 0 + a + 01 Opt + NC b + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options @@ -2764,17 +2764,17 @@ No match AB No match -/(a(?i)b)/D +/(a(?i)b)/DZ ------------------------------------------------------------------ - 0 19 Bra 0 - 3 11 Bra 1 - 8 a - 10 01 Opt - 12 NC b - 14 11 Ket - 17 00 Opt - 19 19 Ket - 22 End + Bra 0 + Bra 1 + a + 01 Opt + NC b + Ket + 00 Opt + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 No options @@ -2791,12 +2791,12 @@ No match AB No match -/ (?i)abc/IxD +/ (?i)abc/IxDZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 NC abc - 9 9 Ket - 12 End + Bra 0 + NC abc + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless extended @@ -2804,47 +2804,47 @@ First char = 'a' (caseless) Need char = 'c' (caseless) /#this is a comment - (?i)abc/IxD + (?i)abc/IxDZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 NC abc - 9 9 Ket - 12 End + Bra 0 + 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 0 + 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 0 + 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 0 + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options @@ -2853,36 +2853,36 @@ No need char \ 0: -/\Q\Ex/D +/\Q\Ex/DZ ------------------------------------------------------------------ - 0 5 Bra 0 - 3 x - 5 5 Ket - 8 End + Bra 0 + 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 0 + + 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 0 + a + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options @@ -2895,12 +2895,12 @@ No need char bac 0: a -/a\Q\Eb/D +/a\Q\Eb/DZ ------------------------------------------------------------------ - 0 7 Bra 0 - 3 ab - 7 7 Ket - 10 End + Bra 0 + ab + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options @@ -2909,25 +2909,25 @@ Need char = 'b' abc 0: ab -/\Q\Eabc/D +/\Q\Eabc/DZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 abc - 9 9 Ket - 12 End + Bra 0 + abc + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options First char = 'a' Need char = 'c' -/x*+\w/D +/x*+\w/DZ ------------------------------------------------------------------ - 0 6 Bra 0 - 3 x*+ - 5 \w - 6 6 Ket - 9 End + Bra 0 + x*+ + \w + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -2939,24 +2939,24 @@ No need char xxxxx No match -/x?+/D +/x?+/DZ ------------------------------------------------------------------ - 0 5 Bra 0 - 3 x?+ - 5 5 Ket - 8 End + Bra 0 + x?+ + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char -/x++/D +/x++/DZ ------------------------------------------------------------------ - 0 5 Bra 0 - 3 x++ - 5 5 Ket - 8 End + Bra 0 + x++ + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -2964,15 +2964,15 @@ No options 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{0,2} - 12 9 Ket - 15 15 Ket - 18 End + Bra 0 + Once + x + x{0,2} + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -2980,17 +2980,17 @@ No options First char = 'x' No need char -/(x)*+/D +/(x)*+/DZ ------------------------------------------------------------------ - 0 20 Bra 0 - 3 14 Once - 6 Brazero - 7 7 Bra 1 - 12 x - 14 7 KetRmax - 17 14 Ket - 20 20 Ket - 23 End + Bra 0 + Once + Brazero + Bra 1 + x + KetRmax + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 No options @@ -3082,26 +3082,26 @@ No match ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa No match -/(abc){1,3}+/D ------------------------------------------------------------------- - 0 59 Bra 0 - 3 53 Once - 6 11 Bra 1 - 11 abc - 17 11 Ket - 20 Brazero - 21 32 Bra 0 - 24 11 Bra 1 - 29 abc - 35 11 Ket - 38 Brazero - 39 11 Bra 1 - 44 abc - 50 11 Ket - 53 32 Ket - 56 53 Ket - 59 59 Ket - 62 End +/(abc){1,3}+/DZ +------------------------------------------------------------------ + Bra 0 + Once + Bra 1 + abc + Ket + Brazero + Bra 0 + Bra 1 + abc + Ket + Brazero + Bra 1 + abc + Ket + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 No options @@ -3120,14 +3120,14 @@ Failed: nothing to repeat at offset 7 /a{2,3}?+b/IU Failed: nothing to repeat at offset 7 -/x(?U)a++b/D +/x(?U)a++b/DZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 x - 5 a++ - 7 b - 9 9 Ket - 12 End + Bra 0 + x + a++ + b + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -3137,14 +3137,14 @@ Need char = 'b' xaaaab 0: xaaaab -/(?U)xa++b/D +/(?U)xa++b/DZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 x - 5 a++ - 7 b - 9 9 Ket - 12 End + Bra 0 + x + a++ + b + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -3154,26 +3154,26 @@ Need char = 'b' xaaaab 0: xaaaab -/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D ------------------------------------------------------------------- - 0 116 Bra 0 - 3 ^ - 4 109 Bra 1 - 9 7 Bra 2 - 14 a+ - 16 7 Ket - 19 39 Bra 3 - 24 [ab]+? - 58 39 Ket - 61 39 Bra 4 - 66 [bc]+ -100 39 Ket -103 7 Bra 5 -108 \w* -110 7 Ket -113 109 Ket -116 116 Ket -119 End +/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/DZ +------------------------------------------------------------------ + Bra 0 + ^ + Bra 1 + Bra 2 + a+ + Ket + Bra 3 + [ab]+? + Ket + Bra 4 + [bc]+ + Ket + Bra 5 + \w* + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 5 Partial matching not supported @@ -3181,15 +3181,15 @@ Options: anchored 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 0 + ^ + x + a++ + b + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -3197,17 +3197,17 @@ Options: anchored No first char Need char = 'b' -/^x(?U)(a+)b/D +/^x(?U)(a+)b/DZ ------------------------------------------------------------------ - 0 18 Bra 0 - 3 ^ - 4 x - 6 7 Bra 1 - 11 a+? - 13 7 Ket - 16 b - 18 18 Ket - 21 End + Bra 0 + ^ + x + Bra 1 + a+? + Ket + b + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -3248,39 +3248,39 @@ Failed: missing terminating ] for character class at offset 3 /[[:space:]/I Failed: missing terminating ] for character class at offset 10 -/[\s]/IDM +/[\s]/IDZM Memory allocation (code space): 40 ------------------------------------------------------------------ - 0 36 Bra 0 - 3 [\x09\x0a\x0c\x0d ] - 36 36 Ket - 39 End + Bra 0 + [\x09\x0a\x0c\x0d ] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char -/[[:space:]]/IDM +/[[:space:]]/IDZM Memory allocation (code space): 40 ------------------------------------------------------------------ - 0 36 Bra 0 - 3 [\x09-\x0d ] - 36 36 Ket - 39 End + Bra 0 + [\x09-\x0d ] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char -/[[:space:]abcde]/IDM +/[[:space:]abcde]/IDZM Memory allocation (code space): 40 ------------------------------------------------------------------ - 0 36 Bra 0 - 3 [\x09-\x0d a-e] - 36 36 Ket - 39 End + Bra 0 + [\x09-\x0d a-e] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options @@ -3310,28 +3310,28 @@ 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|IDM +|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|IDZM Memory allocation (code space): 826 ------------------------------------------------------------------ - 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 0 + 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|IDM +|\$\<\.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|IDZM Memory allocation (code space): 816 ------------------------------------------------------------------ - 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 0 + $<.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 @@ -3997,36 +3997,36 @@ Need char = '<' 0: >abc>(1(2)3)<xyz< 1: (1(2)3) -/(a(?1)b)/D +/(a(?1)b)/DZ ------------------------------------------------------------------ - 0 24 Bra 0 - 3 18 Bra 1 - 8 a - 10 6 Once - 13 3 Recurse - 16 6 Ket - 19 b - 21 18 Ket - 24 24 Ket - 27 End + Bra 0 + Bra 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 24 Bra 0 - 3 18 Bra 1 - 8 a - 10 6 Once - 13 3 Recurse - 16 6 KetRmax - 19 b - 21 18 Ket - 24 24 Ket - 27 End + Bra 0 + Bra 1 + a + Once + Recurse + KetRmax + b + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 No options @@ -4191,21 +4191,21 @@ No need char 1: a 2: c -/a(?P<name1>b|c)d(?P<longername2>e)/D ------------------------------------------------------------------- - 0 32 Bra 0 - 3 a - 5 7 Bra 1 - 10 b - 12 5 Alt - 15 c - 17 12 Ket - 20 d - 22 7 Bra 2 - 27 e - 29 7 Ket - 32 32 Ket - 35 End +/a(?P<name1>b|c)d(?P<longername2>e)/DZ +------------------------------------------------------------------ + Bra 0 + a + Bra 1 + b + Alt + c + Ket + d + Bra 2 + e + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 2 Named capturing subpatterns: @@ -4223,23 +4223,23 @@ Need char = 'e' 1: c 2: e -/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D ------------------------------------------------------------------- - 0 41 Bra 0 - 3 25 Bra 0 - 6 a - 8 17 Bra 1 - 13 c - 15 7 Bra 2 - 20 d - 22 7 Ket - 25 17 Ket - 28 25 Ket - 31 7 Bra 3 - 36 a - 38 7 Ket - 41 41 Ket - 44 End +/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/DZ +------------------------------------------------------------------ + Bra 0 + Bra 0 + a + Bra 1 + c + Bra 2 + d + Ket + Ket + Ket + Bra 3 + a + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 3 Named capturing subpatterns: @@ -4250,23 +4250,23 @@ No options First char = 'a' Need char = 'a' -/(?P<a>a)...(?P=a)bbb(?P>a)d/D ------------------------------------------------------------------- - 0 36 Bra 0 - 3 7 Bra 1 - 8 a - 10 7 Ket - 13 Any - 14 Any - 15 Any - 16 \1 - 19 bbb - 25 6 Once - 28 3 Recurse - 31 6 Ket - 34 d - 36 36 Ket - 39 End +/(?P<a>a)...(?P=a)bbb(?P>a)d/DZ +------------------------------------------------------------------ + Bra 0 + Bra 1 + a + Ket + Any + Any + Any + \1 + bbb + Once + Recurse + Ket + d + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Max back reference = 1 @@ -4413,17 +4413,17 @@ Options: dotall No first char No need char -/(a)(bc)/IND +/(a)(bc)/INDZ ------------------------------------------------------------------ - 0 21 Bra 0 - 3 5 Bra 0 - 6 a - 8 5 Ket - 11 7 Bra 0 - 14 bc - 18 7 Ket - 21 21 Ket - 24 End + Bra 0 + Bra 0 + a + Ket + Bra 0 + bc + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: no_auto_capture @@ -4432,17 +4432,17 @@ Need char = 'c' abc 0: abc -/(?P<one>a)(bc)/IND +/(?P<one>a)(bc)/INDZ ------------------------------------------------------------------ - 0 23 Bra 0 - 3 7 Bra 1 - 8 a - 10 7 Ket - 13 7 Bra 0 - 16 bc - 20 7 Ket - 23 23 Ket - 26 End + Bra 0 + Bra 1 + a + Ket + Bra 0 + bc + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Named capturing subpatterns: @@ -4454,17 +4454,17 @@ Need char = 'c' 0: abc 1: a -/(a)(?P<named>bc)/IND +/(a)(?P<named>bc)/INDZ ------------------------------------------------------------------ - 0 23 Bra 0 - 3 5 Bra 0 - 6 a - 8 5 Ket - 11 9 Bra 1 - 16 bc - 20 9 Ket - 23 23 Ket - 26 End + Bra 0 + Bra 0 + a + Ket + Bra 1 + bc + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Named capturing subpatterns: @@ -4547,15 +4547,15 @@ no parentheses with name "three" 2: gh copy substring three failed -7 -/(?P<Tes>)(?P<Test>)/D +/(?P<Tes>)(?P<Test>)/DZ ------------------------------------------------------------------ - 0 19 Bra 0 - 3 5 Bra 1 - 8 5 Ket - 11 5 Bra 2 - 16 5 Ket - 19 19 Ket - 22 End + Bra 0 + Bra 1 + Ket + Bra 2 + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 2 Named capturing subpatterns: @@ -4565,15 +4565,15 @@ No options No first char No need char -/(?P<Test>)(?P<Tes>)/D +/(?P<Test>)(?P<Tes>)/DZ ------------------------------------------------------------------ - 0 19 Bra 0 - 3 5 Bra 1 - 8 5 Ket - 11 5 Bra 2 - 16 5 Ket - 19 19 Ket - 22 End + Bra 0 + Bra 1 + Ket + Bra 2 + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 2 Named capturing subpatterns: @@ -4642,93 +4642,93 @@ Need char = ']' [] 0: [] -/(a(b(?2)c))?/D ------------------------------------------------------------------- - 0 35 Bra 0 - 3 Brazero - 4 28 Bra 1 - 9 a - 11 18 Bra 2 - 16 b - 18 6 Once - 21 11 Recurse - 24 6 Ket - 27 c - 29 18 Ket - 32 28 Ket - 35 35 Ket - 38 End +/(a(b(?2)c))?/DZ +------------------------------------------------------------------ + Bra 0 + Brazero + Bra 1 + a + Bra 2 + b + Once + Recurse + Ket + c + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 2 No options No first char No need char -/(a(b(?2)c))*/D +/(a(b(?2)c))*/DZ ------------------------------------------------------------------ - 0 35 Bra 0 - 3 Brazero - 4 28 Bra 1 - 9 a - 11 18 Bra 2 - 16 b - 18 6 Once - 21 11 Recurse - 24 6 Ket - 27 c - 29 18 Ket - 32 28 KetRmax - 35 35 Ket - 38 End + Bra 0 + Brazero + Bra 1 + a + Bra 2 + b + Once + Recurse + Ket + c + Ket + KetRmax + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 2 No options No first char No need char -/(a(b(?2)c)){0,2}/D ------------------------------------------------------------------- - 0 73 Bra 0 - 3 Brazero - 4 66 Bra 0 - 7 28 Bra 1 - 12 a - 14 18 Bra 2 - 19 b - 21 6 Once - 24 14 Recurse - 27 6 Ket - 30 c - 32 18 Ket - 35 28 Ket - 38 Brazero - 39 28 Bra 1 - 44 a - 46 18 Bra 2 - 51 b - 53 6 Once - 56 14 Recurse - 59 6 Ket - 62 c - 64 18 Ket - 67 28 Ket - 70 66 Ket - 73 73 Ket - 76 End +/(a(b(?2)c)){0,2}/DZ +------------------------------------------------------------------ + Bra 0 + Brazero + Bra 0 + Bra 1 + a + Bra 2 + b + Once + Recurse + Ket + c + Ket + Ket + Brazero + Bra 1 + a + Bra 2 + b + Once + Recurse + Ket + c + Ket + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 2 No options No first char No need char -/[ab]{1}+/D +/[ab]{1}+/DZ ------------------------------------------------------------------ - 0 47 Bra 0 - 3 41 Once - 6 [ab]{1,1} - 44 41 Ket - 47 47 Ket - 50 End + Bra 0 + Once + [ab]{1,1} + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options @@ -4756,14 +4756,14 @@ Study returned NULL 0: Baby Bjorn Active Carrier - With free SHIPPING!! 1: Baby Bjorn Active Carrier - With free SHIPPING!! -/a*.*b/ISD +/a*.*b/ISDZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 a* - 5 Any* - 7 b - 9 9 Ket - 12 End + Bra 0 + a* + Any* + b + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -4772,19 +4772,19 @@ No first char Need char = 'b' Study returned NULL -/(a|b)*.?c/ISD +/(a|b)*.?c/ISDZ ------------------------------------------------------------------ - 0 23 Bra 0 - 3 Brazero - 4 7 Bra 1 - 9 a - 11 5 Alt - 14 b - 16 12 KetRmax - 19 Any? - 21 c - 23 23 Ket - 26 End + Bra 0 + Brazero + Bra 1 + a + Alt + b + KetRmax + Any? + c + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 No options @@ -4792,38 +4792,38 @@ No first char Need char = 'c' Study returned NULL -/abc(?C255)de(?C)f/D +/abc(?C255)de(?C)f/DZ ------------------------------------------------------------------ - 0 27 Bra 0 - 3 abc - 9 Callout 255 10 1 - 15 de - 19 Callout 0 16 1 - 25 f - 27 27 Ket - 30 End + Bra 0 + abc + Callout 255 10 1 + de + Callout 0 16 1 + f + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options First char = 'a' Need char = 'f' -/abcde/ICD +/abcde/ICDZ ------------------------------------------------------------------ - 0 49 Bra 0 - 3 Callout 255 0 1 - 9 a - 11 Callout 255 1 1 - 17 b - 19 Callout 255 2 1 - 25 c - 27 Callout 255 3 1 - 33 d - 35 Callout 255 4 1 - 41 e - 43 Callout 255 5 0 - 49 49 Ket - 52 End + Bra 0 + Callout 255 0 1 + a + Callout 255 1 1 + b + Callout 255 2 1 + c + Callout 255 3 1 + d + Callout 255 4 1 + e + Callout 255 5 0 + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: @@ -4847,16 +4847,16 @@ Need char = 'e' +4 ^ ^ e No match -/a*b/ICD +/a*b/ICDZ ------------------------------------------------------------------ - 0 25 Bra 0 - 3 Callout 255 0 2 - 9 a*+ - 11 Callout 255 2 1 - 17 b - 19 Callout 255 3 0 - 25 25 Ket - 28 End + Bra 0 + Callout 255 0 2 + a*+ + Callout 255 2 1 + b + Callout 255 3 0 + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -4892,16 +4892,16 @@ Need char = 'b' +3 ^^ 0: b -/a+b/ICD +/a+b/ICDZ ------------------------------------------------------------------ - 0 25 Bra 0 - 3 Callout 255 0 2 - 9 a++ - 11 Callout 255 2 1 - 17 b - 19 Callout 255 3 0 - 25 25 Ket - 28 End + Bra 0 + Callout 255 0 2 + a++ + Callout 255 2 1 + b + Callout 255 3 0 + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -4932,32 +4932,32 @@ Need char = 'b' +2 ^^ b No match -/(abc|def)x/ICD ------------------------------------------------------------------- - 0 94 Bra 0 - 3 Callout 255 0 9 - 9 35 Bra 1 - 14 Callout 255 1 1 - 20 a - 22 Callout 255 2 1 - 28 b - 30 Callout 255 3 1 - 36 c - 38 Callout 255 4 0 - 44 33 Alt - 47 Callout 255 5 1 - 53 d - 55 Callout 255 6 1 - 61 e - 63 Callout 255 7 1 - 69 f - 71 Callout 255 8 0 - 77 68 Ket - 80 Callout 255 9 1 - 86 x - 88 Callout 255 10 0 - 94 94 Ket - 97 End +/(abc|def)x/ICDZ +------------------------------------------------------------------ + Bra 0 + Callout 255 0 9 + Bra 1 + Callout 255 1 1 + a + Callout 255 2 1 + b + Callout 255 3 1 + c + Callout 255 4 0 + Alt + Callout 255 5 1 + d + Callout 255 6 1 + e + Callout 255 7 1 + f + Callout 255 8 0 + Ket + Callout 255 9 1 + x + Callout 255 10 0 + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: @@ -5086,34 +5086,34 @@ No need char 0: abcdcdcd 1: cd -/([ab]{,4}c|xy)/ICD ------------------------------------------------------------------- - 0 133 Bra 0 - 3 Callout 255 0 14 - 9 90 Bra 1 - 14 Callout 255 1 4 - 20 [ab] - 53 Callout 255 5 1 - 59 { - 61 Callout 255 6 1 - 67 , - 69 Callout 255 7 1 - 75 4 - 77 Callout 255 8 1 - 83 } - 85 Callout 255 9 1 - 91 c - 93 Callout 255 10 0 - 99 25 Alt -102 Callout 255 11 1 -108 x -110 Callout 255 12 1 -116 y -118 Callout 255 13 0 -124 115 Ket -127 Callout 255 14 0 -133 133 Ket -136 End +/([ab]{,4}c|xy)/ICDZ +------------------------------------------------------------------ + Bra 0 + Callout 255 0 14 + Bra 1 + Callout 255 1 4 + [ab] + Callout 255 5 1 + { + Callout 255 6 1 + , + Callout 255 7 1 + 4 + Callout 255 8 1 + } + Callout 255 9 1 + c + Callout 255 10 0 + Alt + Callout 255 11 1 + x + Callout 255 12 1 + y + Callout 255 13 0 + Ket + Callout 255 14 0 + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: @@ -5261,85 +5261,85 @@ No need char +11 ^ x No match -/([ab]{1,4}c|xy){4,5}?123/ICD ------------------------------------------------------------------- - 0 495 Bra 0 - 3 Callout 255 0 21 - 9 63 Bra 1 - 14 Callout 255 1 9 - 20 [ab]{1,4} - 58 Callout 255 10 1 - 64 c - 66 Callout 255 11 0 - 72 25 Alt - 75 Callout 255 12 1 - 81 x - 83 Callout 255 13 1 - 89 y - 91 Callout 255 14 0 - 97 88 Ket -100 63 Bra 1 -105 Callout 255 1 9 -111 [ab]{1,4} -149 Callout 255 10 1 -155 c -157 Callout 255 11 0 -163 25 Alt -166 Callout 255 12 1 -172 x -174 Callout 255 13 1 -180 y -182 Callout 255 14 0 -188 88 Ket -191 63 Bra 1 -196 Callout 255 1 9 -202 [ab]{1,4} -240 Callout 255 10 1 -246 c -248 Callout 255 11 0 -254 25 Alt -257 Callout 255 12 1 -263 x -265 Callout 255 13 1 -271 y -273 Callout 255 14 0 -279 88 Ket -282 63 Bra 1 -287 Callout 255 1 9 -293 [ab]{1,4} -331 Callout 255 10 1 -337 c -339 Callout 255 11 0 -345 25 Alt -348 Callout 255 12 1 -354 x -356 Callout 255 13 1 -362 y -364 Callout 255 14 0 -370 88 Ket -373 Braminzero -374 63 Bra 1 -379 Callout 255 1 9 -385 [ab]{1,4} -423 Callout 255 10 1 -429 c -431 Callout 255 11 0 -437 25 Alt -440 Callout 255 12 1 -446 x -448 Callout 255 13 1 -454 y -456 Callout 255 14 0 -462 88 Ket -465 Callout 255 21 1 -471 1 -473 Callout 255 22 1 -479 2 -481 Callout 255 23 1 -487 3 -489 Callout 255 24 0 -495 495 Ket -498 End +/([ab]{1,4}c|xy){4,5}?123/ICDZ +------------------------------------------------------------------ + Bra 0 + Callout 255 0 21 + Bra 1 + Callout 255 1 9 + [ab]{1,4} + Callout 255 10 1 + c + Callout 255 11 0 + Alt + Callout 255 12 1 + x + Callout 255 13 1 + y + Callout 255 14 0 + Ket + Bra 1 + Callout 255 1 9 + [ab]{1,4} + Callout 255 10 1 + c + Callout 255 11 0 + Alt + Callout 255 12 1 + x + Callout 255 13 1 + y + Callout 255 14 0 + Ket + Bra 1 + Callout 255 1 9 + [ab]{1,4} + Callout 255 10 1 + c + Callout 255 11 0 + Alt + Callout 255 12 1 + x + Callout 255 13 1 + y + Callout 255 14 0 + Ket + Bra 1 + Callout 255 1 9 + [ab]{1,4} + Callout 255 10 1 + c + Callout 255 11 0 + Alt + Callout 255 12 1 + x + Callout 255 13 1 + y + Callout 255 14 0 + Ket + Braminzero + Bra 1 + Callout 255 1 9 + [ab]{1,4} + Callout 255 10 1 + c + Callout 255 11 0 + Alt + Callout 255 12 1 + x + Callout 255 13 1 + y + Callout 255 14 0 + Ket + Callout 255 21 1 + 1 + Callout 255 22 1 + 2 + Callout 255 23 1 + 3 + Callout 255 24 0 + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -6669,15 +6669,15 @@ No first char Need char = 'z' Starting byte set: a b c d -/^a*b\d/D +/^a*b\d/DZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 ^ - 4 a*+ - 6 b - 8 \d - 9 9 Ket - 12 End + Bra 0 + ^ + a*+ + b + \d + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -6685,15 +6685,15 @@ Options: anchored No first char Need char = 'b' -/^a*+b\d/D +/^a*+b\d/DZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 ^ - 4 a*+ - 6 b - 8 \d - 9 9 Ket - 12 End + Bra 0 + ^ + a*+ + b + \d + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -6701,15 +6701,15 @@ Options: anchored No first char Need char = 'b' -/^a*?b\d/D +/^a*?b\d/DZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 ^ - 4 a*+ - 6 b - 8 \d - 9 9 Ket - 12 End + Bra 0 + ^ + a*+ + b + \d + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -6717,15 +6717,15 @@ Options: anchored No first char Need char = 'b' -/^a+A\d/D +/^a+A\d/DZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 ^ - 4 a++ - 6 A - 8 \d - 9 9 Ket - 12 End + Bra 0 + ^ + a++ + A + \d + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -6739,15 +6739,15 @@ No match aaaa5 No match -/^a*A\d/IiD +/^a*A\d/IiDZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 ^ - 4 a* - 6 NC A - 8 \d - 9 9 Ket - 12 End + Bra 0 + ^ + a* + NC A + \d + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported diff --git a/testdata/testoutput5 b/testdata/testoutput5 index 61c6842..16da5ec 100644 --- a/testdata/testoutput5 +++ b/testdata/testoutput5 @@ -1,114 +1,114 @@ -/\x{100}/8DM +/\x{100}/8DZM Memory allocation (code space): 10 ------------------------------------------------------------------ - 0 6 Bra 0 - 3 \x{100} - 6 6 Ket - 9 End + Bra 0 + \x{100} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 196 Need char = 128 -/\x{1000}/8DM +/\x{1000}/8DZM Memory allocation (code space): 11 ------------------------------------------------------------------ - 0 7 Bra 0 - 3 \x{1000} - 7 7 Ket - 10 End + Bra 0 + \x{1000} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 225 Need char = 128 -/\x{10000}/8DM +/\x{10000}/8DZM Memory allocation (code space): 12 ------------------------------------------------------------------ - 0 8 Bra 0 - 3 \x{10000} - 8 8 Ket - 11 End + Bra 0 + \x{10000} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 240 Need char = 128 -/\x{100000}/8DM +/\x{100000}/8DZM Memory allocation (code space): 12 ------------------------------------------------------------------ - 0 8 Bra 0 - 3 \x{100000} - 8 8 Ket - 11 End + Bra 0 + \x{100000} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 244 Need char = 128 -/\x{1000000}/8DM +/\x{1000000}/8DZM Memory allocation (code space): 13 ------------------------------------------------------------------ - 0 9 Bra 0 - 3 \x{1000000} - 9 9 Ket - 12 End + Bra 0 + \x{1000000} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 249 Need char = 128 -/\x{4000000}/8DM +/\x{4000000}/8DZM Memory allocation (code space): 14 ------------------------------------------------------------------ - 0 10 Bra 0 - 3 \x{4000000} - 10 10 Ket - 13 End + Bra 0 + \x{4000000} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 252 Need char = 128 -/\x{7fffFFFF}/8DM +/\x{7fffFFFF}/8DZM Memory allocation (code space): 14 ------------------------------------------------------------------ - 0 10 Bra 0 - 3 \x{7fffffff} - 10 10 Ket - 13 End + Bra 0 + \x{7fffffff} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 253 Need char = 191 -/[\x{ff}]/8DM +/[\x{ff}]/8DZM Memory allocation (code space): 10 ------------------------------------------------------------------ - 0 6 Bra 0 - 3 \x{ff} - 6 6 Ket - 9 End + Bra 0 + \x{ff} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 195 Need char = 191 -/[\x{100}]/8DM +/[\x{100}]/8DZM Memory allocation (code space): 15 ------------------------------------------------------------------ - 0 11 Bra 0 - 3 [\x{100}] - 11 11 Ket - 14 End + Bra 0 + [\x{100}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -125,36 +125,36 @@ Failed: character value in \x{...} sequence is too large at offset 12 \x{100}a\x{1234}bcd 0: \x{100}a\x{1234} -/\x80/8D +/\x80/8DZ ------------------------------------------------------------------ - 0 6 Bra 0 - 3 \x{80} - 6 6 Ket - 9 End + Bra 0 + \x{80} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 194 Need char = 128 -/\xff/8D +/\xff/8DZ ------------------------------------------------------------------ - 0 6 Bra 0 - 3 \x{ff} - 6 6 Ket - 9 End + Bra 0 + \x{ff} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 195 Need char = 191 -/\x{0041}\x{2262}\x{0391}\x{002e}/D8 +/\x{0041}\x{2262}\x{0391}\x{002e}/DZ8 ------------------------------------------------------------------ - 0 14 Bra 0 - 3 A\x{2262}\x{391}. - 14 14 Ket - 17 End + Bra 0 + A\x{2262}\x{391}. + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -163,12 +163,12 @@ Need char = '.' \x{0041}\x{2262}\x{0391}\x{002e} 0: A\x{2262}\x{391}. -/\x{D55c}\x{ad6d}\x{C5B4}/D8 +/\x{D55c}\x{ad6d}\x{C5B4}/DZ8 ------------------------------------------------------------------ - 0 15 Bra 0 - 3 \x{d55c}\x{ad6d}\x{c5b4} - 15 15 Ket - 18 End + Bra 0 + \x{d55c}\x{ad6d}\x{c5b4} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -177,12 +177,12 @@ Need char = 180 \x{D55c}\x{ad6d}\x{C5B4} 0: \x{d55c}\x{ad6d}\x{c5b4} -/\x{65e5}\x{672c}\x{8a9e}/D8 +/\x{65e5}\x{672c}\x{8a9e}/DZ8 ------------------------------------------------------------------ - 0 15 Bra 0 - 3 \x{65e5}\x{672c}\x{8a9e} - 15 15 Ket - 18 End + Bra 0 + \x{65e5}\x{672c}\x{8a9e} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -191,74 +191,74 @@ Need char = 158 \x{65e5}\x{672c}\x{8a9e} 0: \x{65e5}\x{672c}\x{8a9e} -/\x{80}/D8 +/\x{80}/DZ8 ------------------------------------------------------------------ - 0 6 Bra 0 - 3 \x{80} - 6 6 Ket - 9 End + Bra 0 + \x{80} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 194 Need char = 128 -/\x{084}/D8 +/\x{084}/DZ8 ------------------------------------------------------------------ - 0 6 Bra 0 - 3 \x{84} - 6 6 Ket - 9 End + Bra 0 + \x{84} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 194 Need char = 132 -/\x{104}/D8 +/\x{104}/DZ8 ------------------------------------------------------------------ - 0 6 Bra 0 - 3 \x{104} - 6 6 Ket - 9 End + Bra 0 + \x{104} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 196 Need char = 132 -/\x{861}/D8 +/\x{861}/DZ8 ------------------------------------------------------------------ - 0 7 Bra 0 - 3 \x{861} - 7 7 Ket - 10 End + Bra 0 + \x{861} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 224 Need char = 161 -/\x{212ab}/D8 +/\x{212ab}/DZ8 ------------------------------------------------------------------ - 0 8 Bra 0 - 3 \x{212ab} - 8 8 Ket - 11 End + Bra 0 + \x{212ab} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 240 Need char = 171 -/.{3,5}X/D8 +/.{3,5}X/DZ8 ------------------------------------------------------------------ - 0 13 Bra 0 - 3 Any{3} - 7 Any{0,2} - 11 X - 13 13 Ket - 16 End + Bra 0 + Any{3} + Any{0,2} + X + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -269,13 +269,13 @@ Need char = 'X' 0: \x{212ab}\x{212ab}\x{212ab}\x{861}X -/.{3,5}?/D8 +/.{3,5}?/DZ8 ------------------------------------------------------------------ - 0 11 Bra 0 - 3 Any{3} - 7 Any{0,2}? - 11 11 Ket - 14 End + Bra 0 + Any{3} + Any{0,2}? + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -285,11 +285,9 @@ No need char \x{212ab}\x{212ab}\x{212ab}\x{861} 0: \x{212ab}\x{212ab}\x{212ab} -/-- These tests are here rather than in testinput4 because Perl 5.6 has --/ -/-- some problems with UTF-8 support, in the area of \x{..} where the --/ -No match -/-- value is < 255. It grumbles about invalid UTF-8 strings. --/ -No match +/-- These tests are here rather than in testinput4 because Perl 5.6 has some +problems with UTF-8 support, in the area of \x{..} where the value is < 255. +It grumbles about invalid UTF-8 strings. --/ /^[a\x{c0}]b/8 \x{c0}b @@ -329,11 +327,9 @@ No match /(?<=\C)X/8 Failed: \C not allowed in lookbehind assertion at offset 6 -/-- This one is here not because it's different to Perl, but because the --/ -/-- way the captured single-byte is displayed. (In Perl it becomes a --/ -No match -/-- character, and you can't tell the difference.) --/ -No match +/-- This one is here not because it's different to Perl, but because the way +the captured single-byte is displayed. (In Perl it becomes a character, and you +can't tell the difference.) --/ /X(\C)(.*)/8 X\x{1234} @@ -345,13 +341,13 @@ No match 1: \x{0a} 2: abc -/^[ab]/8D +/^[ab]/8DZ ------------------------------------------------------------------ - 0 37 Bra 0 - 3 ^ - 4 [ab] - 37 37 Ket - 40 End + Bra 0 + ^ + [ab] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: anchored utf8 @@ -368,13 +364,13 @@ No match \x{100} No match -/^[^ab]/8D +/^[^ab]/8DZ ------------------------------------------------------------------ - 0 37 Bra 0 - 3 ^ - 4 [\x00-`c-\xff] (neg) - 37 37 Ket - 40 End + Bra 0 + ^ + [\x00-`c-\xff] (neg) + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: anchored utf8 @@ -391,12 +387,12 @@ No need char aaa No match -/[^ab\xC0-\xF0]/8SD +/[^ab\xC0-\xF0]/8SDZ ------------------------------------------------------------------ - 0 36 Bra 0 - 3 [\x00-`c-\xbf\xf1-\xff] (neg) - 36 36 Ket - 39 End + Bra 0 + [\x00-`c-\xbf\xf1-\xff] (neg) + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -427,13 +423,13 @@ No match \x{f0} No match -/Ä€{3,4}/8SD +/Ä€{3,4}/8SDZ ------------------------------------------------------------------ - 0 11 Bra 0 - 3 \x{100}{3} - 8 \x{100}? - 11 11 Ket - 14 End + Bra 0 + \x{100}{3} + \x{100}? + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -444,16 +440,16 @@ Study returned NULL \x{100}\x{100}\x{100}\x{100\x{100} 0: \x{100}\x{100}\x{100} -/(\x{100}+|x)/8SD +/(\x{100}+|x)/8SDZ ------------------------------------------------------------------ - 0 19 Bra 0 - 3 8 Bra 1 - 8 \x{100}+ - 11 5 Alt - 14 x - 16 13 Ket - 19 19 Ket - 22 End + Bra 0 + Bra 1 + \x{100}+ + Alt + x + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -462,17 +458,17 @@ No first char No need char Starting byte set: x \xc4 -/(\x{100}*a|x)/8SD +/(\x{100}*a|x)/8SDZ ------------------------------------------------------------------ - 0 21 Bra 0 - 3 10 Bra 1 - 8 \x{100}*+ - 11 a - 13 5 Alt - 16 x - 18 15 Ket - 21 21 Ket - 24 End + Bra 0 + Bra 1 + \x{100}*+ + a + Alt + x + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -481,17 +477,17 @@ No first char No need char Starting byte set: a x \xc4 -/(\x{100}{0,2}a|x)/8SD +/(\x{100}{0,2}a|x)/8SDZ ------------------------------------------------------------------ - 0 23 Bra 0 - 3 12 Bra 1 - 8 \x{100}{0,2} - 13 a - 15 5 Alt - 18 x - 20 17 Ket - 23 23 Ket - 26 End + Bra 0 + Bra 1 + \x{100}{0,2} + a + Alt + x + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -500,18 +496,18 @@ No first char No need char Starting byte set: a x \xc4 -/(\x{100}{1,2}a|x)/8SD +/(\x{100}{1,2}a|x)/8SDZ ------------------------------------------------------------------ - 0 26 Bra 0 - 3 15 Bra 1 - 8 \x{100} - 11 \x{100}{0,1} - 16 a - 18 5 Alt - 21 x - 23 20 Ket - 26 26 Ket - 29 End + Bra 0 + Bra 1 + \x{100} + \x{100}{0,1} + a + Alt + x + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Partial matching not supported @@ -544,24 +540,24 @@ No match \x{100}\x{100}abcd No match -/\x{100}/8D +/\x{100}/8DZ ------------------------------------------------------------------ - 0 6 Bra 0 - 3 \x{100} - 6 6 Ket - 9 End + Bra 0 + \x{100} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 196 Need char = 128 -/\x{100}*/8D +/\x{100}*/8DZ ------------------------------------------------------------------ - 0 6 Bra 0 - 3 \x{100}* - 6 6 Ket - 9 End + Bra 0 + \x{100}* + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -569,13 +565,13 @@ Options: utf8 No first char No need char -/a\x{100}*/8D +/a\x{100}*/8DZ ------------------------------------------------------------------ - 0 8 Bra 0 - 3 a - 5 \x{100}* - 8 8 Ket - 11 End + Bra 0 + a + \x{100}* + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -583,13 +579,13 @@ Options: utf8 First char = 'a' No need char -/ab\x{100}*/8D +/ab\x{100}*/8DZ ------------------------------------------------------------------ - 0 10 Bra 0 - 3 ab - 7 \x{100}* - 10 10 Ket - 13 End + Bra 0 + ab + \x{100}* + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -597,13 +593,13 @@ Options: utf8 First char = 'a' Need char = 'b' -/a\x{100}\x{101}*/8D +/a\x{100}\x{101}*/8DZ ------------------------------------------------------------------ - 0 11 Bra 0 - 3 a\x{100} - 8 \x{101}* - 11 11 Ket - 14 End + Bra 0 + a\x{100} + \x{101}* + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -611,13 +607,13 @@ Options: utf8 First char = 'a' Need char = 128 -/a\x{100}\x{101}+/8D +/a\x{100}\x{101}+/8DZ ------------------------------------------------------------------ - 0 11 Bra 0 - 3 a\x{100} - 8 \x{101}+ - 11 11 Ket - 14 End + Bra 0 + a\x{100} + \x{101}+ + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -625,13 +621,13 @@ Options: utf8 First char = 'a' Need char = 129 -/\x{100}*A/8D +/\x{100}*A/8DZ ------------------------------------------------------------------ - 0 8 Bra 0 - 3 \x{100}*+ - 6 A - 8 8 Ket - 11 End + Bra 0 + \x{100}*+ + A + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -641,16 +637,16 @@ Need char = 'A' A 0: A -/\x{100}*\d(?R)/8D +/\x{100}*\d(?R)/8DZ ------------------------------------------------------------------ - 0 16 Bra 0 - 3 \x{100}*+ - 6 \d - 7 6 Once - 10 0 Recurse - 13 6 Ket - 16 16 Ket - 19 End + Bra 0 + \x{100}*+ + \d + Once + Recurse + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -658,37 +654,37 @@ Options: utf8 No first char No need char -/[^\x{c4}]/D +/[^\x{c4}]/DZ ------------------------------------------------------------------ - 0 5 Bra 0 - 3 [^\xc4] - 5 5 Ket - 8 End + Bra 0 + [^\xc4] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char -/[^\x{c4}]/8D +/[^\x{c4}]/8DZ ------------------------------------------------------------------ - 0 36 Bra 0 - 3 [\x00-\xc3\xc5-\xff] (neg) - 36 36 Ket - 39 End + Bra 0 + [\x00-\xc3\xc5-\xff] (neg) + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 No first char No need char -/[\x{100}]/8DM +/[\x{100}]/8DZM Memory allocation (code space): 15 ------------------------------------------------------------------ - 0 11 Bra 0 - 3 [\x{100}] - 11 11 Ket - 14 End + Bra 0 + [\x{100}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -703,13 +699,13 @@ No need char *** Failers No match -/[Z\x{100}]/8DM +/[Z\x{100}]/8DZM Memory allocation (code space): 47 ------------------------------------------------------------------ - 0 43 Bra 0 - 3 [Z\x{100}] - 43 43 Ket - 46 End + Bra 0 + [Z\x{100}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -739,24 +735,24 @@ No match \x{ff} No match -/[z-\x{100}]/8D +/[z-\x{100}]/8DZ ------------------------------------------------------------------ - 0 12 Bra 0 - 3 [z-\x{100}] - 12 12 Ket - 15 End + Bra 0 + [z-\x{100}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 No first char No need char -/[z\Qa-d]Ä€\E]/8D +/[z\Qa-d]Ä€\E]/8DZ ------------------------------------------------------------------ - 0 43 Bra 0 - 3 [\-\]adz\x{100}] - 43 43 Ket - 46 End + Bra 0 + [\-\]adz\x{100}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -767,12 +763,12 @@ No need char Ä€ 0: \x{100} -/[\xFF]/D +/[\xFF]/DZ ------------------------------------------------------------------ - 0 5 Bra 0 - 3 \xff - 5 5 Ket - 8 End + Bra 0 + \xff + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options @@ -781,12 +777,12 @@ No need char >\xff< 0: \xff -/[\xff]/D8 +/[\xff]/DZ8 ------------------------------------------------------------------ - 0 6 Bra 0 - 3 \x{ff} - 6 6 Ket - 9 End + Bra 0 + \x{ff} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -795,24 +791,24 @@ Need char = 191 >\x{ff}< 0: \x{ff} -/[^\xFF]/D +/[^\xFF]/DZ ------------------------------------------------------------------ - 0 5 Bra 0 - 3 [^\xff] - 5 5 Ket - 8 End + Bra 0 + [^\xff] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char -/[^\xff]/8D +/[^\xff]/8DZ ------------------------------------------------------------------ - 0 36 Bra 0 - 3 [\x00-\xfe] (neg) - 36 36 Ket - 39 End + Bra 0 + [\x00-\xfe] (neg) + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -852,12 +848,12 @@ Failed: invalid UTF-8 string at offset 0 /ÃÃÃxxx/8 Failed: invalid UTF-8 string at offset 1 -/ÃÃÃxxx/8?D +/ÃÃÃxxx/8?DZ ------------------------------------------------------------------ - 0 15 Bra 0 - 3 \X{c0}\X{c0}\X{c0}xxx - 15 15 Ket - 18 End + Bra 0 + \X{c0}\X{c0}\X{c0}xxx + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 no_utf8_check @@ -910,170 +906,170 @@ No match \xfd\x83\x80\x80\x80\x80 No match -/\x{100}abc(xyz(?1))/8D +/\x{100}abc(xyz(?1))/8DZ ------------------------------------------------------------------ - 0 35 Bra 0 - 3 \x{100}abc - 12 20 Bra 1 - 17 xyz - 23 6 Once - 26 12 Recurse - 29 6 Ket - 32 20 Ket - 35 35 Ket - 38 End + Bra 0 + \x{100}abc + Bra 1 + xyz + Once + Recurse + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: utf8 First char = 196 Need char = 'z' -/[^\x{100}]abc(xyz(?1))/8D +/[^\x{100}]abc(xyz(?1))/8DZ ------------------------------------------------------------------ - 0 40 Bra 0 - 3 [^\x{100}] - 11 abc - 17 20 Bra 1 - 22 xyz - 28 6 Once - 31 17 Recurse - 34 6 Ket - 37 20 Ket - 40 40 Ket - 43 End + Bra 0 + [^\x{100}] + abc + Bra 1 + xyz + Once + Recurse + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: utf8 No first char Need char = 'z' -/[ab\x{100}]abc(xyz(?1))/8D +/[ab\x{100}]abc(xyz(?1))/8DZ ------------------------------------------------------------------ - 0 72 Bra 0 - 3 [ab\x{100}] - 43 abc - 49 20 Bra 1 - 54 xyz - 60 6 Once - 63 49 Recurse - 66 6 Ket - 69 20 Ket - 72 72 Ket - 75 End + Bra 0 + [ab\x{100}] + abc + Bra 1 + xyz + Once + Recurse + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 1 Options: utf8 No first char Need char = 'z' -/(\x{100}(b(?2)c))?/D8 ------------------------------------------------------------------- - 0 36 Bra 0 - 3 Brazero - 4 29 Bra 1 - 9 \x{100} - 12 18 Bra 2 - 17 b - 19 6 Once - 22 12 Recurse - 25 6 Ket - 28 c - 30 18 Ket - 33 29 Ket - 36 36 Ket - 39 End +/(\x{100}(b(?2)c))?/DZ8 +------------------------------------------------------------------ + Bra 0 + Brazero + Bra 1 + \x{100} + Bra 2 + b + Once + Recurse + Ket + c + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 No first char No need char -/(\x{100}(b(?2)c)){0,2}/D8 ------------------------------------------------------------------- - 0 75 Bra 0 - 3 Brazero - 4 68 Bra 0 - 7 29 Bra 1 - 12 \x{100} - 15 18 Bra 2 - 20 b - 22 6 Once - 25 15 Recurse - 28 6 Ket - 31 c - 33 18 Ket - 36 29 Ket - 39 Brazero - 40 29 Bra 1 - 45 \x{100} - 48 18 Bra 2 - 53 b - 55 6 Once - 58 15 Recurse - 61 6 Ket - 64 c - 66 18 Ket - 69 29 Ket - 72 68 Ket - 75 75 Ket - 78 End +/(\x{100}(b(?2)c)){0,2}/DZ8 +------------------------------------------------------------------ + Bra 0 + Brazero + Bra 0 + Bra 1 + \x{100} + Bra 2 + b + Once + Recurse + Ket + c + Ket + Ket + Brazero + Bra 1 + \x{100} + Bra 2 + b + Once + Recurse + Ket + c + Ket + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 No first char No need char -/(\x{100}(b(?1)c))?/D8 ------------------------------------------------------------------- - 0 36 Bra 0 - 3 Brazero - 4 29 Bra 1 - 9 \x{100} - 12 18 Bra 2 - 17 b - 19 6 Once - 22 4 Recurse - 25 6 Ket - 28 c - 30 18 Ket - 33 29 Ket - 36 36 Ket - 39 End +/(\x{100}(b(?1)c))?/DZ8 +------------------------------------------------------------------ + Bra 0 + Brazero + Bra 1 + \x{100} + Bra 2 + b + Once + Recurse + Ket + c + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 No first char No need char -/(\x{100}(b(?1)c)){0,2}/D8 ------------------------------------------------------------------- - 0 75 Bra 0 - 3 Brazero - 4 68 Bra 0 - 7 29 Bra 1 - 12 \x{100} - 15 18 Bra 2 - 20 b - 22 6 Once - 25 7 Recurse - 28 6 Ket - 31 c - 33 18 Ket - 36 29 Ket - 39 Brazero - 40 29 Bra 1 - 45 \x{100} - 48 18 Bra 2 - 53 b - 55 6 Once - 58 7 Recurse - 61 6 Ket - 64 c - 66 18 Ket - 69 29 Ket - 72 68 Ket - 75 75 Ket - 78 End +/(\x{100}(b(?1)c)){0,2}/DZ8 +------------------------------------------------------------------ + Bra 0 + Brazero + Bra 0 + Bra 1 + \x{100} + Bra 2 + b + Once + Recurse + Ket + c + Ket + Ket + Brazero + Bra 1 + \x{100} + Bra 2 + b + Once + Recurse + Ket + c + Ket + Ket + Ket + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 2 Options: utf8 @@ -1094,13 +1090,13 @@ No need char a\x{1234}b 0: a\x{1234}b -/^\ሴ/8D +/^\ሴ/8DZ ------------------------------------------------------------------ - 0 8 Bra 0 - 3 ^ - 4 \x{1234} - 8 8 Ket - 11 End + Bra 0 + ^ + \x{1234} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: anchored utf8 @@ -1120,13 +1116,13 @@ Need char = 191 \777 0: \x{1ff} -/\x{100}*\d/8D +/\x{100}*\d/8DZ ------------------------------------------------------------------ - 0 7 Bra 0 - 3 \x{100}*+ - 6 \d - 7 7 Ket - 10 End + Bra 0 + \x{100}*+ + \d + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1134,13 +1130,13 @@ Options: utf8 No first char No need char -/\x{100}*\s/8D +/\x{100}*\s/8DZ ------------------------------------------------------------------ - 0 7 Bra 0 - 3 \x{100}*+ - 6 \s - 7 7 Ket - 10 End + Bra 0 + \x{100}*+ + \s + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1148,13 +1144,13 @@ Options: utf8 No first char No need char -/\x{100}*\w/8D +/\x{100}*\w/8DZ ------------------------------------------------------------------ - 0 7 Bra 0 - 3 \x{100}*+ - 6 \w - 7 7 Ket - 10 End + Bra 0 + \x{100}*+ + \w + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1162,13 +1158,13 @@ Options: utf8 No first char No need char -/\x{100}*\D/8D +/\x{100}*\D/8DZ ------------------------------------------------------------------ - 0 7 Bra 0 - 3 \x{100}* - 6 \D - 7 7 Ket - 10 End + Bra 0 + \x{100}* + \D + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1176,13 +1172,13 @@ Options: utf8 No first char No need char -/\x{100}*\S/8D +/\x{100}*\S/8DZ ------------------------------------------------------------------ - 0 7 Bra 0 - 3 \x{100}* - 6 \S - 7 7 Ket - 10 End + Bra 0 + \x{100}* + \S + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1190,13 +1186,13 @@ Options: utf8 No first char No need char -/\x{100}*\W/8D +/\x{100}*\W/8DZ ------------------------------------------------------------------ - 0 7 Bra 0 - 3 \x{100}* - 6 \W - 7 7 Ket - 10 End + Bra 0 + \x{100}* + \W + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1204,13 +1200,13 @@ Options: utf8 No first char No need char -/\x{100}+\x{200}/8D +/\x{100}+\x{200}/8DZ ------------------------------------------------------------------ - 0 9 Bra 0 - 3 \x{100}++ - 6 \x{200} - 9 9 Ket - 12 End + Bra 0 + \x{100}++ + \x{200} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1218,13 +1214,13 @@ Options: utf8 First char = 196 Need char = 128 -/\x{100}+X/8D +/\x{100}+X/8DZ ------------------------------------------------------------------ - 0 8 Bra 0 - 3 \x{100}++ - 6 X - 8 8 Ket - 11 End + Bra 0 + \x{100}++ + X + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -1232,13 +1228,13 @@ Options: utf8 First char = 196 Need char = 'X' -/X+\x{200}/8D +/X+\x{200}/8DZ ------------------------------------------------------------------ - 0 8 Bra 0 - 3 X++ - 5 \x{200} - 8 8 Ket - 11 End + Bra 0 + X++ + \x{200} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported diff --git a/testdata/testoutput6 b/testdata/testoutput6 index 3b907a4..d09f038 100644 --- a/testdata/testoutput6 +++ b/testdata/testoutput6 @@ -548,73 +548,73 @@ No match WXYZ No match -/[\p{L}]/D +/[\p{L}]/DZ ------------------------------------------------------------------ - 0 11 Bra 0 - 3 [\p{L}] - 11 11 Ket - 14 End + Bra 0 + [\p{L}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char -/[\p{^L}]/D +/[\p{^L}]/DZ ------------------------------------------------------------------ - 0 11 Bra 0 - 3 [\P{L}] - 11 11 Ket - 14 End + Bra 0 + [\P{L}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char -/[\P{L}]/D +/[\P{L}]/DZ ------------------------------------------------------------------ - 0 11 Bra 0 - 3 [\P{L}] - 11 11 Ket - 14 End + Bra 0 + [\P{L}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char -/[\P{^L}]/D +/[\P{^L}]/DZ ------------------------------------------------------------------ - 0 11 Bra 0 - 3 [\p{L}] - 11 11 Ket - 14 End + Bra 0 + [\p{L}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char -/[abc\p{L}\x{0660}]/8D +/[abc\p{L}\x{0660}]/8DZ ------------------------------------------------------------------ - 0 46 Bra 0 - 3 [a-c\p{L}\x{660}] - 46 46 Ket - 49 End + Bra 0 + [a-c\p{L}\x{660}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 No first char No need char -/[\p{Nd}]/8DM +/[\p{Nd}]/8DZM Memory allocation (code space): 15 ------------------------------------------------------------------ - 0 11 Bra 0 - 3 [\p{Nd}] - 11 11 Ket - 14 End + Bra 0 + [\p{Nd}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 @@ -623,13 +623,13 @@ No need char 1234 0: 1 -/[\p{Nd}+-]+/8DM +/[\p{Nd}+-]+/8DZM Memory allocation (code space): 48 ------------------------------------------------------------------ - 0 44 Bra 0 - 3 [+\-\p{Nd}]+ - 44 44 Ket - 47 End + Bra 0 + [+\-\p{Nd}]+ + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported @@ -779,48 +779,48 @@ No match A\x{391}\x{10427}\x{ff3a}\x{1fb8} 0: A\x{391}\x{10427}\x{ff3a}\x{1fb8} -/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iD +/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iDZ ------------------------------------------------------------------ - 0 21 Bra 0 - 3 NC A\x{391}\x{10427}\x{ff3a}\x{1fb0} - 21 21 Ket - 24 End + Bra 0 + NC A\x{391}\x{10427}\x{ff3a}\x{1fb0} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless utf8 First char = 'A' (caseless) No need char -/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8D +/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8DZ ------------------------------------------------------------------ - 0 21 Bra 0 - 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} - 21 21 Ket - 24 End + Bra 0 + A\x{391}\x{10427}\x{ff3a}\x{1fb0} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 'A' Need char = 176 -/AB\x{1fb0}/8D +/AB\x{1fb0}/8DZ ------------------------------------------------------------------ - 0 11 Bra 0 - 3 AB\x{1fb0} - 11 11 Ket - 14 End + Bra 0 + AB\x{1fb0} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 'A' Need char = 176 -/AB\x{1fb0}/8Di +/AB\x{1fb0}/8DZi ------------------------------------------------------------------ - 0 11 Bra 0 - 3 NC AB\x{1fb0} - 11 11 Ket - 14 End + Bra 0 + NC AB\x{1fb0} + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless utf8 @@ -857,12 +857,12 @@ Need char = 'B' (caseless) \x{e0} 0: \x{e0} -/[\x{105}-\x{109}]/8iD +/[\x{105}-\x{109}]/8iDZ ------------------------------------------------------------------ - 0 13 Bra 0 - 3 [\x{104}-\x{109}] - 13 13 Ket - 16 End + Bra 0 + [\x{104}-\x{109}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless utf8 @@ -881,12 +881,12 @@ No match \x{10a} No match -/[z-\x{100}]/8iD +/[z-\x{100}]/8iDZ ------------------------------------------------------------------ - 0 20 Bra 0 - 3 [Z\x{39c}\x{178}z-\x{101}] - 20 20 Ket - 23 End + Bra 0 + [Z\x{39c}\x{178}z-\x{101}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless utf8 @@ -919,12 +919,12 @@ No match y No match -/[z-\x{100}]/8Di +/[z-\x{100}]/8DZi ------------------------------------------------------------------ - 0 20 Bra 0 - 3 [Z\x{39c}\x{178}z-\x{101}] - 20 20 Ket - 23 End + Bra 0 + [Z\x{39c}\x{178}z-\x{101}] + Ket + End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless utf8 |