diff options
Diffstat (limited to 'ext/pcre/pcrelib/testdata')
45 files changed, 824 insertions, 260 deletions
diff --git a/ext/pcre/pcrelib/testdata/greppatN4 b/ext/pcre/pcrelib/testdata/greppatN4 index 7112d84fa1..ea1bfc78ac 100644 --- a/ext/pcre/pcrelib/testdata/greppatN4 +++ b/ext/pcre/pcrelib/testdata/greppatN4 @@ -1,2 +1,2 @@ -xxx +xxx
jkl
\ No newline at end of file diff --git a/ext/pcre/pcrelib/testdata/saved16BE-1 b/ext/pcre/pcrelib/testdata/saved16BE-1 Binary files differindex e6edddc6e0..5d2bd1be52 100644 --- a/ext/pcre/pcrelib/testdata/saved16BE-1 +++ b/ext/pcre/pcrelib/testdata/saved16BE-1 diff --git a/ext/pcre/pcrelib/testdata/saved16LE-1 b/ext/pcre/pcrelib/testdata/saved16LE-1 Binary files differindex 5035ec0721..822ccd7012 100644 --- a/ext/pcre/pcrelib/testdata/saved16LE-1 +++ b/ext/pcre/pcrelib/testdata/saved16LE-1 diff --git a/ext/pcre/pcrelib/testdata/saved32BE-1 b/ext/pcre/pcrelib/testdata/saved32BE-1 Binary files differindex b4c2ffe42c..609d97cdeb 100644 --- a/ext/pcre/pcrelib/testdata/saved32BE-1 +++ b/ext/pcre/pcrelib/testdata/saved32BE-1 diff --git a/ext/pcre/pcrelib/testdata/saved32LE-1 b/ext/pcre/pcrelib/testdata/saved32LE-1 Binary files differindex 49392b89a1..901dfb6348 100644 --- a/ext/pcre/pcrelib/testdata/saved32LE-1 +++ b/ext/pcre/pcrelib/testdata/saved32LE-1 diff --git a/ext/pcre/pcrelib/testdata/testinput1 b/ext/pcre/pcrelib/testdata/testinput1 index 7b36360d04..123e3d3cfd 100644 --- a/ext/pcre/pcrelib/testdata/testinput1 +++ b/ext/pcre/pcrelib/testdata/testinput1 @@ -111,7 +111,7 @@ bababbc babababc -/^\ca\cA\c[\c{\c:/ +/^\ca\cA\c[;\c:/ \x01\x01\e;z /^[ab\]cde]/ @@ -4937,6 +4937,12 @@ however, we need the complication for Perl. ---/ /((?(R1)a+|(?1)b))/ aaaabcde + +/((?(R)a|(?1)))*/ + aaa + +/((?(R)a|(?1)))+/ + aaa /a(*:any name)/K @@ -5666,4 +5672,52 @@ AbcdCBefgBhiBqz /(a\Kb)*/+ ababc +/(?:x|(?:(xx|yy)+|x|x|x|x|x)|a|a|a)bc/ + acb + +'\A(?:[^\"]++|\"(?:[^\"]*+|\"\")*+\")++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + +'\A(?:[^\"]++|\"(?:[^\"]++|\"\")*+\")++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + +'\A(?:[^\"]++|\"(?:[^\"]++|\"\")++\")++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + +'\A([^\"1]++|[\"2]([^\"3]*+|[\"4][\"5])*+[\"6])++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + +/^\w+(?>\s*)(?<=\w)/ + test test + +/(?P<same>a)(?P<same>b)/gJ + abbaba + +/(?P<same>a)(?P<same>b)(?P=same)/gJ + abbaba + +/(?P=same)?(?P<same>a)(?P<same>b)/gJ + abbaba + +/(?:(?P=same)?(?:(?P<same>a)|(?P<same>b))(?P=same))+/gJ + bbbaaabaabb + +/(?:(?P=same)?(?:(?P=same)(?P<same>a)(?P=same)|(?P=same)?(?P<same>b)(?P=same)){2}(?P=same)(?P<same>c)(?P=same)){2}(?P<same>z)?/gJ + bbbaaaccccaaabbbcc + +/(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l/ + acl + bdl + adl + bcl + +/\sabc/ + \x{0b}abc + +/[\Qa]\E]+/ + aa]] + +/[\Q]a\E]+/ + aa]] + /-- End of testinput1 --/ diff --git a/ext/pcre/pcrelib/testdata/testinput11 b/ext/pcre/pcrelib/testdata/testinput11 index 391ada7aa8..7e8e54221d 100644 --- a/ext/pcre/pcrelib/testdata/testinput11 +++ b/ext/pcre/pcrelib/testdata/testinput11 @@ -132,4 +132,6 @@ is required for these tests. --/ /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/B +/(((a\2)|(a*)\g<-1>))*a?/B + /-- End of testinput11 --/ diff --git a/ext/pcre/pcrelib/testdata/testinput16 b/ext/pcre/pcrelib/testdata/testinput16 index e7a05ae0d4..15419e63fa 100644 --- a/ext/pcre/pcrelib/testdata/testinput16 +++ b/ext/pcre/pcrelib/testdata/testinput16 @@ -32,4 +32,10 @@ /[[:blank:]]/WBZ +/\x{212a}+/i8SI + KKkk\x{212a} + +/s+/i8SI + SSss\x{17f} + /-- End of testinput16 --/ diff --git a/ext/pcre/pcrelib/testdata/testinput18 b/ext/pcre/pcrelib/testdata/testinput18 index abff34e73a..2dfb54cdfd 100644 --- a/ext/pcre/pcrelib/testdata/testinput18 +++ b/ext/pcre/pcrelib/testdata/testinput18 @@ -207,7 +207,7 @@ correctly, but that messes up comparisons). --/ CDBABC \x{2000}ABC -/\R*A/SI8 +/\R*A/SI8<bsr_unicode> CDBABC \x{2028}A diff --git a/ext/pcre/pcrelib/testdata/testinput19 b/ext/pcre/pcrelib/testdata/testinput19 index 00d80203f0..ce45afcb59 100644 --- a/ext/pcre/pcrelib/testdata/testinput19 +++ b/ext/pcre/pcrelib/testdata/testinput19 @@ -19,4 +19,10 @@ /[[:blank:]]/WBZ +/\x{212a}+/i8SI + KKkk\x{212a} + +/s+/i8SI + SSss\x{17f} + /-- End of testinput19 --/ diff --git a/ext/pcre/pcrelib/testdata/testinput2 b/ext/pcre/pcrelib/testdata/testinput2 index 00924ee98f..c6816bf322 100644 --- a/ext/pcre/pcrelib/testdata/testinput2 +++ b/ext/pcre/pcrelib/testdata/testinput2 @@ -907,6 +907,9 @@ /\U/I +/a{1,3}b/U + ab + /[/I /[a-/I @@ -4032,6 +4035,8 @@ backtracking verbs. --/ /(?(R&6yh)abc)/ +/(((a\2)|(a*)\g<-1>))*a?/BZ + /-- Test the ugly "start or end of word" compatibility syntax --/ /[[:<:]]red[[:>:]]/BZ @@ -4045,4 +4050,32 @@ backtracking verbs. --/ /[a[:<:]] should give error/ +/(?=ab\K)/+ + abcd + +/abcd/f<lf> + xx\nxabcd + +/ -- Test stack check external calls --/ + +/(((((a)))))/Q0 + +/(((((a)))))/Q1 + +/(((((a)))))/Q + +/^\w+(?>\s*)(?<=\w)/BZ + +/\othing/ + +/\o{}/ + +/\o{whatever}/ + +/\xthing/ + +/\x{}/ + +/\x{whatever}/ + /-- End of testinput2 --/ diff --git a/ext/pcre/pcrelib/testdata/testinput25 b/ext/pcre/pcrelib/testdata/testinput25 index ce9d9e19a4..067ca12fdc 100644 --- a/ext/pcre/pcrelib/testdata/testinput25 +++ b/ext/pcre/pcrelib/testdata/testinput25 @@ -1,6 +1,6 @@ /-- Tests for the 32-bit library only */ -< forbid 8w +< forbid 8W /-- Check maximum character size --/ diff --git a/ext/pcre/pcrelib/testdata/testinput3 b/ext/pcre/pcrelib/testdata/testinput3 index 1d2e855386..fcd46255c9 100644 --- a/ext/pcre/pcrelib/testdata/testinput3 +++ b/ext/pcre/pcrelib/testdata/testinput3 @@ -1,7 +1,10 @@ -/-- This set of tests checks local-specific features, using the fr_FR locale. - It is not Perl-compatible. There is different version called wintestinput3 - f or use on Windows, where the locale is called "french". --/ - +/-- This set of tests checks local-specific features, using the "fr_FR" locale. + It is not Perl-compatible. When run via RunTest, the locale is edited to + be whichever of "fr_FR", "french", or "fr" is found to exist. There is + different version of this file called wintestinput3 for use on Windows, + where the locale is called "french" and the tests are run using + RunTest.bat. --/ + < forbid 8W /^[\w]+/ diff --git a/ext/pcre/pcrelib/testdata/testinput4 b/ext/pcre/pcrelib/testdata/testinput4 index 983f7a119b..0110267bd8 100644 --- a/ext/pcre/pcrelib/testdata/testinput4 +++ b/ext/pcre/pcrelib/testdata/testinput4 @@ -716,4 +716,10 @@ /^a+[a\x{200}]/8 aa +/^.\B.\B./8 + \x{10123}\x{10124}\x{10125} + +/^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/8 + #\x{10000}#\x{100}#\x{10ffff}# + /-- End of testinput4 --/ diff --git a/ext/pcre/pcrelib/testdata/testinput5 b/ext/pcre/pcrelib/testdata/testinput5 index 9e9a22a1a1..e36b09d637 100644 --- a/ext/pcre/pcrelib/testdata/testinput5 +++ b/ext/pcre/pcrelib/testdata/testinput5 @@ -788,4 +788,6 @@ /^a+[a\x{200}]/8BZ aa +/[b-d\x{200}-\x{250}]*[ae-h]?#[\x{200}-\x{250}]{0,8}[\x00-\xff]*#[\x{200}-\x{250}]+[a-z]/8BZ + /-- End of testinput5 --/ diff --git a/ext/pcre/pcrelib/testdata/testinput6 b/ext/pcre/pcrelib/testdata/testinput6 index 1e450be04d..82c3ed5c77 100644 --- a/ext/pcre/pcrelib/testdata/testinput6 +++ b/ext/pcre/pcrelib/testdata/testinput6 @@ -421,8 +421,8 @@ /^[\p{Arabic}]/8 \x{06e9} \x{060b} - \x{061c} ** Failers + \x{061c} X\x{06e9} /^[\P{Yi}]/8 @@ -1484,4 +1484,16 @@ \x{a1}\x{a7} \x{37e} +/[RST]+/8iW + Ss\x{17f} + +/[R-T]+/8iW + Ss\x{17f} + +/[q-u]+/8iW + Ss\x{17f} + +/^s?c/mi8 + scat + /-- End of testinput6 --/ diff --git a/ext/pcre/pcrelib/testdata/testinput7 b/ext/pcre/pcrelib/testdata/testinput7 index 9d14543635..7a66025434 100644 --- a/ext/pcre/pcrelib/testdata/testinput7 +++ b/ext/pcre/pcrelib/testdata/testinput7 @@ -829,4 +829,13 @@ of case for anything other than the ASCII letters. --/ /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/8WBZ +/[RST]+/8iWBZ + +/[R-T]+/8iWBZ + +/[Q-U]+/8iWBZ + +/^s?c/mi8I + scat + /-- End of testinput7 --/ diff --git a/ext/pcre/pcrelib/testdata/testinput8 b/ext/pcre/pcrelib/testdata/testinput8 index bb2747b120..06334cd36e 100644 --- a/ext/pcre/pcrelib/testdata/testinput8 +++ b/ext/pcre/pcrelib/testdata/testinput8 @@ -4831,4 +4831,10 @@ /[ab]{2,}?/ aaaa +'\A(?:[^\"]++|\"(?:[^\"]*+|\"\")*+\")++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + +'\A(?:[^\"]++|\"(?:[^\"]++|\"\")*+\")++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + /-- End of testinput8 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput1 b/ext/pcre/pcrelib/testdata/testoutput1 index 4dafc0496a..5e719002ed 100644 --- a/ext/pcre/pcrelib/testdata/testoutput1 +++ b/ext/pcre/pcrelib/testdata/testoutput1 @@ -223,7 +223,7 @@ No match babababc No match -/^\ca\cA\c[\c{\c:/ +/^\ca\cA\c[;\c:/ \x01\x01\e;z 0: \x01\x01\x1b;z @@ -8234,6 +8234,16 @@ MK: M aaaabcde 0: aaaab 1: aaaab + +/((?(R)a|(?1)))*/ + aaa + 0: aaa + 1: a + +/((?(R)a|(?1)))+/ + aaa + 0: aaa + 1: a /a(*:any name)/K @@ -9313,4 +9323,92 @@ No match 0+ c 1: ab +/(?:x|(?:(xx|yy)+|x|x|x|x|x)|a|a|a)bc/ + acb +No match + +'\A(?:[^\"]++|\"(?:[^\"]*+|\"\")*+\")++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + 0: NON QUOTED "QUOT""ED" AFTER + +'\A(?:[^\"]++|\"(?:[^\"]++|\"\")*+\")++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + 0: NON QUOTED "QUOT""ED" AFTER + +'\A(?:[^\"]++|\"(?:[^\"]++|\"\")++\")++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + 0: NON QUOTED "QUOT""ED" AFTER + +'\A([^\"1]++|[\"2]([^\"3]*+|[\"4][\"5])*+[\"6])++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + 0: NON QUOTED "QUOT""ED" AFTER + 1: AFTER + 2: + +/^\w+(?>\s*)(?<=\w)/ + test test + 0: tes + +/(?P<same>a)(?P<same>b)/gJ + abbaba + 0: ab + 1: a + 2: b + 0: ab + 1: a + 2: b + +/(?P<same>a)(?P<same>b)(?P=same)/gJ + abbaba + 0: aba + 1: a + 2: b + +/(?P=same)?(?P<same>a)(?P<same>b)/gJ + abbaba + 0: ab + 1: a + 2: b + 0: ab + 1: a + 2: b + +/(?:(?P=same)?(?:(?P<same>a)|(?P<same>b))(?P=same))+/gJ + bbbaaabaabb + 0: bbbaaaba + 1: a + 2: b + 0: bb + 1: <unset> + 2: b + +/(?:(?P=same)?(?:(?P=same)(?P<same>a)(?P=same)|(?P=same)?(?P<same>b)(?P=same)){2}(?P=same)(?P<same>c)(?P=same)){2}(?P<same>z)?/gJ + bbbaaaccccaaabbbcc +No match + +/(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l/ + acl + 0: acl + 1: a + bdl + 0: bdl + 1: <unset> + 2: b + adl + 0: dl + bcl + 0: l + +/\sabc/ + \x{0b}abc + 0: \x0babc + +/[\Qa]\E]+/ + aa]] + 0: aa]] + +/[\Q]a\E]+/ + aa]] + 0: aa]] + /-- End of testinput1 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput11-16 b/ext/pcre/pcrelib/testdata/testoutput11-16 index f1ad8887b4..a1db3f3422 100644 --- a/ext/pcre/pcrelib/testdata/testoutput11-16 +++ b/ext/pcre/pcrelib/testdata/testoutput11-16 @@ -709,4 +709,28 @@ Memory allocation (code space): 14 62 End ------------------------------------------------------------------ +/(((a\2)|(a*)\g<-1>))*a?/B +------------------------------------------------------------------ + 0 39 Bra + 2 Brazero + 3 32 SCBra 1 + 6 27 Once + 8 12 CBra 2 + 11 7 CBra 3 + 14 a + 16 \2 + 18 7 Ket + 20 11 Alt + 22 5 CBra 4 + 25 a* + 27 5 Ket + 29 22 Recurse + 31 23 Ket + 33 27 Ket + 35 32 KetRmax + 37 a?+ + 39 39 Ket + 41 End +------------------------------------------------------------------ + /-- End of testinput11 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput11-32 b/ext/pcre/pcrelib/testdata/testoutput11-32 index 266e55d067..7b7b030fdc 100644 --- a/ext/pcre/pcrelib/testdata/testoutput11-32 +++ b/ext/pcre/pcrelib/testdata/testoutput11-32 @@ -709,4 +709,28 @@ Memory allocation (code space): 28 62 End ------------------------------------------------------------------ +/(((a\2)|(a*)\g<-1>))*a?/B +------------------------------------------------------------------ + 0 39 Bra + 2 Brazero + 3 32 SCBra 1 + 6 27 Once + 8 12 CBra 2 + 11 7 CBra 3 + 14 a + 16 \2 + 18 7 Ket + 20 11 Alt + 22 5 CBra 4 + 25 a* + 27 5 Ket + 29 22 Recurse + 31 23 Ket + 33 27 Ket + 35 32 KetRmax + 37 a?+ + 39 39 Ket + 41 End +------------------------------------------------------------------ + /-- End of testinput11 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput11-8 b/ext/pcre/pcrelib/testdata/testoutput11-8 index d4a21334e3..f5ec652af8 100644 --- a/ext/pcre/pcrelib/testdata/testoutput11-8 +++ b/ext/pcre/pcrelib/testdata/testoutput11-8 @@ -709,4 +709,28 @@ Memory allocation (code space): 10 76 End ------------------------------------------------------------------ +/(((a\2)|(a*)\g<-1>))*a?/B +------------------------------------------------------------------ + 0 57 Bra + 3 Brazero + 4 48 SCBra 1 + 9 40 Once + 12 18 CBra 2 + 17 10 CBra 3 + 22 a + 24 \2 + 27 10 Ket + 30 16 Alt + 33 7 CBra 4 + 38 a* + 40 7 Ket + 43 33 Recurse + 46 34 Ket + 49 40 Ket + 52 48 KetRmax + 55 a?+ + 57 57 Ket + 60 End +------------------------------------------------------------------ + /-- End of testinput11 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput12 b/ext/pcre/pcrelib/testdata/testoutput12 index a76e2aef88..67ad2c8aec 100644 --- a/ext/pcre/pcrelib/testdata/testoutput12 +++ b/ext/pcre/pcrelib/testdata/testoutput12 @@ -8,7 +8,7 @@ No options First char = 'a' Need char = 'c' Subject length lower bound = 3 -No set of starting bytes +No starting char list JIT study was successful /(?(?C1)(?=a)a)/S+I @@ -27,7 +27,7 @@ No options No first char No need char Subject length lower bound = -1 -No set of starting bytes +No starting char list JIT study was not successful /abc/S+I>testsavedregex @@ -36,7 +36,7 @@ No options First char = 'a' Need char = 'c' Subject length lower bound = 3 -No set of starting bytes +No starting char list JIT study was successful Compiled pattern written to testsavedregex Study data written to testsavedregex @@ -165,7 +165,7 @@ No options First char = 'a' Need char = 'd' Subject length lower bound = 4 -No set of starting bytes +No starting char list JIT study was successful /(*NO_START_OPT)a(*:m)b/KS++ diff --git a/ext/pcre/pcrelib/testdata/testoutput13 b/ext/pcre/pcrelib/testdata/testoutput13 index 9f73c5000f..d6fb8a5ca2 100644 --- a/ext/pcre/pcrelib/testdata/testoutput13 +++ b/ext/pcre/pcrelib/testdata/testoutput13 @@ -8,7 +8,7 @@ No options First char = 'a' Need char = 'c' Subject length lower bound = 3 -No set of starting bytes +No starting char list JIT support is not available in this version of PCRE /a*/SI diff --git a/ext/pcre/pcrelib/testdata/testoutput14 b/ext/pcre/pcrelib/testdata/testoutput14 index 52680a8f9c..ae85681e0e 100644 --- a/ext/pcre/pcrelib/testdata/testoutput14 +++ b/ext/pcre/pcrelib/testdata/testoutput14 @@ -361,7 +361,7 @@ Options: extended No first char No need char Subject length lower bound = 3 -Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 +Starting chars: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 9 = ? 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 { | } ~ \x7f @@ -388,7 +388,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x09 \x20 \xa0 +Starting chars: \x09 \x20 \xa0 /\H/SI Capturing subpattern count = 0 @@ -396,7 +396,7 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /\v/SI Capturing subpattern count = 0 @@ -404,7 +404,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \x85 +Starting chars: \x0a \x0b \x0c \x0d \x85 /\V/SI Capturing subpattern count = 0 @@ -412,7 +412,7 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /\R/SI Capturing subpattern count = 0 @@ -420,7 +420,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \x85 +Starting chars: \x0a \x0b \x0c \x0d \x85 /[\h]/BZ ------------------------------------------------------------------ diff --git a/ext/pcre/pcrelib/testdata/testoutput15 b/ext/pcre/pcrelib/testdata/testoutput15 index 5792be72df..bad2807c2f 100644 --- a/ext/pcre/pcrelib/testdata/testoutput15 +++ b/ext/pcre/pcrelib/testdata/testoutput15 @@ -481,7 +481,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 @@ -519,7 +519,7 @@ Options: utf First char = \x{c4} Need char = \x{80} Subject length lower bound = 3 -No set of starting bytes +No starting char list \x{100}\x{100}\x{100}\x{100\x{100} 0: \x{100}\x{100}\x{100} @@ -539,7 +539,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: x \xc4 +Starting chars: x \xc4 /(\x{100}*a|x)/8SDZ ------------------------------------------------------------------ @@ -558,7 +558,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: a x \xc4 +Starting chars: a x \xc4 /(\x{100}{0,2}a|x)/8SDZ ------------------------------------------------------------------ @@ -577,7 +577,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: a x \xc4 +Starting chars: a x \xc4 /(\x{100}{1,2}a|x)/8SDZ ------------------------------------------------------------------ @@ -597,7 +597,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: x \xc4 +Starting chars: x \xc4 /\x{100}/8DZ ------------------------------------------------------------------ @@ -799,7 +799,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x09 \x20 \xc2 \xe1 \xe2 \xe3 +Starting chars: \x09 \x20 \xc2 \xe1 \xe2 \xe3 ABC\x{09} 0: \x{09} ABC\x{20} @@ -825,7 +825,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2 +Starting chars: \x0a \x0b \x0c \x0d \xc2 \xe2 ABC\x{0a} 0: \x{0a} ABC\x{0b} @@ -845,7 +845,7 @@ Options: utf No first char Need char = 'A' Subject length lower bound = 1 -Starting byte set: \x09 \x20 A \xc2 \xe1 \xe2 \xe3 +Starting chars: \x09 \x20 A \xc2 \xe1 \xe2 \xe3 CDBABC 0: A @@ -855,7 +855,7 @@ Options: utf No first char Need char = 'A' Subject length lower bound = 2 -Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2 +Starting chars: \x0a \x0b \x0c \x0d \xc2 \xe2 /\s?xxx\s/8SI Capturing subpattern count = 0 @@ -863,7 +863,7 @@ Options: utf No first char Need char = 'x' Subject length lower bound = 4 -Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 x +Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 x /\sxxx\s/I8ST1 Capturing subpattern count = 0 @@ -871,7 +871,7 @@ Options: utf No first char Need char = 'x' Subject length lower bound = 5 -Starting byte set: \x09 \x0a \x0c \x0d \x20 \xc2 +Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 \xc2 AB\x{85}xxx\x{a0}XYZ 0: \x{85}xxx\x{a0} AB\x{a0}xxx\x{85}XYZ @@ -883,15 +883,15 @@ Options: utf No first char Need char = ' ' Subject length lower bound = 3 -Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e - \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d - \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ - 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 { | } ~ \x7f \xc0 \xc1 \xc2 \xc3 - \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 - \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1 - \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef \xf0 - \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0e \x0f + \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e + \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 { | } ~ \x7f \xc0 \xc1 \xc2 \xc3 \xc4 + \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 + \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 + \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef \xf0 \xf1 + \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe \xff \x{a2} \x{84} 0: \x{a2} \x{84} A Z @@ -917,7 +917,7 @@ Options: caseless utf No first char No need char Subject length lower bound = 1 -Starting byte set: \xe1 +Starting chars: \xe1 /\x{1234}+?/iS8I Capturing subpattern count = 0 @@ -925,7 +925,7 @@ Options: caseless utf No first char No need char Subject length lower bound = 1 -Starting byte set: \xe1 +Starting chars: \xe1 /\x{1234}++/iS8I Capturing subpattern count = 0 @@ -933,7 +933,7 @@ Options: caseless utf No first char No need char Subject length lower bound = 1 -Starting byte set: \xe1 +Starting chars: \xe1 /\x{1234}{2}/iS8I Capturing subpattern count = 0 @@ -941,7 +941,7 @@ Options: caseless utf No first char No need char Subject length lower bound = 2 -Starting byte set: \xe1 +Starting chars: \xe1 /[^\x{c4}]/8DZ ------------------------------------------------------------------ @@ -974,7 +974,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \xc2 \xe2 +Starting chars: \x0a \x0b \x0c \x0d \xc2 \xe2 /\777/8DZ ------------------------------------------------------------------ diff --git a/ext/pcre/pcrelib/testdata/testoutput16 b/ext/pcre/pcrelib/testdata/testoutput16 index 1d5f31d929..fd184cdbee 100644 --- a/ext/pcre/pcrelib/testdata/testoutput16 +++ b/ext/pcre/pcrelib/testdata/testoutput16 @@ -64,7 +64,7 @@ Options: caseless utf No first char No need char Subject length lower bound = 17 -Starting byte set: \xd0 \xd1 +Starting chars: \xd0 \xd1 \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f} 0: \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f} \x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f} @@ -92,7 +92,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x09 \x20 \xa0 +Starting chars: \x09 \x20 \xa0 /\v/SI Capturing subpattern count = 0 @@ -100,7 +100,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \x85 +Starting chars: \x0a \x0b \x0c \x0d \x85 /\R/SI Capturing subpattern count = 0 @@ -108,7 +108,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \x85 +Starting chars: \x0a \x0b \x0c \x0d \x85 /[[:blank:]]/WBZ ------------------------------------------------------------------ @@ -118,4 +118,24 @@ Starting byte set: \x0a \x0b \x0c \x0d \x85 End ------------------------------------------------------------------ +/\x{212a}+/i8SI +Capturing subpattern count = 0 +Options: caseless utf +No first char +No need char +Subject length lower bound = 1 +Starting chars: K k \xe2 + KKkk\x{212a} + 0: KKkk\x{212a} + +/s+/i8SI +Capturing subpattern count = 0 +Options: caseless utf +No first char +No need char +Subject length lower bound = 1 +Starting chars: S s \xc5 + SSss\x{17f} + 0: SSss\x{17f} + /-- End of testinput16 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput17 b/ext/pcre/pcrelib/testdata/testoutput17 index 9a469c51ae..1a3b492fb4 100644 --- a/ext/pcre/pcrelib/testdata/testoutput17 +++ b/ext/pcre/pcrelib/testdata/testoutput17 @@ -228,7 +228,7 @@ Options: extended No first char No need char Subject length lower bound = 3 -Starting byte set: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 +Starting chars: \x09 \x20 ! " # $ % & ' ( * + - / 0 1 2 3 4 5 6 7 8 9 = ? 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 { | } ~ \x7f \xff @@ -274,7 +274,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x09 \x20 \xa0 \xff +Starting chars: \x09 \x20 \xa0 \xff \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} 0: \x{1680}\x{2000}\x{202f}\x{3000} \x{3001}\x{2fff}\x{200a}\xa0\x{2000} @@ -292,7 +292,7 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +Starting chars: \x09 \x20 \xa0 \xff \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} 0: \x{1680}\x{2000}\x{202f}\x{3000} \x{3001}\x{2fff}\x{200a}\xa0\x{2000} @@ -304,7 +304,7 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} 0: \x{167f}\x{1681}\x{180d}\x{180f} \x{2000}\x{200a}\x{1fff}\x{200b} @@ -330,7 +330,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff +Starting chars: \x0a \x0b \x0c \x0d \x85 \xff \x{2027}\x{2030}\x{2028}\x{2029} 0: \x{2028}\x{2029} \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d @@ -348,7 +348,7 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +Starting chars: \x0a \x0b \x0c \x0d \x85 \xff \x{2027}\x{2030}\x{2028}\x{2029} 0: \x{2028}\x{2029} \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d @@ -360,7 +360,7 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list \x{2028}\x{2029}\x{2027}\x{2030} 0: \x{2027}\x{2030} \x85\x0a\x0b\x0c\x0d\x09\x0e\x84\x86 @@ -378,7 +378,7 @@ Options: bsr_unicode No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff +Starting chars: \x0a \x0b \x0c \x0d \x85 \xff \x{2027}\x{2030}\x{2028}\x{2029} 0: \x{2028}\x{2029} \x09\x0e\x84\x86\x85\x0a\x0b\x0c\x0d @@ -534,18 +534,18 @@ MK: 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789AB ------------------------------------------------------------------ Bra a* - [b-\x{200}]?+ + [b-\xff\x{100}-\x{200}]?+ a# a*+ - [b-\x{200}]? + [b-\xff\x{100}-\x{200}]? b# - [a-f]* - [g-\x{200}]*+ + [a-f]*+ + [g-\xff\x{100}-\x{200}]*+ # - [g-\x{200}]* + [g-\xff\x{100}-\x{200}]*+ [a-c]*+ # - [g-\x{200}]* + [g-\xff\x{100}-\x{200}]* [a-h]*+ Ket End diff --git a/ext/pcre/pcrelib/testdata/testoutput18-16 b/ext/pcre/pcrelib/testdata/testoutput18-16 index 1ca9ee7401..1ef87047d6 100644 --- a/ext/pcre/pcrelib/testdata/testoutput18-16 +++ b/ext/pcre/pcrelib/testdata/testoutput18-16 @@ -339,7 +339,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 @@ -378,7 +378,7 @@ Options: utf First char = \x{100} Need char = \x{100} Subject length lower bound = 3 -No set of starting bytes +No starting char list \x{100}\x{100}\x{100}\x{100\x{100} 0: \x{100}\x{100}\x{100} @@ -398,7 +398,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: x \xff +Starting chars: x \xff /(\x{100}*a|x)/8SDZ ------------------------------------------------------------------ @@ -417,7 +417,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: a x \xff +Starting chars: a x \xff /(\x{100}{0,2}a|x)/8SDZ ------------------------------------------------------------------ @@ -436,7 +436,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: a x \xff +Starting chars: a x \xff /(\x{100}{1,2}a|x)/8SDZ ------------------------------------------------------------------ @@ -456,7 +456,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: x \xff +Starting chars: x \xff /\x{100}/8DZ ------------------------------------------------------------------ @@ -666,7 +666,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x09 \x20 \xa0 \xff +Starting chars: \x09 \x20 \xa0 \xff ABC\x{09} 0: \x{09} ABC\x{20} @@ -692,7 +692,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff +Starting chars: \x0a \x0b \x0c \x0d \x85 \xff ABC\x{0a} 0: \x{0a} ABC\x{0b} @@ -712,19 +712,19 @@ Options: utf No first char Need char = 'A' Subject length lower bound = 1 -Starting byte set: \x09 \x20 A \xa0 \xff +Starting chars: \x09 \x20 A \xa0 \xff CDBABC 0: A \x{2000}ABC 0: \x{2000}A -/\R*A/SI8 +/\R*A/SI8<bsr_unicode> Capturing subpattern count = 0 -Options: utf +Options: bsr_unicode utf No first char Need char = 'A' Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d A \x85 \xff +Starting chars: \x0a \x0b \x0c \x0d A \x85 \xff CDBABC 0: A \x{2028}A @@ -736,7 +736,7 @@ Options: utf No first char Need char = 'A' Subject length lower bound = 2 -Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff +Starting chars: \x0a \x0b \x0c \x0d \x85 \xff /\s?xxx\s/8SI Capturing subpattern count = 0 @@ -744,7 +744,7 @@ Options: utf No first char Need char = 'x' Subject length lower bound = 4 -Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 x +Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 x /\sxxx\s/I8ST1 Capturing subpattern count = 0 @@ -752,7 +752,7 @@ Options: utf No first char Need char = 'x' Subject length lower bound = 5 -Starting byte set: \x09 \x0a \x0c \x0d \x20 \x85 \xa0 +Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 \x85 \xa0 AB\x{85}xxx\x{a0}XYZ 0: \x{85}xxx\x{a0} AB\x{a0}xxx\x{85}XYZ @@ -764,20 +764,20 @@ Options: utf No first char Need char = ' ' Subject length lower bound = 3 -Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e - \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d - \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ - 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 { | } ~ \x7f \x80 \x81 \x82 \x83 - \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 - \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa1 \xa2 \xa3 - \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 - \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 - \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 - \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf - \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee - \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd - \xfe \xff +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0e \x0f + \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e + \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 + \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94 + \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa1 \xa2 \xa3 \xa4 + \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 + \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 + \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 + \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 + \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef + \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe + \xff \x{a2} \x{84} 0: \x{a2} \x{84} A Z @@ -803,7 +803,7 @@ Options: caseless utf First char = \x{1234} No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /\x{1234}+?/iS8I Capturing subpattern count = 0 @@ -811,7 +811,7 @@ Options: caseless utf First char = \x{1234} No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /\x{1234}++/iS8I Capturing subpattern count = 0 @@ -819,7 +819,7 @@ Options: caseless utf First char = \x{1234} No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /\x{1234}{2}/iS8I Capturing subpattern count = 0 @@ -827,7 +827,7 @@ Options: caseless utf First char = \x{1234} Need char = \x{1234} Subject length lower bound = 2 -No set of starting bytes +No starting char list /[^\x{c4}]/8DZ ------------------------------------------------------------------ @@ -860,7 +860,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff +Starting chars: \x0a \x0b \x0c \x0d \x85 \xff /-- Check bad offset --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput18-32 b/ext/pcre/pcrelib/testdata/testoutput18-32 index 89be3a4b05..622ba64aaf 100644 --- a/ext/pcre/pcrelib/testdata/testoutput18-32 +++ b/ext/pcre/pcrelib/testdata/testoutput18-32 @@ -337,7 +337,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 @@ -376,7 +376,7 @@ Options: utf First char = \x{100} Need char = \x{100} Subject length lower bound = 3 -No set of starting bytes +No starting char list \x{100}\x{100}\x{100}\x{100\x{100} 0: \x{100}\x{100}\x{100} @@ -396,7 +396,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: x \xff +Starting chars: x \xff /(\x{100}*a|x)/8SDZ ------------------------------------------------------------------ @@ -415,7 +415,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: a x \xff +Starting chars: a x \xff /(\x{100}{0,2}a|x)/8SDZ ------------------------------------------------------------------ @@ -434,7 +434,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: a x \xff +Starting chars: a x \xff /(\x{100}{1,2}a|x)/8SDZ ------------------------------------------------------------------ @@ -454,7 +454,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: x \xff +Starting chars: x \xff /\x{100}/8DZ ------------------------------------------------------------------ @@ -663,7 +663,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x09 \x20 \xa0 \xff +Starting chars: \x09 \x20 \xa0 \xff ABC\x{09} 0: \x{09} ABC\x{20} @@ -689,7 +689,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff +Starting chars: \x0a \x0b \x0c \x0d \x85 \xff ABC\x{0a} 0: \x{0a} ABC\x{0b} @@ -709,19 +709,19 @@ Options: utf No first char Need char = 'A' Subject length lower bound = 1 -Starting byte set: \x09 \x20 A \xa0 \xff +Starting chars: \x09 \x20 A \xa0 \xff CDBABC 0: A \x{2000}ABC 0: \x{2000}A -/\R*A/SI8 +/\R*A/SI8<bsr_unicode> Capturing subpattern count = 0 -Options: utf +Options: bsr_unicode utf No first char Need char = 'A' Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d A \x85 \xff +Starting chars: \x0a \x0b \x0c \x0d A \x85 \xff CDBABC 0: A \x{2028}A @@ -733,7 +733,7 @@ Options: utf No first char Need char = 'A' Subject length lower bound = 2 -Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff +Starting chars: \x0a \x0b \x0c \x0d \x85 \xff /\s?xxx\s/8SI Capturing subpattern count = 0 @@ -741,7 +741,7 @@ Options: utf No first char Need char = 'x' Subject length lower bound = 4 -Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 x +Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 x /\sxxx\s/I8ST1 Capturing subpattern count = 0 @@ -749,7 +749,7 @@ Options: utf No first char Need char = 'x' Subject length lower bound = 5 -Starting byte set: \x09 \x0a \x0c \x0d \x20 \x85 \xa0 +Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 \x85 \xa0 AB\x{85}xxx\x{a0}XYZ 0: \x{85}xxx\x{a0} AB\x{a0}xxx\x{85}XYZ @@ -761,20 +761,20 @@ Options: utf No first char Need char = ' ' Subject length lower bound = 3 -Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0b \x0e - \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d - \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ - 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 { | } ~ \x7f \x80 \x81 \x82 \x83 - \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 - \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa1 \xa2 \xa3 - \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 - \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 - \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 - \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf - \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee - \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd - \xfe \xff +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0e \x0f + \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e + \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ 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 { | } ~ \x7f \x80 \x81 \x82 \x83 \x84 + \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 \x93 \x94 + \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa1 \xa2 \xa3 \xa4 + \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 \xb1 \xb2 \xb3 + \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf \xc0 \xc1 \xc2 + \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce \xcf \xd0 \xd1 + \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd \xde \xdf \xe0 + \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec \xed \xee \xef + \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb \xfc \xfd \xfe + \xff \x{a2} \x{84} 0: \x{a2} \x{84} A Z @@ -800,7 +800,7 @@ Options: caseless utf First char = \x{1234} No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /\x{1234}+?/iS8I Capturing subpattern count = 0 @@ -808,7 +808,7 @@ Options: caseless utf First char = \x{1234} No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /\x{1234}++/iS8I Capturing subpattern count = 0 @@ -816,7 +816,7 @@ Options: caseless utf First char = \x{1234} No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /\x{1234}{2}/iS8I Capturing subpattern count = 0 @@ -824,7 +824,7 @@ Options: caseless utf First char = \x{1234} Need char = \x{1234} Subject length lower bound = 2 -No set of starting bytes +No starting char list /[^\x{c4}]/8DZ ------------------------------------------------------------------ @@ -857,7 +857,7 @@ Options: utf No first char No need char Subject length lower bound = 1 -Starting byte set: \x0a \x0b \x0c \x0d \x85 \xff +Starting chars: \x0a \x0b \x0c \x0d \x85 \xff /-- Check bad offset --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput19 b/ext/pcre/pcrelib/testdata/testoutput19 index ccc198cc15..eb8a8f6cd3 100644 --- a/ext/pcre/pcrelib/testdata/testoutput19 +++ b/ext/pcre/pcrelib/testdata/testoutput19 @@ -55,7 +55,7 @@ Options: caseless utf First char = \x{401} (caseless) Need char = \x{42f} (caseless) Subject length lower bound = 17 -No set of starting bytes +No starting char list \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f} 0: \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f} \x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f} @@ -85,4 +85,24 @@ No set of starting bytes End ------------------------------------------------------------------ +/\x{212a}+/i8SI +Capturing subpattern count = 0 +Options: caseless utf +No first char +No need char +Subject length lower bound = 1 +Starting chars: K k \xff + KKkk\x{212a} + 0: KKkk\x{212a} + +/s+/i8SI +Capturing subpattern count = 0 +Options: caseless utf +No first char +No need char +Subject length lower bound = 1 +Starting chars: S s \xff + SSss\x{17f} + 0: SSss\x{17f} + /-- End of testinput19 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput2 b/ext/pcre/pcrelib/testdata/testoutput2 index 844497abcd..1e87026cc6 100644 --- a/ext/pcre/pcrelib/testdata/testoutput2 +++ b/ext/pcre/pcrelib/testdata/testoutput2 @@ -178,7 +178,7 @@ No options No first char No need char Subject length lower bound = 3 -Starting byte set: c d e +Starting chars: c d e this sentence eventually mentions a cat 0: cat this sentences rambles on and on for a while and then reaches elephant @@ -190,7 +190,7 @@ Options: caseless No first char No need char Subject length lower bound = 3 -Starting byte set: C D E c d e +Starting chars: C D E c d e this sentence eventually mentions a CAT cat 0: CAT this sentences rambles on and on for a while to elephant ElePhant @@ -202,7 +202,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b c d +Starting chars: a b c d /(a|[^\dZ])/IS Capturing subpattern count = 1 @@ -210,7 +210,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y [ \ ] ^ _ ` a b c d @@ -231,7 +231,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 a b +Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 a b /(ab\2)/ Failed: reference to non-existent subpattern at offset 6 @@ -512,7 +512,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b c d +Starting chars: a b c d /(?i)[abcd]/IS Capturing subpattern count = 0 @@ -520,7 +520,7 @@ Options: caseless No first char No need char Subject length lower bound = 1 -Starting byte set: A B C D a b c d +Starting chars: A B C D a b c d /(?m)[xy]|(b|c)/IS Capturing subpattern count = 1 @@ -528,7 +528,7 @@ Options: multiline No first char No need char Subject length lower bound = 1 -Starting byte set: b c x y +Starting chars: b c x y /(^a|^b)/Im Capturing subpattern count = 1 @@ -591,7 +591,7 @@ No options First char = 'b' (caseless) No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /(a*b|(?i:c*(?-i)d))/IS Capturing subpattern count = 1 @@ -599,7 +599,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: C a b c d +Starting chars: C a b c d /a$/I Capturing subpattern count = 0 @@ -666,7 +666,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b +Starting chars: a b /(?<!foo)(alpha|omega)/IS Capturing subpattern count = 1 @@ -675,7 +675,7 @@ No options No first char Need char = 'a' Subject length lower bound = 5 -Starting byte set: a o +Starting chars: a o /(?!alphabet)[ab]/IS Capturing subpattern count = 0 @@ -683,7 +683,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b +Starting chars: a b /(?<=foo\n)^bar/Im Capturing subpattern count = 0 @@ -1642,7 +1642,7 @@ Options: anchored No first char Need char = 'd' Subject length lower bound = 4 -No set of starting bytes +No starting char list /\( # ( at start (?: # Non-capturing bracket @@ -1875,7 +1875,7 @@ No options No first char No need char Subject length lower bound = 1 -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 +Starting chars: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z /^[[:ascii:]]/DZ @@ -1937,7 +1937,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 +Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 /^[[:cntrl:]]/DZ ------------------------------------------------------------------ @@ -3178,6 +3178,10 @@ Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 /\U/I Failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset 1 +/a{1,3}b/U + ab + 0: ab + /[/I Failed: missing terminating ] for character class at offset 1 @@ -3434,7 +3438,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b +Starting chars: a b /[^a]/I Capturing subpattern count = 0 @@ -3454,7 +3458,7 @@ No options No first char Need char = '6' Subject length lower bound = 4 -Starting byte set: 0 1 2 3 4 5 6 7 8 9 +Starting chars: 0 1 2 3 4 5 6 7 8 9 /a^b/I Capturing subpattern count = 0 @@ -3488,7 +3492,7 @@ Options: caseless No first char No need char Subject length lower bound = 1 -Starting byte set: A B a b +Starting chars: A B a b /[ab](?i)cd/IS Capturing subpattern count = 0 @@ -3496,7 +3500,7 @@ No options No first char Need char = 'd' (caseless) Subject length lower bound = 3 -Starting byte set: a b +Starting chars: a b /abc(?C)def/I Capturing subpattern count = 0 @@ -3537,7 +3541,7 @@ No options No first char Need char = 'f' Subject length lower bound = 7 -Starting byte set: 0 1 2 3 4 5 6 7 8 9 +Starting chars: 0 1 2 3 4 5 6 7 8 9 1234abcdef --->1234abcdef 1 ^ \d @@ -3856,7 +3860,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b +Starting chars: a b /(?R)/I Failed: recursive call could loop indefinitely at offset 3 @@ -4637,7 +4641,7 @@ Options: caseless No first char Need char = 'g' (caseless) Subject length lower bound = 8 -No set of starting bytes +No starting char list Baby Bjorn Active Carrier - With free SHIPPING!! 0: Baby Bjorn Active Carrier - With free SHIPPING!! 1: Baby Bjorn Active Carrier - With free SHIPPING!! @@ -4656,7 +4660,7 @@ No options No first char Need char = 'b' Subject length lower bound = 1 -No set of starting bytes +No starting char list /(a|b)*.?c/ISDZ ------------------------------------------------------------------ @@ -4677,7 +4681,7 @@ No options No first char Need char = 'c' Subject length lower bound = 1 -No set of starting bytes +No starting char list /abc(?C255)de(?C)f/DZ ------------------------------------------------------------------ @@ -4750,7 +4754,7 @@ Options: No first char Need char = 'b' Subject length lower bound = 1 -Starting byte set: a b +Starting chars: a b ab --->ab +0 ^ a* @@ -4893,7 +4897,7 @@ Options: No first char Need char = 'x' Subject length lower bound = 4 -Starting byte set: a d +Starting chars: a d abcx --->abcx +0 ^ (abc|def) @@ -5127,7 +5131,7 @@ Options: No first char No need char Subject length lower bound = 2 -Starting byte set: a b x +Starting chars: a b x Note: that { does NOT introduce a quantifier --->Note: that { does NOT introduce a quantifier +0 ^ ([ab]{,4}c|xy) @@ -5607,7 +5611,7 @@ No options First char = 'a' Need char = 'c' Subject length lower bound = 3 -No set of starting bytes +No starting char list Compiled pattern written to testsavedregex Study data written to testsavedregex <testsavedregex @@ -5642,7 +5646,7 @@ No options First char = 'a' Need char = 'c' Subject length lower bound = 3 -No set of starting bytes +No starting char list Compiled pattern written to testsavedregex Study data written to testsavedregex <testsavedregex @@ -5677,7 +5681,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b +Starting chars: a b Compiled pattern written to testsavedregex Study data written to testsavedregex <testsavedregex @@ -5716,7 +5720,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b +Starting chars: a b Compiled pattern written to testsavedregex Study data written to testsavedregex <testsavedregex @@ -5817,13 +5821,13 @@ No match No match /a{11111111111111111111}/I -Failed: number too big in {} quantifier at offset 22 +Failed: number too big in {} quantifier at offset 8 /(){64294967295}/I -Failed: number too big in {} quantifier at offset 14 +Failed: number too big in {} quantifier at offset 9 /(){2,4294967295}/I -Failed: number too big in {} quantifier at offset 15 +Failed: number too big in {} quantifier at offset 11 "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I Capturing subpattern count = 1 @@ -6431,7 +6435,7 @@ No options No first char Need char = ',' Subject length lower bound = 1 -Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 , +Starting chars: \x09 \x0a \x0b \x0c \x0d \x20 , \x0b,\x0b 0: \x0b,\x0b \x0c,\x0d @@ -6738,7 +6742,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: C a b c d +Starting chars: C a b c d /()[ab]xyz/IS Capturing subpattern count = 1 @@ -6746,7 +6750,7 @@ No options No first char Need char = 'z' Subject length lower bound = 4 -Starting byte set: a b +Starting chars: a b /(|)[ab]xyz/IS Capturing subpattern count = 1 @@ -6754,7 +6758,7 @@ No options No first char Need char = 'z' Subject length lower bound = 4 -Starting byte set: a b +Starting chars: a b /(|c)[ab]xyz/IS Capturing subpattern count = 1 @@ -6762,7 +6766,7 @@ No options No first char Need char = 'z' Subject length lower bound = 4 -Starting byte set: a b c +Starting chars: a b c /(|c?)[ab]xyz/IS Capturing subpattern count = 1 @@ -6770,7 +6774,7 @@ No options No first char Need char = 'z' Subject length lower bound = 4 -Starting byte set: a b c +Starting chars: a b c /(d?|c?)[ab]xyz/IS Capturing subpattern count = 1 @@ -6778,7 +6782,7 @@ No options No first char Need char = 'z' Subject length lower bound = 4 -Starting byte set: a b c d +Starting chars: a b c d /(d?|c)[ab]xyz/IS Capturing subpattern count = 1 @@ -6786,7 +6790,7 @@ No options No first char Need char = 'z' Subject length lower bound = 4 -Starting byte set: a b c d +Starting chars: a b c d /^a*b\d/DZ ------------------------------------------------------------------ @@ -6879,7 +6883,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b c d +Starting chars: a b c d /(a+|b*)[cd]/IS Capturing subpattern count = 1 @@ -6887,7 +6891,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b c d +Starting chars: a b c d /(a*|b+)[cd]/IS Capturing subpattern count = 1 @@ -6895,7 +6899,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: a b c d +Starting chars: a b c d /(a+|b+)[cd]/IS Capturing subpattern count = 1 @@ -6903,7 +6907,7 @@ No options No first char No need char Subject length lower bound = 2 -Starting byte set: a b +Starting chars: a b /(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( @@ -9307,7 +9311,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: x y z +Starting chars: x y z /(?(?=.*b)b|^)/CI Capturing subpattern count = 0 @@ -10096,7 +10100,7 @@ No options No first char No need char Subject length lower bound = 2 -Starting byte set: a b +Starting chars: a b /(a|bc)\1{2,3}/SI Capturing subpattern count = 1 @@ -10105,7 +10109,7 @@ No options No first char No need char Subject length lower bound = 3 -Starting byte set: a b +Starting chars: a b /(a|bc)(?1)/SI Capturing subpattern count = 1 @@ -10113,7 +10117,7 @@ No options No first char No need char Subject length lower bound = 2 -Starting byte set: a b +Starting chars: a b /(a|b\1)(a|b\1)/SI Capturing subpattern count = 2 @@ -10122,7 +10126,7 @@ No options No first char No need char Subject length lower bound = 2 -Starting byte set: a b +Starting chars: a b /(a|b\1){2}/SI Capturing subpattern count = 1 @@ -10131,7 +10135,7 @@ No options No first char No need char Subject length lower bound = 2 -Starting byte set: a b +Starting chars: a b /(a|bbbb\1)(a|bbbb\1)/SI Capturing subpattern count = 2 @@ -10140,7 +10144,7 @@ No options No first char No need char Subject length lower bound = 2 -Starting byte set: a b +Starting chars: a b /(a|bbbb\1){2}/SI Capturing subpattern count = 1 @@ -10149,7 +10153,7 @@ No options No first char No need char Subject length lower bound = 2 -Starting byte set: a b +Starting chars: a b /^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]/SI Capturing subpattern count = 1 @@ -10157,7 +10161,7 @@ Options: anchored No first char Need char = ':' Subject length lower bound = 22 -No set of starting bytes +No starting char list /<tr([\w\W\s\d][^<>]{0,})><TD([\w\W\s\d][^<>]{0,})>([\d]{0,}\.)(.*)((<BR>([\w\W\s\d][^<>]{0,})|[\s]{0,}))<\/a><\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><TD([\w\W\s\d][^<>]{0,})>([\w\W\s\d][^<>]{0,})<\/TD><\/TR>/isIS Capturing subpattern count = 11 @@ -10165,7 +10169,7 @@ Options: caseless dotall First char = '<' Need char = '>' Subject length lower bound = 47 -No set of starting bytes +No starting char list "(?>.*/)foo"SI Capturing subpattern count = 0 @@ -10173,7 +10177,7 @@ No options No first char Need char = 'o' Subject length lower bound = 4 -No set of starting bytes +No starting char list /(?(?=[^a-z]+[a-z]) \d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} ) /xSI Capturing subpattern count = 0 @@ -10181,7 +10185,7 @@ Options: extended No first char Need char = '-' Subject length lower bound = 8 -No set of starting bytes +No starting char list /(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/iSI Capturing subpattern count = 1 @@ -10189,7 +10193,7 @@ Options: caseless No first char No need char Subject length lower bound = 1 -Starting byte set: A B C a b c +Starting chars: A B C a b c /(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/SI Capturing subpattern count = 0 @@ -10197,7 +10201,7 @@ No options No first char Need char = 'b' Subject length lower bound = 41 -Starting byte set: c d +Starting chars: c d /<a[\s]+href[\s]*=[\s]* # find <a href= ([\"\'])? # find single or double quote @@ -10210,7 +10214,7 @@ Options: caseless extended dotall First char = '<' Need char = '=' Subject length lower bound = 9 -No set of starting bytes +No starting char list /^(?!:) # colon disallowed at start (?: # start of item @@ -10226,7 +10230,7 @@ Options: anchored caseless extended No first char Need char = ':' Subject length lower bound = 2 -No set of starting bytes +No starting char list /(?|(?<a>A)|(?<a>B))/I Capturing subpattern count = 1 @@ -10450,7 +10454,7 @@ Options: No first char Need char = 'a' Subject length lower bound = 1 -No set of starting bytes +No starting char list cat 0: a 1: @@ -10464,7 +10468,7 @@ No options No first char Need char = 'a' Subject length lower bound = 3 -No set of starting bytes +No starting char list cat No match @@ -10476,7 +10480,7 @@ No options First char = 'i' No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list i 0: i @@ -10486,7 +10490,7 @@ No options No first char Need char = 'i' Subject length lower bound = 1 -Starting byte set: i +Starting chars: i ia 0: ia 1: @@ -11080,7 +11084,7 @@ No options First char = 'a' Need char = '4' Subject length lower bound = 5 -No set of starting bytes +No starting char list /([abc])++1234/SI Capturing subpattern count = 1 @@ -11088,7 +11092,7 @@ No options No first char Need char = '4' Subject length lower bound = 5 -Starting byte set: a b c +Starting chars: a b c /(?<=(abc)+)X/ Failed: lookbehind assertion is not fixed length at offset 10 @@ -11369,7 +11373,7 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /(a(?2)|b)(b(?1)|a)(?:(?1)|(?2))/SI Capturing subpattern count = 2 @@ -11377,7 +11381,7 @@ No options No first char No need char Subject length lower bound = 3 -Starting byte set: a b +Starting chars: a b /(a(?2)|b)(b(?1)|a)(?1)(?2)/SI Capturing subpattern count = 2 @@ -11385,7 +11389,7 @@ No options No first char No need char Subject length lower bound = 4 -Starting byte set: a b +Starting chars: a b /(abc)(?1)/SI Capturing subpattern count = 1 @@ -11393,7 +11397,7 @@ No options First char = 'a' Need char = 'c' Subject length lower bound = 6 -No set of starting bytes +No starting char list /^(?>a)++/ aa\M @@ -11711,7 +11715,7 @@ No options First char = 't' Need char = 't' Subject length lower bound = 18 -No set of starting bytes +No starting char list /\btype\b\W*?\btext\b\W*?\bjavascript\b|\burl\b\W*?\bshell:|<input\b.*?\btype\b\W*?\bimage\b|\bonkeyup\b\W*?\=/IS Capturing subpattern count = 0 @@ -11720,7 +11724,7 @@ No options No first char No need char Subject length lower bound = 8 -Starting byte set: < o t u +Starting chars: < o t u /a(*SKIP)c|b(*ACCEPT)|/+S!I Capturing subpattern count = 0 @@ -11729,7 +11733,7 @@ No options No first char No need char Subject length lower bound = -1 -No set of starting bytes +No starting char list a 0: 0+ @@ -11740,7 +11744,7 @@ No options No first char No need char Subject length lower bound = -1 -Starting byte set: a b x +Starting chars: a b x ax 0: x @@ -12436,7 +12440,7 @@ No options No first char No need char Subject length lower bound = -1 -No set of starting bytes +No starting char list /(?:(a)+(?C1)bb|aa(?C2)b)/ aab\C+ @@ -12722,7 +12726,7 @@ No options No first char Need char = 'z' Subject length lower bound = 2 -Starting byte set: a z +Starting chars: a z aaaaaaaaaaaaaz Error -21 (recursion limit exceeded) aaaaaaaaaaaaaz\Q1000 @@ -12735,7 +12739,7 @@ No options No first char Need char = 'z' Subject length lower bound = 2 -Starting byte set: a z +Starting chars: a z aaaaaaaaaaaaaz Error -21 (recursion limit exceeded) @@ -12746,7 +12750,7 @@ No options No first char Need char = 'z' Subject length lower bound = 2 -Starting byte set: a z +Starting chars: a z aaaaaaaaaaaaaz No match aaaaaaaaaaaaaz\Q10 @@ -12790,7 +12794,7 @@ Options: dupnames First char = 'a' Need char = 'z' Subject length lower bound = 5 -No set of starting bytes +No starting char list /a*[bcd]/BZ ------------------------------------------------------------------ @@ -13902,7 +13906,7 @@ No options No first char Need char = 'd' Subject length lower bound = 1 -Starting byte set: a b c d +Starting chars: a b c d /[a-c]+d/DZS ------------------------------------------------------------------ @@ -13917,7 +13921,7 @@ No options No first char Need char = 'd' Subject length lower bound = 2 -Starting byte set: a b c +Starting chars: a b c /[a-c]?d/DZS ------------------------------------------------------------------ @@ -13932,7 +13936,7 @@ No options No first char Need char = 'd' Subject length lower bound = 1 -Starting byte set: a b c d +Starting chars: a b c d /[a-c]{4,6}d/DZS ------------------------------------------------------------------ @@ -13947,7 +13951,7 @@ No options No first char Need char = 'd' Subject length lower bound = 5 -Starting byte set: a b c +Starting chars: a b c /[a-c]{0,6}d/DZS ------------------------------------------------------------------ @@ -13962,7 +13966,7 @@ No options No first char Need char = 'd' Subject length lower bound = 1 -Starting byte set: a b c d +Starting chars: a b c d /-- End of special auto-possessive tests --/ @@ -14089,6 +14093,30 @@ Failed: malformed number or name after (?( at offset 4 /(?(R&6yh)abc)/ Failed: group name must start with a non-digit at offset 5 +/(((a\2)|(a*)\g<-1>))*a?/BZ +------------------------------------------------------------------ + Bra + Brazero + SCBra 1 + Once + CBra 2 + CBra 3 + a + \2 + Ket + Alt + CBra 4 + a* + Ket + Recurse + Ket + Ket + KetRmax + a?+ + Ket + End +------------------------------------------------------------------ + /-- Test the ugly "start or end of word" compatibility syntax --/ /[[:<:]]red[[:>:]]/BZ @@ -14125,4 +14153,57 @@ No match /[a[:<:]] should give error/ Failed: unknown POSIX class name at offset 4 +/(?=ab\K)/+ + abcd +Start of matched string is beyond its end - displaying from end to start. + 0: ab + 0+ abcd + +/abcd/f<lf> + xx\nxabcd +No match + +/ -- Test stack check external calls --/ + +/(((((a)))))/Q0 + +/(((((a)))))/Q1 +Failed: parentheses are too deeply nested (stack check) at offset 0 + +/(((((a)))))/Q +** Missing 0 or 1 after /Q + +/^\w+(?>\s*)(?<=\w)/BZ +------------------------------------------------------------------ + Bra + ^ + \w+ + Once_NC + \s*+ + Ket + AssertB + Reverse + \w + Ket + Ket + End +------------------------------------------------------------------ + +/\othing/ +Failed: missing opening brace after \o at offset 1 + +/\o{}/ +Failed: digits missing in \x{} or \o{} at offset 1 + +/\o{whatever}/ +Failed: non-octal character in \o{} (closing brace missing?) at offset 3 + +/\xthing/ + +/\x{}/ +Failed: digits missing in \x{} or \o{} at offset 3 + +/\x{whatever}/ +Failed: non-hex character in \x{} (closing brace missing?) at offset 3 + /-- End of testinput2 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput21-16 b/ext/pcre/pcrelib/testdata/testoutput21-16 index 0e21350f89..da194d90e0 100644 --- a/ext/pcre/pcrelib/testdata/testoutput21-16 +++ b/ext/pcre/pcrelib/testdata/testoutput21-16 @@ -50,7 +50,7 @@ Options: anchored extended No first char No need char Subject length lower bound = 6 -No set of starting bytes +No starting char list <!testsaved16BE-1 Compiled pattern loaded from testsaved16BE-1 @@ -83,7 +83,7 @@ Options: anchored extended No first char No need char Subject length lower bound = 6 -No set of starting bytes +No starting char list <!testsaved32LE-1 Compiled pattern loaded from testsaved32LE-1 diff --git a/ext/pcre/pcrelib/testdata/testoutput21-32 b/ext/pcre/pcrelib/testdata/testoutput21-32 index 183487aca1..d087bb6f4d 100644 --- a/ext/pcre/pcrelib/testdata/testoutput21-32 +++ b/ext/pcre/pcrelib/testdata/testoutput21-32 @@ -62,7 +62,7 @@ Options: anchored extended No first char No need char Subject length lower bound = 6 -No set of starting bytes +No starting char list <!testsaved32BE-1 Compiled pattern loaded from testsaved32BE-1 @@ -95,6 +95,6 @@ Options: anchored extended No first char No need char Subject length lower bound = 6 -No set of starting bytes +No starting char list /-- End of testinput21 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput22-16 b/ext/pcre/pcrelib/testdata/testoutput22-16 index f896b13e18..32a71cd443 100644 --- a/ext/pcre/pcrelib/testdata/testoutput22-16 +++ b/ext/pcre/pcrelib/testdata/testoutput22-16 @@ -37,7 +37,7 @@ Options: extended utf No first char No need char Subject length lower bound = 2 -No set of starting bytes +No starting char list <!testsaved16BE-2 Compiled pattern loaded from testsaved16BE-2 @@ -64,7 +64,7 @@ Options: extended utf No first char No need char Subject length lower bound = 2 -No set of starting bytes +No starting char list <!testsaved32LE-2 Compiled pattern loaded from testsaved32LE-2 diff --git a/ext/pcre/pcrelib/testdata/testoutput22-32 b/ext/pcre/pcrelib/testdata/testoutput22-32 index 783926b821..13e441d159 100644 --- a/ext/pcre/pcrelib/testdata/testoutput22-32 +++ b/ext/pcre/pcrelib/testdata/testoutput22-32 @@ -49,7 +49,7 @@ Options: extended utf No first char No need char Subject length lower bound = 2 -No set of starting bytes +No starting char list <!testsaved32BE-2 Compiled pattern loaded from testsaved32BE-2 @@ -76,6 +76,6 @@ Options: extended utf No first char No need char Subject length lower bound = 2 -No set of starting bytes +No starting char list /-- End of testinput22 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput23 b/ext/pcre/pcrelib/testdata/testoutput23 index 6f5384c34e..6dabf03b0f 100644 --- a/ext/pcre/pcrelib/testdata/testoutput23 +++ b/ext/pcre/pcrelib/testdata/testoutput23 @@ -18,7 +18,7 @@ Failed: character value in \x{} or \o{} is too large at offset 8 /[\H]/BZSI ------------------------------------------------------------------ Bra - [\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffff}] + [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffff}] Ket End ------------------------------------------------------------------ @@ -27,12 +27,25 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0a \x0b + \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a + \x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 + : ; < = > ? @ 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 { | } ~ \x7f \x80 + \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f + \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e + \x9f \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae + \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd + \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc + \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb + \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea + \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 + \xfa \xfb \xfc \xfd \xfe \xff /[\V]/BZSI ------------------------------------------------------------------ Bra - [\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{ffff}] + [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffff}] Ket End ------------------------------------------------------------------ @@ -41,6 +54,19 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0e + \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d + \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > + ? @ 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 { | } ~ \x7f \x80 \x81 \x82 + \x83 \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 + \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 + \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 + \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf + \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce + \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd + \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec + \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb + \xfc \xfd \xfe \xff /-- End of testinput23 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput25 b/ext/pcre/pcrelib/testdata/testoutput25 index 7ad3378368..4c62c8d807 100644 --- a/ext/pcre/pcrelib/testdata/testoutput25 +++ b/ext/pcre/pcrelib/testdata/testoutput25 @@ -1,6 +1,6 @@ /-- Tests for the 32-bit library only */ -< forbid 8w +< forbid 8W /-- Check maximum character size --/ @@ -65,7 +65,7 @@ Need char = \x{800000} /[\H]/BZSI ------------------------------------------------------------------ Bra - [\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffffffff}] + [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{ffffffff}] Ket End ------------------------------------------------------------------ @@ -74,12 +74,25 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x0a \x0b + \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a + \x1b \x1c \x1d \x1e \x1f ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 + : ; < = > ? @ 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 { | } ~ \x7f \x80 + \x81 \x82 \x83 \x84 \x85 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f + \x90 \x91 \x92 \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e + \x9f \xa1 \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae + \xaf \xb0 \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd + \xbe \xbf \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc + \xcd \xce \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb + \xdc \xdd \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea + \xeb \xec \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 + \xfa \xfb \xfc \xfd \xfe \xff /[\V]/BZSI ------------------------------------------------------------------ Bra - [\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{ffffffff}] + [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{ffffffff}] Ket End ------------------------------------------------------------------ @@ -88,6 +101,19 @@ No options No first char No need char Subject length lower bound = 1 -No set of starting bytes +Starting chars: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0e + \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19 \x1a \x1b \x1c \x1d + \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > + ? @ 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 { | } ~ \x7f \x80 \x81 \x82 + \x83 \x84 \x86 \x87 \x88 \x89 \x8a \x8b \x8c \x8d \x8e \x8f \x90 \x91 \x92 + \x93 \x94 \x95 \x96 \x97 \x98 \x99 \x9a \x9b \x9c \x9d \x9e \x9f \xa0 \xa1 + \xa2 \xa3 \xa4 \xa5 \xa6 \xa7 \xa8 \xa9 \xaa \xab \xac \xad \xae \xaf \xb0 + \xb1 \xb2 \xb3 \xb4 \xb5 \xb6 \xb7 \xb8 \xb9 \xba \xbb \xbc \xbd \xbe \xbf + \xc0 \xc1 \xc2 \xc3 \xc4 \xc5 \xc6 \xc7 \xc8 \xc9 \xca \xcb \xcc \xcd \xce + \xcf \xd0 \xd1 \xd2 \xd3 \xd4 \xd5 \xd6 \xd7 \xd8 \xd9 \xda \xdb \xdc \xdd + \xde \xdf \xe0 \xe1 \xe2 \xe3 \xe4 \xe5 \xe6 \xe7 \xe8 \xe9 \xea \xeb \xec + \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 \xf9 \xfa \xfb + \xfc \xfd \xfe \xff /-- End of testinput25 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput3 b/ext/pcre/pcrelib/testdata/testoutput3 index 12ffc9911b..73119ab4b7 100644 --- a/ext/pcre/pcrelib/testdata/testoutput3 +++ b/ext/pcre/pcrelib/testdata/testoutput3 @@ -1,7 +1,10 @@ -/-- This set of tests checks local-specific features, using the fr_FR locale. - It is not Perl-compatible. There is different version called wintestinput3 - f or use on Windows, where the locale is called "french". --/ - +/-- This set of tests checks local-specific features, using the "fr_FR" locale. + It is not Perl-compatible. When run via RunTest, the locale is edited to + be whichever of "fr_FR", "french", or "fr" is found to exist. There is + different version of this file called wintestinput3 for use on Windows, + where the locale is called "french" and the tests are run using + RunTest.bat. --/ + < forbid 8W /^[\w]+/ @@ -90,7 +93,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P +Starting chars: 0 1 2 3 4 5 6 7 8 9 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 /\w/ISLfr_FR @@ -99,7 +102,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P +Starting chars: 0 1 2 3 4 5 6 7 8 9 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 ª µ º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ diff --git a/ext/pcre/pcrelib/testdata/testoutput4 b/ext/pcre/pcrelib/testdata/testoutput4 index 0dbec4ecca..dcf13b0850 100644 --- a/ext/pcre/pcrelib/testdata/testoutput4 +++ b/ext/pcre/pcrelib/testdata/testoutput4 @@ -1263,4 +1263,12 @@ No match aa 0: aa +/^.\B.\B./8 + \x{10123}\x{10124}\x{10125} + 0: \x{10123}\x{10124}\x{10125} + +/^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/8 + #\x{10000}#\x{100}#\x{10ffff}# + 0: #\x{10000}#\x{100}#\x{10ffff}# + /-- End of testinput4 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput5 b/ext/pcre/pcrelib/testdata/testoutput5 index 3fa581052e..5c098e650b 100644 --- a/ext/pcre/pcrelib/testdata/testoutput5 +++ b/ext/pcre/pcrelib/testdata/testoutput5 @@ -270,7 +270,7 @@ No match /[z-\x{100}]/8DZ ------------------------------------------------------------------ Bra - [z-\x{100}] + [z-\xff\x{100}] Ket End ------------------------------------------------------------------ @@ -812,7 +812,7 @@ No match /[\H]/8BZ ------------------------------------------------------------------ Bra - [\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}] + [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}] Ket End ------------------------------------------------------------------ @@ -820,7 +820,7 @@ No match /[\V]/8BZ ------------------------------------------------------------------ Bra - [\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{10ffff}] + [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{10ffff}] Ket End ------------------------------------------------------------------ @@ -1536,7 +1536,7 @@ Options: caseless utf No first char No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /[^\x{1234}]+?/iS8I Capturing subpattern count = 0 @@ -1544,7 +1544,7 @@ Options: caseless utf No first char No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /[^\x{1234}]++/iS8I Capturing subpattern count = 0 @@ -1552,7 +1552,7 @@ Options: caseless utf No first char No need char Subject length lower bound = 1 -No set of starting bytes +No starting char list /[^\x{1234}]{2}/iS8I Capturing subpattern count = 0 @@ -1560,7 +1560,7 @@ Options: caseless utf No first char No need char Subject length lower bound = 2 -No set of starting bytes +No starting char list //<bsr_anycrlf><bsr_unicode> Failed: inconsistent NEWLINE options at offset 0 @@ -1620,7 +1620,7 @@ Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7 /[\H\x{d7ff}]+/8BZ ------------------------------------------------------------------ Bra - [\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}\x{d7ff}]++ + [\x00-\x08\x0a-\x1f!-\x9f\xa1-\xff\x{100}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}\x{d7ff}]++ Ket End ------------------------------------------------------------------ @@ -1660,7 +1660,7 @@ Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7 /[\V\x{d7ff}]+/8BZ ------------------------------------------------------------------ Bra - [\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{10ffff}\x{d7ff}]++ + [\x00-\x09\x0e-\x84\x86-\xff\x{100}-\x{2027}\x{202a}-\x{10ffff}\x{d7ff}]++ Ket End ------------------------------------------------------------------ @@ -1882,4 +1882,19 @@ Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 5 aa 0: aa +/[b-d\x{200}-\x{250}]*[ae-h]?#[\x{200}-\x{250}]{0,8}[\x00-\xff]*#[\x{200}-\x{250}]+[a-z]/8BZ +------------------------------------------------------------------ + Bra + [b-d\x{200}-\x{250}]*+ + [ae-h]?+ + # + [\x{200}-\x{250}]{0,8}+ + [\x00-\xff]* + # + [\x{200}-\x{250}]++ + [a-z] + Ket + End +------------------------------------------------------------------ + /-- End of testinput5 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput6 b/ext/pcre/pcrelib/testdata/testoutput6 index 6c42fce1a5..a990ba13eb 100644 --- a/ext/pcre/pcrelib/testdata/testoutput6 +++ b/ext/pcre/pcrelib/testdata/testoutput6 @@ -719,10 +719,10 @@ No match 0: \x{6e9} \x{060b} 0: \x{60b} - \x{061c} - 0: \x{61c} ** Failers No match + \x{061c} +No match X\x{06e9} No match @@ -2445,4 +2445,20 @@ No match \x{37e} No match +/[RST]+/8iW + Ss\x{17f} + 0: Ss\x{17f} + +/[R-T]+/8iW + Ss\x{17f} + 0: Ss\x{17f} + +/[q-u]+/8iW + Ss\x{17f} + 0: Ss\x{17f} + +/^s?c/mi8 + scat + 0: sc + /-- End of testinput6 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput7 b/ext/pcre/pcrelib/testdata/testoutput7 index 45ac72fd8d..ee46bdbb5a 100644 --- a/ext/pcre/pcrelib/testdata/testoutput7 +++ b/ext/pcre/pcrelib/testdata/testoutput7 @@ -124,7 +124,7 @@ No match /[z-\x{100}]/8iDZ ------------------------------------------------------------------ Bra - [Z\x{39c}\x{3bc}\x{1e9e}\x{178}z-\x{101}] + [Zz-\xff\x{39c}\x{3bc}\x{212b}\x{1e9e}\x{212b}\x{178}\x{100}-\x{101}] Ket End ------------------------------------------------------------------ @@ -162,7 +162,7 @@ No match /[z-\x{100}]/8DZi ------------------------------------------------------------------ Bra - [Z\x{39c}\x{3bc}\x{1e9e}\x{178}z-\x{101}] + [Zz-\xff\x{39c}\x{3bc}\x{212b}\x{1e9e}\x{212b}\x{178}\x{100}-\x{101}] Ket End ------------------------------------------------------------------ @@ -2263,4 +2263,36 @@ No match End ------------------------------------------------------------------ +/[RST]+/8iWBZ +------------------------------------------------------------------ + Bra + [R-Tr-t\x{17f}]++ + Ket + End +------------------------------------------------------------------ + +/[R-T]+/8iWBZ +------------------------------------------------------------------ + Bra + [R-Tr-t\x{17f}]++ + Ket + End +------------------------------------------------------------------ + +/[Q-U]+/8iWBZ +------------------------------------------------------------------ + Bra + [Q-Uq-u\x{17f}]++ + Ket + End +------------------------------------------------------------------ + +/^s?c/mi8I +Capturing subpattern count = 0 +Options: caseless multiline utf +First char at start or follows newline +Need char = 'c' (caseless) + scat + 0: sc + /-- End of testinput7 --/ diff --git a/ext/pcre/pcrelib/testdata/testoutput8 b/ext/pcre/pcrelib/testdata/testoutput8 index bb68d3e645..95c4e4db1b 100644 --- a/ext/pcre/pcrelib/testdata/testoutput8 +++ b/ext/pcre/pcrelib/testdata/testoutput8 @@ -7232,7 +7232,7 @@ No options No first char No need char Subject length lower bound = 3 -Starting byte set: a d x +Starting chars: a d x terhjk;abcdaadsfe 0: abc the quick xyz brown fox @@ -7777,4 +7777,12 @@ Matched, but offsets vector is too small to show all matches 1: aaa 2: aa +'\A(?:[^\"]++|\"(?:[^\"]*+|\"\")*+\")++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + 0: NON QUOTED "QUOT""ED" AFTER + +'\A(?:[^\"]++|\"(?:[^\"]++|\"\")*+\")++' + NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED + 0: NON QUOTED "QUOT""ED" AFTER + /-- End of testinput8 --/ diff --git a/ext/pcre/pcrelib/testdata/wintestoutput3 b/ext/pcre/pcrelib/testdata/wintestoutput3 index 0088007067..456ad196b5 100644 --- a/ext/pcre/pcrelib/testdata/wintestoutput3 +++ b/ext/pcre/pcrelib/testdata/wintestoutput3 @@ -84,7 +84,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P +Starting chars: 0 1 2 3 4 5 6 7 8 9 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 /\w/ISLfrench @@ -93,7 +93,7 @@ No options No first char No need char Subject length lower bound = 1 -Starting byte set: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P +Starting chars: 0 1 2 3 4 5 6 7 8 9 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 ƒ Š Œ Ž š œ ž Ÿ ª ² ³ µ ¹ º À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ø ù ú û ü ý |
