diff options
Diffstat (limited to 'ext/pcre/pcrelib/testdata')
| -rw-r--r-- | ext/pcre/pcrelib/testdata/grepoutput | 17 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testinput1 | 16 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testinput2 | 161 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testinput4 | 72 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testinput5 | 52 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testinput6 | 75 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testinput7 | 65 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testinput8 | 44 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testoutput1 | 24 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testoutput2 | 377 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testoutput4 | 131 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testoutput5 | 108 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testoutput6 | 157 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testoutput7 | 134 | ||||
| -rw-r--r-- | ext/pcre/pcrelib/testdata/testoutput8 | 88 |
15 files changed, 1379 insertions, 142 deletions
diff --git a/ext/pcre/pcrelib/testdata/grepoutput b/ext/pcre/pcrelib/testdata/grepoutput index d5506a1097..3241984c1c 100644 --- a/ext/pcre/pcrelib/testdata/grepoutput +++ b/ext/pcre/pcrelib/testdata/grepoutput @@ -358,10 +358,13 @@ after the binary zero ./testdata/grepinput:597:after the binary zero ---------------------------- Test 42 ------------------------------ 595:before +595:zero 596:zero 597:after +597:zero ---------------------------- Test 43 ------------------------------ 595:before +595:zero 596:zero 597:zero ---------------------------- Test 44 ------------------------------ @@ -385,3 +388,17 @@ PUT NEW DATA ABOVE THIS LINE. ---------------------------- Test 49 ------------------------------ ---------------------------- Test 50 ------------------------------ over the lazy dog. +---------------------------- Test 51 ------------------------------ +fox [1;31mjumps[00m +---------------------------- Test 52 ------------------------------ +36972,6 +36990,4 +37024,4 +37066,5 +37083,4 +---------------------------- Test 53 ------------------------------ +595:15,6 +595:33,4 +596:28,4 +597:15,5 +597:32,4 diff --git a/ext/pcre/pcrelib/testdata/testinput1 b/ext/pcre/pcrelib/testdata/testinput1 index 79c98fa7bd..91554ffc49 100644 --- a/ext/pcre/pcrelib/testdata/testinput1 +++ b/ext/pcre/pcrelib/testdata/testinput1 @@ -3421,11 +3421,6 @@ /((?m)^b)/ a\nb\nc\n -/(?(1)a|b)/ - -/(?(1)b|a)/ - a - /(x)?(?(1)a|b)/ *** Failers a @@ -4030,4 +4025,15 @@ /( (?(1)0|)* )/x abcd +/[[:abcd:xyz]]/ + a] + :] + +/[abc[:x\]pqr]/ + a + [ + : + ] + p + / End of testinput1 / diff --git a/ext/pcre/pcrelib/testdata/testinput2 b/ext/pcre/pcrelib/testdata/testinput2 index c9f1018a90..1a13fa8dd9 100644 --- a/ext/pcre/pcrelib/testdata/testinput2 +++ b/ext/pcre/pcrelib/testdata/testinput2 @@ -398,8 +398,6 @@ /(?(1?)a|b)/ -/(?(1)a|b|c)/ - /[a[:xyz:/ /(?<=x+)y/ @@ -568,15 +566,15 @@ /ab\d+/I -/a(?(1)b)/I +/a(?(1)b)(.)/I -/a(?(1)bag|big)/I +/a(?(1)bag|big)(.)/I -/a(?(1)bag|big)*/I +/a(?(1)bag|big)*(.)/I -/a(?(1)bag|big)+/I +/a(?(1)bag|big)+(.)/I -/a(?(1)b..|b..)/I +/a(?(1)b..|b..)(.)/I /ab\d{0}e/I @@ -977,13 +975,13 @@ /()a/I -/(?(1)ab|ac)/I +/(?(1)ab|ac)(.)/I -/(?(1)abz|acz)/I +/(?(1)abz|acz)(.)/I -/(?(1)abz)/I +/(?(1)abz)(.)/I -/(?(1)abz)123/I +/(?(1)abz)(1)23/I /(a)+/I @@ -1999,7 +1997,7 @@ a random value. /Ix /a/<any><crlf> -/^a\Rb/ +/^a\Rb/<bsr_unicode> a\nb a\rb a\r\nb @@ -2009,7 +2007,7 @@ a random value. /Ix ** Failers a\n\rb -/^a\R*b/ +/^a\R*b/<bsr_unicode> ab a\nb a\rb @@ -2020,7 +2018,7 @@ a random value. /Ix a\n\rb a\n\r\x85\x0cb -/^a\R+b/ +/^a\R+b/<bsr_unicode> a\nb a\rb a\r\nb @@ -2032,7 +2030,7 @@ a random value. /Ix ** Failers ab -/^a\R{1,3}b/ +/^a\R{1,3}b/<bsr_unicode> a\nb a\n\rb a\n\r\x85b @@ -2044,7 +2042,7 @@ a random value. /Ix a\n\n\n\rb a\r -/^a[\R]b/ +/^a[\R]b/<bsr_unicode> aRb ** Failers a\nb @@ -2190,8 +2188,8 @@ a random value. /Ix /((?(-2)a))/BZ -/^(?(+1)X|Y)/BZ - Y +/^(?(+1)X|Y)(.)/BZ + Y! /(foo)\Kbar/ foobar @@ -2464,4 +2462,131 @@ a random value. /Ix a\r\nb a\x85b +/a\Rb/I<bsr_anycrlf> + a\rb + a\nb + a\r\nb + ** Failers + a\x85b + a\x0bb + +/a\Rb/I<bsr_unicode> + a\rb + a\nb + a\r\nb + a\x85b + a\x0bb + ** Failers + a\x85b\<bsr_anycrlf> + a\x0bb\<bsr_anycrlf> + +/a\R?b/I<bsr_anycrlf> + a\rb + a\nb + a\r\nb + ** Failers + a\x85b + a\x0bb + +/a\R?b/I<bsr_unicode> + a\rb + a\nb + a\r\nb + a\x85b + a\x0bb + ** Failers + a\x85b\<bsr_anycrlf> + a\x0bb\<bsr_anycrlf> + +/a\R{2,4}b/I<bsr_anycrlf> + a\r\n\nb + a\n\r\rb + a\r\n\r\n\r\n\r\nb + ** Failers + a\x85\85b + a\x0b\0bb + +/a\R{2,4}b/I<bsr_unicode> + a\r\rb + a\n\n\nb + a\r\n\n\r\rb + a\x85\85b + a\x0b\0bb + ** Failers + a\r\r\r\r\rb + a\x85\85b\<bsr_anycrlf> + a\x0b\0bb\<bsr_anycrlf> + +/(*BSR_ANYCRLF)a\Rb/I + a\nb + a\rb + +/(*BSR_UNICODE)a\Rb/I + a\x85b + +/(*BSR_ANYCRLF)(*CRLF)a\Rb/I + a\nb + a\rb + +/(*CRLF)(*BSR_UNICODE)a\Rb/I + a\x85b + +/(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I + +/(?<a>)(?&)/ + +/(?<abc>)(?&a)/ + +/(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/ + +/(?+-a)/ + +/(?-+a)/ + +/(?(-1))/ + +/(?(+10))/ + +/(?(10))/ + +/(?(+2))()()/ + +/(?(2))()()/ + +/\k''/ + +/\k<>/ + +/\k{}/ + +/(?P=)/ + +/(?P>)/ + +/(?!\w)(?R)/ + +/(?=\w)(?R)/ + +/(?<!\w)(?R)/ + +/(?<=\w)(?R)/ + +/[[:foo:]]/ + +/[[:1234:]]/ + +/[[:f\oo:]]/ + +/[[: :]]/ + +/[[:...:]]/ + +/[[:l\ower:]]/ + +/[[:abc\:]]/ + +/[abc[:x\]pqr:]]/ + +/[[:a\dz:]]/ + / End of testinput2 / diff --git a/ext/pcre/pcrelib/testdata/testinput4 b/ext/pcre/pcrelib/testdata/testinput4 index 630fb1d532..886dbceb74 100644 --- a/ext/pcre/pcrelib/testdata/testinput4 +++ b/ext/pcre/pcrelib/testdata/testinput4 @@ -535,4 +535,76 @@ /\W{2}/8g +\x{a3}== +/\S/8g + \x{442}\x{435}\x{441}\x{442} + +/[\S]/8g + \x{442}\x{435}\x{441}\x{442} + +/\D/8g + \x{442}\x{435}\x{441}\x{442} + +/[\D]/8g + \x{442}\x{435}\x{441}\x{442} + +/\W/8g + \x{2442}\x{2435}\x{2441}\x{2442} + +/[\W]/8g + \x{2442}\x{2435}\x{2441}\x{2442} + +/[\S\s]*/8 + abc\n\r\x{442}\x{435}\x{441}\x{442}xyz + +/[\x{41f}\S]/8g + \x{442}\x{435}\x{441}\x{442} + +/.[^\S]./8g + abc def\x{442}\x{443}xyz\npqr + +/.[^\S\n]./8g + abc def\x{442}\x{443}xyz\npqr + +/[[:^alnum:]]/8g + +\x{2442} + +/[[:^alpha:]]/8g + +\x{2442} + +/[[:^ascii:]]/8g + A\x{442} + +/[[:^blank:]]/8g + A\x{442} + +/[[:^cntrl:]]/8g + A\x{442} + +/[[:^digit:]]/8g + A\x{442} + +/[[:^graph:]]/8g + \x19\x{e01ff} + +/[[:^lower:]]/8g + A\x{422} + +/[[:^print:]]/8g + \x{19}\x{e01ff} + +/[[:^punct:]]/8g + A\x{442} + +/[[:^space:]]/8g + A\x{442} + +/[[:^upper:]]/8g + a\x{442} + +/[[:^word:]]/8g + +\x{2442} + +/[[:^xdigit:]]/8g + M\x{442} + / End of testinput4 / diff --git a/ext/pcre/pcrelib/testdata/testinput5 b/ext/pcre/pcrelib/testdata/testinput5 index aa0123b3ea..75a4857b4d 100644 --- a/ext/pcre/pcrelib/testdata/testinput5 +++ b/ext/pcre/pcrelib/testdata/testinput5 @@ -312,7 +312,7 @@ can't tell the difference.) --/ /abc.$/mgx8<any> abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9 -/^a\Rb/8 +/^a\Rb/8<bsr_unicode> a\nb a\rb a\r\nb @@ -324,7 +324,7 @@ can't tell the difference.) --/ ** Failers a\n\rb -/^a\R*b/8 +/^a\R*b/8<bsr_unicode> ab a\nb a\rb @@ -335,7 +335,7 @@ can't tell the difference.) --/ a\n\rb a\n\r\x{85}\x0cb -/^a\R+b/8 +/^a\R+b/8<bsr_unicode> a\nb a\rb a\r\nb @@ -347,7 +347,7 @@ can't tell the difference.) --/ ** Failers ab -/^a\R{1,3}b/8 +/^a\R{1,3}b/8<bsr_unicode> a\nb a\n\rb a\n\r\x{85}b @@ -417,4 +417,48 @@ can't tell the difference.) --/ \x{7fffffff} \x{7fffffff}\? +/a\Rb/I8<bsr_anycrlf> + a\rb + a\nb + a\r\nb + ** Failers + a\x{85}b + a\x0bb + +/a\Rb/I8<bsr_unicode> + a\rb + a\nb + a\r\nb + a\x{85}b + a\x0bb + ** Failers + a\x{85}b\<bsr_anycrlf> + a\x0bb\<bsr_anycrlf> + +/a\R?b/I8<bsr_anycrlf> + a\rb + a\nb + a\r\nb + ** Failers + a\x{85}b + a\x0bb + +/a\R?b/I8<bsr_unicode> + a\rb + a\nb + a\r\nb + a\x{85}b + a\x0bb + ** Failers + a\x{85}b\<bsr_anycrlf> + a\x0bb\<bsr_anycrlf> + +/.*a.*=.b.*/8<ANY> + QQQ\x{2029}ABCaXYZ=!bPQR + ** Failers + a\x{2029}b + \x61\xe2\x80\xa9\x62 + +/[[:a\x{100}b:]]/8 + / End of testinput5 / diff --git a/ext/pcre/pcrelib/testdata/testinput6 b/ext/pcre/pcrelib/testdata/testinput6 index 53d2b328ff..0204a7acae 100644 --- a/ext/pcre/pcrelib/testdata/testinput6 +++ b/ext/pcre/pcrelib/testdata/testinput6 @@ -832,4 +832,79 @@ was broken in all cases./ /(\p{Yi}{0,3}+\277)*/ +/^[\p{Arabic}]/8 + \x{60e} + \x{656} + \x{657} + \x{658} + \x{659} + \x{65a} + \x{65b} + \x{65c} + \x{65d} + \x{65e} + \x{66a} + \x{6e9} + \x{6ef} + \x{6fa} + ** Failers + \x{600} + \x{650} + \x{651} + \x{652} + \x{653} + \x{654} + \x{655} + \x{65f} + +/^\p{Cyrillic}/8 + \x{1d2b} + +/^\p{Common}/8 + \x{589} + \x{60c} + \x{61f} + \x{964} + \x{965} + \x{970} + +/^\p{Inherited}/8 + \x{64b} + \x{654} + \x{655} + \x{200c} + ** Failers + \x{64a} + \x{656} + +/^\p{Shavian}/8 + \x{10450} + \x{1047f} + +/^\p{Deseret}/8 + \x{10400} + \x{1044f} + +/^\p{Osmanya}/8 + \x{10480} + \x{1049d} + \x{104a0} + \x{104a9} + ** Failers + \x{1049e} + \x{1049f} + \x{104aa} + +/\p{Zl}{2,3}+/8BZ + \xe2\x80\xa8\xe2\x80\xa8 + \x{2028}\x{2028}\x{2028} + +/\p{Zl}/8BZ + +/\p{Lu}{3}+/8BZ + +/\pL{2}+/8BZ + +/\p{Cc}{2}+/8BZ + / End of testinput6 / diff --git a/ext/pcre/pcrelib/testdata/testinput7 b/ext/pcre/pcrelib/testdata/testinput7 index 76524b725a..221bc938b1 100644 --- a/ext/pcre/pcrelib/testdata/testinput7 +++ b/ext/pcre/pcrelib/testdata/testinput7 @@ -4156,7 +4156,7 @@ /abc.$/mgx<any> abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x85 abc7\x{2028} abc8\x{2029} abc9 -/^a\Rb/ +/^a\Rb/<bsr_unicode> a\nb a\rb a\r\nb @@ -4166,7 +4166,7 @@ ** Failers a\n\rb -/^a\R*b/ +/^a\R*b/<bsr_unicode> ab a\nb a\rb @@ -4177,7 +4177,7 @@ a\n\rb a\n\r\x85\x0cb -/^a\R+b/ +/^a\R+b/<bsr_unicode> a\nb a\rb a\r\nb @@ -4189,7 +4189,7 @@ ** Failers ab -/^a\R{1,3}b/ +/^a\R{1,3}b/<bsr_unicode> a\nb a\n\rb a\n\r\x85b @@ -4201,7 +4201,7 @@ a\n\n\n\rb a\r -/^a[\R]b/ +/^a[\R]b/<bsr_unicode> aRb ** Failers a\nb @@ -4310,4 +4310,59 @@ /(\r|\n)A/<crlf> \r\nA +/a\Rb/I<bsr_anycrlf> + a\rb + a\nb + a\r\nb + ** Failers + a\x85b + a\x0bb + +/a\Rb/I<bsr_unicode> + a\rb + a\nb + a\r\nb + a\x85b + a\x0bb + ** Failers + a\x85b\<bsr_anycrlf> + a\x0bb\<bsr_anycrlf> + +/a\R?b/I<bsr_anycrlf> + a\rb + a\nb + a\r\nb + ** Failers + a\x85b + a\x0bb + +/a\R?b/I<bsr_unicode> + a\rb + a\nb + a\r\nb + a\x85b + a\x0bb + ** Failers + a\x85b\<bsr_anycrlf> + a\x0bb\<bsr_anycrlf> + +/a\R{2,4}b/I<bsr_anycrlf> + a\r\n\nb + a\n\r\rb + a\r\n\r\n\r\n\r\nb + ** Failers + a\x85\85b + a\x0b\0bb + +/a\R{2,4}b/I<bsr_unicode> + a\r\rb + a\n\n\nb + a\r\n\n\r\rb + a\x85\85b + a\x0b\0bb + ** Failers + a\r\r\r\r\rb + a\x85\85b\<bsr_anycrlf> + a\x0b\0bb\<bsr_anycrlf> + / End of testinput7 / diff --git a/ext/pcre/pcrelib/testdata/testinput8 b/ext/pcre/pcrelib/testdata/testinput8 index 61e70e55ac..5bcfab5c08 100644 --- a/ext/pcre/pcrelib/testdata/testinput8 +++ b/ext/pcre/pcrelib/testdata/testinput8 @@ -543,7 +543,7 @@ /abc.$/mgx8<any> abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9 -/^a\Rb/8 +/^a\Rb/8<bsr_unicode> a\nb a\rb a\r\nb @@ -555,7 +555,7 @@ ** Failers a\n\rb -/^a\R*b/8 +/^a\R*b/8<bsr_unicode> ab a\nb a\rb @@ -566,7 +566,7 @@ a\n\rb a\n\r\x{85}\x0cb -/^a\R+b/8 +/^a\R+b/8<bsr_unicode> a\nb a\rb a\r\nb @@ -578,7 +578,7 @@ ** Failers ab -/^a\R{1,3}b/8 +/^a\R{1,3}b/8<bsr_unicode> a\nb a\n\rb a\n\r\x{85}b @@ -628,4 +628,40 @@ ** Failers \x09\x{200a}\x{a0}\x{2028}\x0b +/a\Rb/I8<bsr_anycrlf> + a\rb + a\nb + a\r\nb + ** Failers + a\x{85}b + a\x0bb + +/a\Rb/I8<bsr_unicode> + a\rb + a\nb + a\r\nb + a\x{85}b + a\x0bb + ** Failers + a\x{85}b\<bsr_anycrlf> + a\x0bb\<bsr_anycrlf> + +/a\R?b/I8<bsr_anycrlf> + a\rb + a\nb + a\r\nb + ** Failers + a\x{85}b + a\x0bb + +/a\R?b/I8<bsr_unicode> + a\rb + a\nb + a\r\nb + a\x{85}b + a\x0bb + ** Failers + a\x{85}b\<bsr_anycrlf> + a\x0bb\<bsr_anycrlf> + / End of testinput 8 / diff --git a/ext/pcre/pcrelib/testdata/testoutput1 b/ext/pcre/pcrelib/testdata/testoutput1 index 4c0e680d11..9b8b268edb 100644 --- a/ext/pcre/pcrelib/testdata/testoutput1 +++ b/ext/pcre/pcrelib/testdata/testoutput1 @@ -5551,12 +5551,6 @@ No match 0: b 1: b -/(?(1)a|b)/ - -/(?(1)b|a)/ - a - 0: a - /(x)?(?(1)a|b)/ *** Failers No match @@ -6593,4 +6587,22 @@ No match 0: 1: +/[[:abcd:xyz]]/ + a] + 0: a] + :] + 0: :] + +/[abc[:x\]pqr]/ + a + 0: a + [ + 0: [ + : + 0: : + ] + 0: ] + p + 0: p + / End of testinput1 / diff --git a/ext/pcre/pcrelib/testdata/testoutput2 b/ext/pcre/pcrelib/testdata/testoutput2 index a1c071d8b0..dba227f503 100644 --- a/ext/pcre/pcrelib/testdata/testoutput2 +++ b/ext/pcre/pcrelib/testdata/testoutput2 @@ -109,7 +109,7 @@ Failed: missing ) at offset 4 Failed: missing ) after comment at offset 7 /(?z)abc/ -Failed: unrecognized character after (? at offset 2 +Failed: unrecognized character after (? or (?- at offset 2 /.*b/I Capturing subpattern count = 0 @@ -166,7 +166,6 @@ Starting byte set: a b c d /(a|[^\dZ])/IS Capturing subpattern count = 1 -Contains explicit CR or LF match No options No first char No need char @@ -311,7 +310,7 @@ No match No match /ab(?z)cd/ -Failed: unrecognized character after (? at offset 4 +Failed: unrecognized character after (? or (?- at offset 4 /^abc|def/I Capturing subpattern count = 0 @@ -403,7 +402,6 @@ Failed: missing terminating ] for character class at offset 4 /[^aeiou ]{3,}/I Capturing subpattern count = 0 Partial matching not supported -Contains explicit CR or LF match No options No first char No need char @@ -948,26 +946,23 @@ Failed: missing ) at offset 4 Failed: unrecognized character after (?< at offset 3 /a(?{)b/ -Failed: unrecognized character after (? at offset 3 +Failed: unrecognized character after (? or (?- at offset 3 /a(?{{})b/ -Failed: unrecognized character after (? at offset 3 +Failed: unrecognized character after (? or (?- at offset 3 /a(?{}})b/ -Failed: unrecognized character after (? at offset 3 +Failed: unrecognized character after (? or (?- at offset 3 /a(?{"{"})b/ -Failed: unrecognized character after (? at offset 3 +Failed: unrecognized character after (? or (?- at offset 3 /a(?{"{"}})b/ -Failed: unrecognized character after (? at offset 3 +Failed: unrecognized character after (? or (?- at offset 3 /(?(1?)a|b)/ Failed: malformed number or name after (?( at offset 4 -/(?(1)a|b|c)/ -Failed: conditional group contains more than two branches at offset 10 - /[a[:xyz:/ Failed: missing terminating ] for character class at offset 8 @@ -1440,7 +1435,6 @@ Need char = 'a' /"([^\\"]+|\\.)*"/I Capturing subpattern count = 1 Partial matching not supported -Contains explicit CR or LF match No options First char = '"' Need char = '"' @@ -1602,32 +1596,32 @@ No options First char = 'a' Need char = 'b' -/a(?(1)b)/I -Capturing subpattern count = 0 +/a(?(1)b)(.)/I +Capturing subpattern count = 1 No options First char = 'a' No need char -/a(?(1)bag|big)/I -Capturing subpattern count = 0 +/a(?(1)bag|big)(.)/I +Capturing subpattern count = 1 No options First char = 'a' Need char = 'g' -/a(?(1)bag|big)*/I -Capturing subpattern count = 0 +/a(?(1)bag|big)*(.)/I +Capturing subpattern count = 1 No options First char = 'a' No need char -/a(?(1)bag|big)+/I -Capturing subpattern count = 0 +/a(?(1)bag|big)+(.)/I +Capturing subpattern count = 1 No options First char = 'a' Need char = 'g' -/a(?(1)b..|b..)/I -Capturing subpattern count = 0 +/a(?(1)b..|b..)(.)/I +Capturing subpattern count = 1 No options First char = 'a' Need char = 'b' @@ -1716,7 +1710,6 @@ Study returned NULL /Ix Capturing subpattern count = 0 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1746,7 +1739,6 @@ No match /\( ( (?>[^()]+) | (?R) )* \) /Ixg Capturing subpattern count = 1 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1762,7 +1754,6 @@ Need char = ')' /\( (?: (?>[^()]+) | (?R) ) \) /Ix Capturing subpattern count = 0 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1782,7 +1773,6 @@ No match /\( (?: (?>[^()]+) | (?R) )? \) /Ix Capturing subpattern count = 0 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1794,7 +1784,6 @@ Need char = ')' /\( ( (?>[^()]+) | (?R) )* \) /Ix Capturing subpattern count = 1 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1805,7 +1794,6 @@ Need char = ')' /\( ( ( (?>[^()]+) | (?R) )* ) \) /Ix Capturing subpattern count = 2 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1817,7 +1805,6 @@ Need char = ')' /\( (123)? ( ( (?>[^()]+) | (?R) )* ) \) /Ix Capturing subpattern count = 3 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1835,7 +1822,6 @@ Need char = ')' /\( ( (123)? ( (?>[^()]+) | (?R) )* ) \) /Ix Capturing subpattern count = 3 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1853,7 +1839,6 @@ Need char = ')' /\( (((((((((( ( (?>[^()]+) | (?R) )* )))))))))) \) /Ix Capturing subpattern count = 11 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1874,7 +1859,6 @@ Need char = ')' /\( ( ( (?>[^()<>]+) | ((?>[^()]+)) | (?R) )* ) \) /Ix Capturing subpattern count = 3 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1887,7 +1871,6 @@ Need char = ')' /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /Ix Capturing subpattern count = 3 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '(' Need char = ')' @@ -1919,12 +1902,11 @@ No need char ------------------------------------------------------------------ Bra ^ - [\x00-/:-@[-`{-\xff] + [\x00-/:-@[-`{-\xff] (neg) Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: anchored No first char No need char @@ -1946,12 +1928,11 @@ No need char ------------------------------------------------------------------ Bra ^ - [\x00-@[-`{-\xff] + [\x00-@[-`{-\xff] (neg) Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: anchored No first char No need char @@ -1973,7 +1954,6 @@ 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 End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: anchored No first char No need char @@ -1982,7 +1962,7 @@ No need char ------------------------------------------------------------------ Bra ^ - [\x80-\xff] + [\x80-\xff] (neg) Ket End ------------------------------------------------------------------ @@ -2008,12 +1988,11 @@ No need char ------------------------------------------------------------------ Bra ^ - [\x00-\x08\x0a-\x1f!-\xff] + [\x00-\x08\x0a-\x1f!-\xff] (neg) Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: anchored No first char No need char @@ -2035,7 +2014,6 @@ Starting byte set: \x09 \x0a \x0b \x0c \x0d \x20 End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: anchored No first char No need char @@ -2114,7 +2092,6 @@ No need char End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: anchored No first char No need char @@ -2162,7 +2139,7 @@ No need char ------------------------------------------------------------------ Bra ^ - [ -~\x80-\xff] + [ -~\x80-\xff] (neg) Ket End ------------------------------------------------------------------ @@ -2175,12 +2152,11 @@ No need char ------------------------------------------------------------------ Bra ^ - [\x00-/12:-\xff] + [\x00-/12:-\xff] (neg) Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: anchored No first char No need char @@ -2189,12 +2165,11 @@ No need char ------------------------------------------------------------------ Bra ^ - [\x00-\x08\x0a-\x1f!-\xff] + [\x00-\x08\x0a-\x1f!-\xff] (neg) Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: anchored No first char No need char @@ -2758,7 +2733,7 @@ No need char /[\S]/DZ ------------------------------------------------------------------ Bra - [\x00-\x08\x0b\x0e-\x1f!-\xff] + [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg) Ket End ------------------------------------------------------------------ @@ -3083,7 +3058,6 @@ Need char = 'b' /([^()]++|\([^()]*\))+/I Capturing subpattern count = 1 Partial matching not supported -Contains explicit CR or LF match No options No first char No need char @@ -3094,7 +3068,6 @@ No need char /\(([^()]++|\([^()]+\))+\)/I Capturing subpattern count = 1 Partial matching not supported -Contains explicit CR or LF match No options First char = '(' Need char = ')' @@ -3295,7 +3268,6 @@ No need char End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match No options No first char No need char @@ -3308,7 +3280,6 @@ No need char End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match No options No first char No need char @@ -3316,7 +3287,6 @@ No need char /< (?: (?(R) \d++ | [^<>]*+) | (?R)) * >/Ix Capturing subpattern count = 0 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '<' Need char = '>' @@ -3468,26 +3438,26 @@ No options No first char Need char = 'a' -/(?(1)ab|ac)/I -Capturing subpattern count = 0 +/(?(1)ab|ac)(.)/I +Capturing subpattern count = 1 No options First char = 'a' No need char -/(?(1)abz|acz)/I -Capturing subpattern count = 0 +/(?(1)abz|acz)(.)/I +Capturing subpattern count = 1 No options First char = 'a' Need char = 'z' -/(?(1)abz)/I -Capturing subpattern count = 0 +/(?(1)abz)(.)/I +Capturing subpattern count = 1 No options No first char No need char -/(?(1)abz)123/I -Capturing subpattern count = 0 +/(?(1)abz)(1)23/I +Capturing subpattern count = 1 No options No first char Need char = '3' @@ -3531,7 +3501,6 @@ Starting byte set: a b /[^a]/I Capturing subpattern count = 0 -Contains explicit CR or LF match No options No first char No need char @@ -3991,7 +3960,6 @@ Failed: recursive call could loop indefinitely at offset 16 /^([^()]|\((?1)*\))*$/I Capturing subpattern count = 1 -Contains explicit CR or LF match Options: anchored No first char No need char @@ -4011,7 +3979,6 @@ No match /^>abc>([^()]|\((?1)*\))*<xyz<$/I Capturing subpattern count = 1 -Contains explicit CR or LF match Options: anchored No first char Need char = '<' @@ -4139,7 +4106,6 @@ No match /((< (?: (?(R) \d++ | [^<>]*+) | (?2)) * >))/Ix Capturing subpattern count = 2 Partial matching not supported -Contains explicit CR or LF match Options: extended First char = '<' Need char = '>' @@ -5958,7 +5924,6 @@ Matched, but too many substrings /[^()]*(?:\((?R)\)[^()]*)*/I Capturing subpattern count = 0 Partial matching not supported -Contains explicit CR or LF match No options No first char No need char @@ -5972,7 +5937,6 @@ No need char /[^()]*(?:\((?>(?R))\)[^()]*)*/I Capturing subpattern count = 0 Partial matching not supported -Contains explicit CR or LF match No options No first char No need char @@ -5984,7 +5948,6 @@ No need char /[^()]*(?:\((?R)\))*[^()]*/I Capturing subpattern count = 0 Partial matching not supported -Contains explicit CR or LF match No options No first char No need char @@ -5996,7 +5959,6 @@ No need char /(?:\((?R)\))*[^()]*/I Capturing subpattern count = 0 Partial matching not supported -Contains explicit CR or LF match No options No first char No need char @@ -6010,7 +5972,6 @@ No need char /(?:\((?R)\))|[^()]*/I Capturing subpattern count = 0 Partial matching not supported -Contains explicit CR or LF match No options No first char No need char @@ -6205,6 +6166,7 @@ Named capturing subpatterns: A 2 A 3 Options: anchored dupnames +Duplicate name status changes No first char No need char a1b\CA @@ -7913,7 +7875,7 @@ No match /a/<any><crlf> Failed: inconsistent NEWLINE options at offset 0 -/^a\Rb/ +/^a\Rb/<bsr_unicode> a\nb 0: a\x0ab a\rb @@ -7931,7 +7893,7 @@ No match a\n\rb No match -/^a\R*b/ +/^a\R*b/<bsr_unicode> ab 0: ab a\nb @@ -7951,7 +7913,7 @@ No match a\n\r\x85\x0cb 0: a\x0a\x0d\x85\x0cb -/^a\R+b/ +/^a\R+b/<bsr_unicode> a\nb 0: a\x0ab a\rb @@ -7973,7 +7935,7 @@ No match ab No match -/^a\R{1,3}b/ +/^a\R{1,3}b/<bsr_unicode> a\nb 0: a\x0ab a\n\rb @@ -7995,7 +7957,7 @@ No match a\r No match -/^a[\R]b/ +/^a[\R]b/<bsr_unicode> aRb 0: aRb ** Failers @@ -8343,7 +8305,7 @@ Failed: reference to non-existent subpattern at offset 6 /((?(-2)a))/BZ Failed: reference to non-existent subpattern at offset 7 -/^(?(+1)X|Y)/BZ +/^(?(+1)X|Y)(.)/BZ ------------------------------------------------------------------ Bra ^ @@ -8353,11 +8315,15 @@ Failed: reference to non-existent subpattern at offset 7 Alt Y Ket + CBra 1 + Any + Ket Ket End ------------------------------------------------------------------ - Y - 0: Y + Y! + 0: Y! + 1: ! /(foo)\Kbar/ foobar @@ -9168,4 +9134,255 @@ No match a\x85b No match +/a\Rb/I<bsr_anycrlf> +Capturing subpattern count = 0 +Options: bsr_anycrlf +First char = 'a' +Need char = 'b' + a\rb + 0: a\x0db + a\nb + 0: a\x0ab + a\r\nb + 0: a\x0d\x0ab + ** Failers +No match + a\x85b +No match + a\x0bb +No match + +/a\Rb/I<bsr_unicode> +Capturing subpattern count = 0 +Options: bsr_unicode +First char = 'a' +Need char = 'b' + a\rb + 0: a\x0db + a\nb + 0: a\x0ab + a\r\nb + 0: a\x0d\x0ab + a\x85b + 0: a\x85b + a\x0bb + 0: a\x0bb + ** Failers +No match + a\x85b\<bsr_anycrlf> +No match + a\x0bb\<bsr_anycrlf> +No match + +/a\R?b/I<bsr_anycrlf> +Capturing subpattern count = 0 +Options: bsr_anycrlf +First char = 'a' +Need char = 'b' + a\rb + 0: a\x0db + a\nb + 0: a\x0ab + a\r\nb + 0: a\x0d\x0ab + ** Failers +No match + a\x85b +No match + a\x0bb +No match + +/a\R?b/I<bsr_unicode> +Capturing subpattern count = 0 +Options: bsr_unicode +First char = 'a' +Need char = 'b' + a\rb + 0: a\x0db + a\nb + 0: a\x0ab + a\r\nb + 0: a\x0d\x0ab + a\x85b + 0: a\x85b + a\x0bb + 0: a\x0bb + ** Failers +No match + a\x85b\<bsr_anycrlf> +No match + a\x0bb\<bsr_anycrlf> +No match + +/a\R{2,4}b/I<bsr_anycrlf> +Capturing subpattern count = 0 +Partial matching not supported +Options: bsr_anycrlf +First char = 'a' +Need char = 'b' + a\r\n\nb + 0: a\x0d\x0a\x0ab + a\n\r\rb + 0: a\x0a\x0d\x0db + a\r\n\r\n\r\n\r\nb + 0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab + ** Failers +No match + a\x85\85b +No match + a\x0b\0bb +No match + +/a\R{2,4}b/I<bsr_unicode> +Capturing subpattern count = 0 +Partial matching not supported +Options: bsr_unicode +First char = 'a' +Need char = 'b' + a\r\rb + 0: a\x0d\x0db + a\n\n\nb + 0: a\x0a\x0a\x0ab + a\r\n\n\r\rb + 0: a\x0d\x0a\x0a\x0d\x0db + a\x85\85b +No match + a\x0b\0bb +No match + ** Failers +No match + a\r\r\r\r\rb +No match + a\x85\85b\<bsr_anycrlf> +No match + a\x0b\0bb\<bsr_anycrlf> +No match + +/(*BSR_ANYCRLF)a\Rb/I +Capturing subpattern count = 0 +Options: bsr_anycrlf +First char = 'a' +Need char = 'b' + a\nb + 0: a\x0ab + a\rb + 0: a\x0db + +/(*BSR_UNICODE)a\Rb/I +Capturing subpattern count = 0 +Options: bsr_unicode +First char = 'a' +Need char = 'b' + a\x85b + 0: a\x85b + +/(*BSR_ANYCRLF)(*CRLF)a\Rb/I +Capturing subpattern count = 0 +Options: bsr_anycrlf +Forced newline sequence: CRLF +First char = 'a' +Need char = 'b' + a\nb + 0: a\x0ab + a\rb + 0: a\x0db + +/(*CRLF)(*BSR_UNICODE)a\Rb/I +Capturing subpattern count = 0 +Options: bsr_unicode +Forced newline sequence: CRLF +First char = 'a' +Need char = 'b' + a\x85b + 0: a\x85b + +/(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I +Capturing subpattern count = 0 +Options: bsr_anycrlf +Forced newline sequence: CR +First char = 'a' +Need char = 'b' + +/(?<a>)(?&)/ +Failed: subpattern name expected at offset 9 + +/(?<abc>)(?&a)/ +Failed: reference to non-existent subpattern at offset 12 + +/(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/ +Failed: reference to non-existent subpattern at offset 32 + +/(?+-a)/ +Failed: digit expected after (?+ at offset 3 + +/(?-+a)/ +Failed: unrecognized character after (? or (?- at offset 3 + +/(?(-1))/ +Failed: reference to non-existent subpattern at offset 6 + +/(?(+10))/ +Failed: reference to non-existent subpattern at offset 7 + +/(?(10))/ +Failed: reference to non-existent subpattern at offset 6 + +/(?(+2))()()/ + +/(?(2))()()/ + +/\k''/ +Failed: subpattern name expected at offset 3 + +/\k<>/ +Failed: subpattern name expected at offset 3 + +/\k{}/ +Failed: subpattern name expected at offset 3 + +/(?P=)/ +Failed: subpattern name expected at offset 4 + +/(?P>)/ +Failed: subpattern name expected at offset 4 + +/(?!\w)(?R)/ +Failed: recursive call could loop indefinitely at offset 9 + +/(?=\w)(?R)/ +Failed: recursive call could loop indefinitely at offset 9 + +/(?<!\w)(?R)/ +Failed: recursive call could loop indefinitely at offset 10 + +/(?<=\w)(?R)/ +Failed: recursive call could loop indefinitely at offset 10 + +/[[:foo:]]/ +Failed: unknown POSIX class name at offset 3 + +/[[:1234:]]/ +Failed: unknown POSIX class name at offset 3 + +/[[:f\oo:]]/ +Failed: unknown POSIX class name at offset 3 + +/[[: :]]/ +Failed: unknown POSIX class name at offset 3 + +/[[:...:]]/ +Failed: unknown POSIX class name at offset 3 + +/[[:l\ower:]]/ +Failed: unknown POSIX class name at offset 3 + +/[[:abc\:]]/ +Failed: unknown POSIX class name at offset 3 + +/[abc[:x\]pqr:]]/ +Failed: unknown POSIX class name at offset 6 + +/[[:a\dz:]]/ +Failed: unknown POSIX class name at offset 3 + / End of testinput2 / diff --git a/ext/pcre/pcrelib/testdata/testoutput4 b/ext/pcre/pcrelib/testdata/testoutput4 index b49d4f98ae..cb8400f9ef 100644 --- a/ext/pcre/pcrelib/testdata/testoutput4 +++ b/ext/pcre/pcrelib/testdata/testoutput4 @@ -938,4 +938,135 @@ No match 0: +\x{a3} 0: == +/\S/8g + \x{442}\x{435}\x{441}\x{442} + 0: \x{442} + 0: \x{435} + 0: \x{441} + 0: \x{442} + +/[\S]/8g + \x{442}\x{435}\x{441}\x{442} + 0: \x{442} + 0: \x{435} + 0: \x{441} + 0: \x{442} + +/\D/8g + \x{442}\x{435}\x{441}\x{442} + 0: \x{442} + 0: \x{435} + 0: \x{441} + 0: \x{442} + +/[\D]/8g + \x{442}\x{435}\x{441}\x{442} + 0: \x{442} + 0: \x{435} + 0: \x{441} + 0: \x{442} + +/\W/8g + \x{2442}\x{2435}\x{2441}\x{2442} + 0: \x{2442} + 0: \x{2435} + 0: \x{2441} + 0: \x{2442} + +/[\W]/8g + \x{2442}\x{2435}\x{2441}\x{2442} + 0: \x{2442} + 0: \x{2435} + 0: \x{2441} + 0: \x{2442} + +/[\S\s]*/8 + abc\n\r\x{442}\x{435}\x{441}\x{442}xyz + 0: abc\x{0a}\x{0d}\x{442}\x{435}\x{441}\x{442}xyz + +/[\x{41f}\S]/8g + \x{442}\x{435}\x{441}\x{442} + 0: \x{442} + 0: \x{435} + 0: \x{441} + 0: \x{442} + +/.[^\S]./8g + abc def\x{442}\x{443}xyz\npqr + 0: c d + 0: z\x{0a}p + +/.[^\S\n]./8g + abc def\x{442}\x{443}xyz\npqr + 0: c d + +/[[:^alnum:]]/8g + +\x{2442} + 0: + + 0: \x{2442} + +/[[:^alpha:]]/8g + +\x{2442} + 0: + + 0: \x{2442} + +/[[:^ascii:]]/8g + A\x{442} + 0: \x{442} + +/[[:^blank:]]/8g + A\x{442} + 0: A + 0: \x{442} + +/[[:^cntrl:]]/8g + A\x{442} + 0: A + 0: \x{442} + +/[[:^digit:]]/8g + A\x{442} + 0: A + 0: \x{442} + +/[[:^graph:]]/8g + \x19\x{e01ff} + 0: \x{19} + 0: \x{e01ff} + +/[[:^lower:]]/8g + A\x{422} + 0: A + 0: \x{422} + +/[[:^print:]]/8g + \x{19}\x{e01ff} + 0: \x{19} + 0: \x{e01ff} + +/[[:^punct:]]/8g + A\x{442} + 0: A + 0: \x{442} + +/[[:^space:]]/8g + A\x{442} + 0: A + 0: \x{442} + +/[[:^upper:]]/8g + a\x{442} + 0: a + 0: \x{442} + +/[[:^word:]]/8g + +\x{2442} + 0: + + 0: \x{2442} + +/[[:^xdigit:]]/8g + M\x{442} + 0: M + 0: \x{442} + / End of testinput4 / diff --git a/ext/pcre/pcrelib/testdata/testoutput5 b/ext/pcre/pcrelib/testdata/testoutput5 index 2d9ee69495..abbe1c87de 100644 --- a/ext/pcre/pcrelib/testdata/testoutput5 +++ b/ext/pcre/pcrelib/testdata/testoutput5 @@ -364,7 +364,6 @@ No match End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: anchored utf8 No first char No need char @@ -387,7 +386,6 @@ No match End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: utf8 No first char No need char @@ -655,7 +653,6 @@ No need char End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match No options No first char No need char @@ -668,7 +665,6 @@ No need char End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: utf8 No first char No need char @@ -792,7 +788,6 @@ Need char = 191 End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match No options No first char No need char @@ -805,7 +800,6 @@ No need char End ------------------------------------------------------------------ Capturing subpattern count = 0 -Contains explicit CR or LF match Options: utf8 No first char No need char @@ -942,7 +936,6 @@ Need char = 'z' End ------------------------------------------------------------------ Capturing subpattern count = 1 -Contains explicit CR or LF match Options: utf8 No first char Need char = 'z' @@ -1314,7 +1307,7 @@ Failed: missing terminating ] for character class at offset 15 0: abc8 0: abc9 -/^a\Rb/8 +/^a\Rb/8<bsr_unicode> a\nb 0: a\x{0a}b a\rb @@ -1336,7 +1329,7 @@ No match a\n\rb No match -/^a\R*b/8 +/^a\R*b/8<bsr_unicode> ab 0: ab a\nb @@ -1356,7 +1349,7 @@ No match a\n\r\x{85}\x0cb 0: a\x{0a}\x{0d}\x{85}\x{0c}b -/^a\R+b/8 +/^a\R+b/8<bsr_unicode> a\nb 0: a\x{0a}b a\rb @@ -1378,7 +1371,7 @@ No match ab No match -/^a\R{1,3}b/8 +/^a\R{1,3}b/8<bsr_unicode> a\nb 0: a\x{0a}b a\n\rb @@ -1522,4 +1515,97 @@ Error -10 \x{7fffffff}\? No match +/a\Rb/I8<bsr_anycrlf> +Capturing subpattern count = 0 +Options: bsr_anycrlf utf8 +First char = 'a' +Need char = 'b' + a\rb + 0: a\x{0d}b + a\nb + 0: a\x{0a}b + a\r\nb + 0: a\x{0d}\x{0a}b + ** Failers +No match + a\x{85}b +No match + a\x0bb +No match + +/a\Rb/I8<bsr_unicode> +Capturing subpattern count = 0 +Options: bsr_unicode utf8 +First char = 'a' +Need char = 'b' + a\rb + 0: a\x{0d}b + a\nb + 0: a\x{0a}b + a\r\nb + 0: a\x{0d}\x{0a}b + a\x{85}b + 0: a\x{85}b + a\x0bb + 0: a\x{0b}b + ** Failers +No match + a\x{85}b\<bsr_anycrlf> +No match + a\x0bb\<bsr_anycrlf> +No match + +/a\R?b/I8<bsr_anycrlf> +Capturing subpattern count = 0 +Options: bsr_anycrlf utf8 +First char = 'a' +Need char = 'b' + a\rb + 0: a\x{0d}b + a\nb + 0: a\x{0a}b + a\r\nb + 0: a\x{0d}\x{0a}b + ** Failers +No match + a\x{85}b +No match + a\x0bb +No match + +/a\R?b/I8<bsr_unicode> +Capturing subpattern count = 0 +Options: bsr_unicode utf8 +First char = 'a' +Need char = 'b' + a\rb + 0: a\x{0d}b + a\nb + 0: a\x{0a}b + a\r\nb + 0: a\x{0d}\x{0a}b + a\x{85}b + 0: a\x{85}b + a\x0bb + 0: a\x{0b}b + ** Failers +No match + a\x{85}b\<bsr_anycrlf> +No match + a\x0bb\<bsr_anycrlf> +No match + +/.*a.*=.b.*/8<ANY> + QQQ\x{2029}ABCaXYZ=!bPQR + 0: ABCaXYZ=!bPQR + ** Failers +No match + a\x{2029}b +No match + \x61\xe2\x80\xa9\x62 +No match + +/[[:a\x{100}b:]]/8 +Failed: unknown POSIX class name at offset 3 + / End of testinput5 / diff --git a/ext/pcre/pcrelib/testdata/testoutput6 b/ext/pcre/pcrelib/testdata/testoutput6 index 0a58b844f1..db825b08c1 100644 --- a/ext/pcre/pcrelib/testdata/testoutput6 +++ b/ext/pcre/pcrelib/testdata/testoutput6 @@ -1522,4 +1522,161 @@ No match /(\p{Yi}{0,3}+\277)*/ +/^[\p{Arabic}]/8 + \x{60e} + 0: \x{60e} + \x{656} + 0: \x{656} + \x{657} + 0: \x{657} + \x{658} + 0: \x{658} + \x{659} + 0: \x{659} + \x{65a} + 0: \x{65a} + \x{65b} + 0: \x{65b} + \x{65c} + 0: \x{65c} + \x{65d} + 0: \x{65d} + \x{65e} + 0: \x{65e} + \x{66a} + 0: \x{66a} + \x{6e9} + 0: \x{6e9} + \x{6ef} + 0: \x{6ef} + \x{6fa} + 0: \x{6fa} + ** Failers +No match + \x{600} +No match + \x{650} +No match + \x{651} +No match + \x{652} +No match + \x{653} +No match + \x{654} +No match + \x{655} +No match + \x{65f} +No match + +/^\p{Cyrillic}/8 + \x{1d2b} + 0: \x{1d2b} + +/^\p{Common}/8 + \x{589} + 0: \x{589} + \x{60c} + 0: \x{60c} + \x{61f} + 0: \x{61f} + \x{964} + 0: \x{964} + \x{965} + 0: \x{965} + \x{970} + 0: \x{970} + +/^\p{Inherited}/8 + \x{64b} + 0: \x{64b} + \x{654} + 0: \x{654} + \x{655} + 0: \x{655} + \x{200c} + 0: \x{200c} + ** Failers +No match + \x{64a} +No match + \x{656} +No match + +/^\p{Shavian}/8 + \x{10450} + 0: \x{10450} + \x{1047f} + 0: \x{1047f} + +/^\p{Deseret}/8 + \x{10400} + 0: \x{10400} + \x{1044f} + 0: \x{1044f} + +/^\p{Osmanya}/8 + \x{10480} + 0: \x{10480} + \x{1049d} + 0: \x{1049d} + \x{104a0} + 0: \x{104a0} + \x{104a9} + 0: \x{104a9} + ** Failers +No match + \x{1049e} +No match + \x{1049f} +No match + \x{104aa} +No match + +/\p{Zl}{2,3}+/8BZ +------------------------------------------------------------------ + Bra + prop Zl {2} + prop Zl ?+ + Ket + End +------------------------------------------------------------------ + \xe2\x80\xa8\xe2\x80\xa8 + 0: \x{2028}\x{2028} + \x{2028}\x{2028}\x{2028} + 0: \x{2028}\x{2028}\x{2028} + +/\p{Zl}/8BZ +------------------------------------------------------------------ + Bra + prop Zl + Ket + End +------------------------------------------------------------------ + +/\p{Lu}{3}+/8BZ +------------------------------------------------------------------ + Bra + prop Lu {3} + Ket + End +------------------------------------------------------------------ + +/\pL{2}+/8BZ +------------------------------------------------------------------ + Bra + prop L {2} + Ket + End +------------------------------------------------------------------ + +/\p{Cc}{2}+/8BZ +------------------------------------------------------------------ + Bra + prop Cc {2} + Ket + End +------------------------------------------------------------------ + / End of testinput6 / diff --git a/ext/pcre/pcrelib/testdata/testoutput7 b/ext/pcre/pcrelib/testdata/testoutput7 index 39c50750ec..d8e3833f39 100644 --- a/ext/pcre/pcrelib/testdata/testoutput7 +++ b/ext/pcre/pcrelib/testdata/testoutput7 @@ -6824,7 +6824,7 @@ No match 0: abc6 0: abc9 -/^a\Rb/ +/^a\Rb/<bsr_unicode> a\nb 0: a\x0ab a\rb @@ -6842,7 +6842,7 @@ No match a\n\rb No match -/^a\R*b/ +/^a\R*b/<bsr_unicode> ab 0: ab a\nb @@ -6862,7 +6862,7 @@ No match a\n\r\x85\x0cb 0: a\x0a\x0d\x85\x0cb -/^a\R+b/ +/^a\R+b/<bsr_unicode> a\nb 0: a\x0ab a\rb @@ -6884,7 +6884,7 @@ No match ab No match -/^a\R{1,3}b/ +/^a\R{1,3}b/<bsr_unicode> a\nb 0: a\x0ab a\n\rb @@ -6906,7 +6906,7 @@ No match a\r No match -/^a[\R]b/ +/^a[\R]b/<bsr_unicode> aRb 0: aRb ** Failers @@ -7088,4 +7088,128 @@ No match \r\nA 0: \x0aA +/a\Rb/I<bsr_anycrlf> +Capturing subpattern count = 0 +Options: bsr_anycrlf +First char = 'a' +Need char = 'b' + a\rb + 0: a\x0db + a\nb + 0: a\x0ab + a\r\nb + 0: a\x0d\x0ab + ** Failers +No match + a\x85b +No match + a\x0bb +No match + +/a\Rb/I<bsr_unicode> +Capturing subpattern count = 0 +Options: bsr_unicode +First char = 'a' +Need char = 'b' + a\rb + 0: a\x0db + a\nb + 0: a\x0ab + a\r\nb + 0: a\x0d\x0ab + a\x85b + 0: a\x85b + a\x0bb + 0: a\x0bb + ** Failers +No match + a\x85b\<bsr_anycrlf> +No match + a\x0bb\<bsr_anycrlf> +No match + +/a\R?b/I<bsr_anycrlf> +Capturing subpattern count = 0 +Options: bsr_anycrlf +First char = 'a' +Need char = 'b' + a\rb + 0: a\x0db + a\nb + 0: a\x0ab + a\r\nb + 0: a\x0d\x0ab + ** Failers +No match + a\x85b +No match + a\x0bb +No match + +/a\R?b/I<bsr_unicode> +Capturing subpattern count = 0 +Options: bsr_unicode +First char = 'a' +Need char = 'b' + a\rb + 0: a\x0db + a\nb + 0: a\x0ab + a\r\nb + 0: a\x0d\x0ab + a\x85b + 0: a\x85b + a\x0bb + 0: a\x0bb + ** Failers +No match + a\x85b\<bsr_anycrlf> +No match + a\x0bb\<bsr_anycrlf> +No match + +/a\R{2,4}b/I<bsr_anycrlf> +Capturing subpattern count = 0 +Partial matching not supported +Options: bsr_anycrlf +First char = 'a' +Need char = 'b' + a\r\n\nb + 0: a\x0d\x0a\x0ab + a\n\r\rb + 0: a\x0a\x0d\x0db + a\r\n\r\n\r\n\r\nb + 0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab + ** Failers +No match + a\x85\85b +No match + a\x0b\0bb +No match + +/a\R{2,4}b/I<bsr_unicode> +Capturing subpattern count = 0 +Partial matching not supported +Options: bsr_unicode +First char = 'a' +Need char = 'b' + a\r\rb + 0: a\x0d\x0db + a\n\n\nb + 0: a\x0a\x0a\x0ab + a\r\n\n\r\rb + 0: a\x0d\x0a\x0a\x0d\x0db + a\x85\85b +No match + a\x0b\0bb +No match + ** Failers +No match + a\r\r\r\r\rb +No match + a\x85\85b\<bsr_anycrlf> +No match + a\x0b\0bb\<bsr_anycrlf> +No match + / End of testinput7 / diff --git a/ext/pcre/pcrelib/testdata/testoutput8 b/ext/pcre/pcrelib/testdata/testoutput8 index db0f4ade3f..631e5b82f9 100644 --- a/ext/pcre/pcrelib/testdata/testoutput8 +++ b/ext/pcre/pcrelib/testdata/testoutput8 @@ -1052,7 +1052,7 @@ No match 0: abc8 0: abc9 -/^a\Rb/8 +/^a\Rb/8<bsr_unicode> a\nb 0: a\x{0a}b a\rb @@ -1074,7 +1074,7 @@ No match a\n\rb No match -/^a\R*b/8 +/^a\R*b/8<bsr_unicode> ab 0: ab a\nb @@ -1094,7 +1094,7 @@ No match a\n\r\x{85}\x0cb 0: a\x{0a}\x{0d}\x{85}\x{0c}b -/^a\R+b/8 +/^a\R+b/8<bsr_unicode> a\nb 0: a\x{0a}b a\rb @@ -1116,7 +1116,7 @@ No match ab No match -/^a\R{1,3}b/8 +/^a\R{1,3}b/8<bsr_unicode> a\nb 0: a\x{0a}b a\n\rb @@ -1204,4 +1204,84 @@ No match \x09\x{200a}\x{a0}\x{2028}\x0b No match +/a\Rb/I8<bsr_anycrlf> +Capturing subpattern count = 0 +Options: bsr_anycrlf utf8 +First char = 'a' +Need char = 'b' + a\rb + 0: a\x{0d}b + a\nb + 0: a\x{0a}b + a\r\nb + 0: a\x{0d}\x{0a}b + ** Failers +No match + a\x{85}b +No match + a\x0bb +No match + +/a\Rb/I8<bsr_unicode> +Capturing subpattern count = 0 +Options: bsr_unicode utf8 +First char = 'a' +Need char = 'b' + a\rb + 0: a\x{0d}b + a\nb + 0: a\x{0a}b + a\r\nb + 0: a\x{0d}\x{0a}b + a\x{85}b + 0: a\x{85}b + a\x0bb + 0: a\x{0b}b + ** Failers +No match + a\x{85}b\<bsr_anycrlf> +No match + a\x0bb\<bsr_anycrlf> +No match + +/a\R?b/I8<bsr_anycrlf> +Capturing subpattern count = 0 +Options: bsr_anycrlf utf8 +First char = 'a' +Need char = 'b' + a\rb + 0: a\x{0d}b + a\nb + 0: a\x{0a}b + a\r\nb + 0: a\x{0d}\x{0a}b + ** Failers +No match + a\x{85}b +No match + a\x0bb +No match + +/a\R?b/I8<bsr_unicode> +Capturing subpattern count = 0 +Options: bsr_unicode utf8 +First char = 'a' +Need char = 'b' + a\rb + 0: a\x{0d}b + a\nb + 0: a\x{0a}b + a\r\nb + 0: a\x{0d}\x{0a}b + a\x{85}b + 0: a\x{85}b + a\x0bb + 0: a\x{0b}b + ** Failers +No match + a\x{85}b\<bsr_anycrlf> +No match + a\x0bb\<bsr_anycrlf> +No match + / End of testinput 8 / |
