diff options
Diffstat (limited to 'ext/pcre/pcrelib/testdata/testoutput10')
-rw-r--r-- | ext/pcre/pcrelib/testdata/testoutput10 | 2840 |
1 files changed, 2102 insertions, 738 deletions
diff --git a/ext/pcre/pcrelib/testdata/testoutput10 b/ext/pcre/pcrelib/testdata/testoutput10 index b88474c7ba..5009d5dfe2 100644 --- a/ext/pcre/pcrelib/testdata/testoutput10 +++ b/ext/pcre/pcrelib/testdata/testoutput10 @@ -1,739 +1,2103 @@ -/-- These are a few representative patterns whose lengths and offsets are to be -shown when the link size is 2. This is just a doublecheck test to ensure the -sizes don't go horribly wrong when something is changed. The pattern contents -are all themselves checked in other tests. Unicode, including property support, -is required for these tests. --/ - -/((?i)b)/BM -Memory allocation (code space): 21 ------------------------------------------------------------------- - 0 17 Bra - 3 9 CBra 1 - 8 01 Opt - 10 NC b - 12 9 Ket - 15 00 Opt - 17 17 Ket - 20 End ------------------------------------------------------------------- - -/(?s)(.*X|^B)/BM -Memory allocation (code space): 25 ------------------------------------------------------------------- - 0 21 Bra - 3 9 CBra 1 - 8 AllAny* - 10 X - 12 6 Alt - 15 ^ - 16 B - 18 15 Ket - 21 21 Ket - 24 End ------------------------------------------------------------------- - -/(?s:.*X|^B)/BM -Memory allocation (code space): 29 ------------------------------------------------------------------- - 0 25 Bra - 3 9 Bra - 6 04 Opt - 8 AllAny* - 10 X - 12 8 Alt - 15 04 Opt - 17 ^ - 18 B - 20 17 Ket - 23 00 Opt - 25 25 Ket - 28 End ------------------------------------------------------------------- - -/^[[:alnum:]]/BM -Memory allocation (code space): 41 ------------------------------------------------------------------- - 0 37 Bra - 3 ^ - 4 [0-9A-Za-z] - 37 37 Ket - 40 End ------------------------------------------------------------------- - -/#/IxMD -Memory allocation (code space): 7 ------------------------------------------------------------------- - 0 3 Bra - 3 3 Ket - 6 End ------------------------------------------------------------------- -Capturing subpattern count = 0 -Options: extended -No first char -No need char - -/a#/IxMD -Memory allocation (code space): 9 ------------------------------------------------------------------- - 0 5 Bra - 3 a - 5 5 Ket - 8 End ------------------------------------------------------------------- -Capturing subpattern count = 0 -Options: extended -First char = 'a' -No need char - -/x?+/BM -Memory allocation (code space): 9 ------------------------------------------------------------------- - 0 5 Bra - 3 x?+ - 5 5 Ket - 8 End ------------------------------------------------------------------- - -/x++/BM -Memory allocation (code space): 9 ------------------------------------------------------------------- - 0 5 Bra - 3 x++ - 5 5 Ket - 8 End ------------------------------------------------------------------- - -/x{1,3}+/BM -Memory allocation (code space): 19 ------------------------------------------------------------------- - 0 15 Bra - 3 9 Once - 6 x - 8 x{0,2} - 12 9 Ket - 15 15 Ket - 18 End ------------------------------------------------------------------- - -/(x)*+/BM -Memory allocation (code space): 24 ------------------------------------------------------------------- - 0 20 Bra - 3 14 Once - 6 Brazero - 7 7 CBra 1 - 12 x - 14 7 KetRmax - 17 14 Ket - 20 20 Ket - 23 End ------------------------------------------------------------------- - -/^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/BM -Memory allocation (code space): 120 ------------------------------------------------------------------- - 0 116 Bra - 3 ^ - 4 109 CBra 1 - 9 7 CBra 2 - 14 a+ - 16 7 Ket - 19 39 CBra 3 - 24 [ab]+? - 58 39 Ket - 61 39 CBra 4 - 66 [bc]+ -100 39 Ket -103 7 CBra 5 -108 \w* -110 7 Ket -113 109 Ket -116 116 Ket -119 End ------------------------------------------------------------------- - -|8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|BM -Memory allocation (code space): 826 ------------------------------------------------------------------- - 0 822 Bra - 3 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X -821 \b -822 822 Ket -825 End ------------------------------------------------------------------- - -|\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|BM -Memory allocation (code space): 816 ------------------------------------------------------------------- - 0 812 Bra - 3 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X -811 \b -812 812 Ket -815 End ------------------------------------------------------------------- - -/(a(?1)b)/BM -Memory allocation (code space): 28 ------------------------------------------------------------------- - 0 24 Bra - 3 18 CBra 1 - 8 a - 10 6 Once - 13 3 Recurse - 16 6 Ket - 19 b - 21 18 Ket - 24 24 Ket - 27 End ------------------------------------------------------------------- - -/(a(?1)+b)/BM -Memory allocation (code space): 28 ------------------------------------------------------------------- - 0 24 Bra - 3 18 CBra 1 - 8 a - 10 6 Once - 13 3 Recurse - 16 6 KetRmax - 19 b - 21 18 Ket - 24 24 Ket - 27 End ------------------------------------------------------------------- - -/a(?P<name1>b|c)d(?P<longername2>e)/BM -Memory allocation (code space): 42 ------------------------------------------------------------------- - 0 32 Bra - 3 a - 5 7 CBra 1 - 10 b - 12 5 Alt - 15 c - 17 12 Ket - 20 d - 22 7 CBra 2 - 27 e - 29 7 Ket - 32 32 Ket - 35 End ------------------------------------------------------------------- - -/(?:a(?P<c>c(?P<d>d)))(?P<a>a)/BM -Memory allocation (code space): 54 ------------------------------------------------------------------- - 0 41 Bra - 3 25 Bra - 6 a - 8 17 CBra 1 - 13 c - 15 7 CBra 2 - 20 d - 22 7 Ket - 25 17 Ket - 28 25 Ket - 31 7 CBra 3 - 36 a - 38 7 Ket - 41 41 Ket - 44 End ------------------------------------------------------------------- - -/(?P<a>a)...(?P=a)bbb(?P>a)d/BM -Memory allocation (code space): 43 ------------------------------------------------------------------- - 0 36 Bra - 3 7 CBra 1 - 8 a - 10 7 Ket - 13 Any - 14 Any - 15 Any - 16 \1 - 19 bbb - 25 6 Once - 28 3 Recurse - 31 6 Ket - 34 d - 36 36 Ket - 39 End ------------------------------------------------------------------- - -/abc(?C255)de(?C)f/BM -Memory allocation (code space): 31 ------------------------------------------------------------------- - 0 27 Bra - 3 abc - 9 Callout 255 10 1 - 15 de - 19 Callout 0 16 1 - 25 f - 27 27 Ket - 30 End ------------------------------------------------------------------- - -/abcde/CBM -Memory allocation (code space): 53 ------------------------------------------------------------------- - 0 49 Bra - 3 Callout 255 0 1 - 9 a - 11 Callout 255 1 1 - 17 b - 19 Callout 255 2 1 - 25 c - 27 Callout 255 3 1 - 33 d - 35 Callout 255 4 1 - 41 e - 43 Callout 255 5 0 - 49 49 Ket - 52 End ------------------------------------------------------------------- - -/\x{100}/8BM -Memory allocation (code space): 10 ------------------------------------------------------------------- - 0 6 Bra - 3 \x{100} - 6 6 Ket - 9 End ------------------------------------------------------------------- - -/\x{1000}/8BM -Memory allocation (code space): 11 ------------------------------------------------------------------- - 0 7 Bra - 3 \x{1000} - 7 7 Ket - 10 End ------------------------------------------------------------------- - -/\x{10000}/8BM -Memory allocation (code space): 12 ------------------------------------------------------------------- - 0 8 Bra - 3 \x{10000} - 8 8 Ket - 11 End ------------------------------------------------------------------- - -/\x{100000}/8BM -Memory allocation (code space): 12 ------------------------------------------------------------------- - 0 8 Bra - 3 \x{100000} - 8 8 Ket - 11 End ------------------------------------------------------------------- - -/\x{1000000}/8BM -Memory allocation (code space): 13 ------------------------------------------------------------------- - 0 9 Bra - 3 \x{1000000} - 9 9 Ket - 12 End ------------------------------------------------------------------- - -/\x{4000000}/8BM -Memory allocation (code space): 14 ------------------------------------------------------------------- - 0 10 Bra - 3 \x{4000000} - 10 10 Ket - 13 End ------------------------------------------------------------------- - -/\x{7fffFFFF}/8BM -Memory allocation (code space): 14 ------------------------------------------------------------------- - 0 10 Bra - 3 \x{7fffffff} - 10 10 Ket - 13 End ------------------------------------------------------------------- - -/[\x{ff}]/8BM -Memory allocation (code space): 10 ------------------------------------------------------------------- - 0 6 Bra - 3 \x{ff} - 6 6 Ket - 9 End ------------------------------------------------------------------- - -/[\x{100}]/8BM -Memory allocation (code space): 15 ------------------------------------------------------------------- - 0 11 Bra - 3 [\x{100}] - 11 11 Ket - 14 End ------------------------------------------------------------------- - -/\x80/8BM -Memory allocation (code space): 10 ------------------------------------------------------------------- - 0 6 Bra - 3 \x{80} - 6 6 Ket - 9 End ------------------------------------------------------------------- - -/\xff/8BM -Memory allocation (code space): 10 ------------------------------------------------------------------- - 0 6 Bra - 3 \x{ff} - 6 6 Ket - 9 End ------------------------------------------------------------------- - -/\x{0041}\x{2262}\x{0391}\x{002e}/D8M -Memory allocation (code space): 18 ------------------------------------------------------------------- - 0 14 Bra - 3 A\x{2262}\x{391}. - 14 14 Ket - 17 End ------------------------------------------------------------------- -Capturing subpattern count = 0 -Options: utf8 -First char = 'A' -Need char = '.' +/-- This set of tests check Unicode property support with the DFA matching + functionality of pcre_dfa_exec(). The -dfa flag must be used with pcretest + when running it. --/ + +/\pL\P{Nd}/8 + AB + 0: AB + *** Failers + 0: Fa + A0 +No match + 00 +No match + +/\X./8 + AB + 0: AB + A\x{300}BC + 0: A\x{300}B + A\x{300}\x{301}\x{302}BC + 0: A\x{300}\x{301}\x{302}B + *** Failers + 0: ** + \x{300} +No match + +/\X\X/8 + ABC + 0: AB + A\x{300}B\x{300}\x{301}C + 0: A\x{300}B\x{300}\x{301} + A\x{300}\x{301}\x{302}BC + 0: A\x{300}\x{301}\x{302}B + *** Failers + 0: ** + \x{300} +No match + +/^\pL+/8 + abcd + 0: abcd + 1: abc + 2: ab + 3: a + a + 0: a + *** Failers +No match + +/^\PL+/8 + 1234 + 0: 1234 + 1: 123 + 2: 12 + 3: 1 + = + 0: = + *** Failers + 0: *** + 1: *** + 2: ** + 3: * + abcd +No match + +/^\X+/8 + abcdA\x{300}\x{301}\x{302} + 0: abcdA\x{300}\x{301}\x{302} + 1: abcd + 2: abc + 3: ab + 4: a + A\x{300}\x{301}\x{302} + 0: A\x{300}\x{301}\x{302} + A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302} + 0: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302} + 1: A\x{300}\x{301}\x{302} + a + 0: a + *** Failers + 0: *** Failers + 1: *** Failer + 2: *** Faile + 3: *** Fail + 4: *** Fai + 5: *** Fa + 6: *** F + 7: *** + 8: *** + 9: ** +10: * + \x{300}\x{301}\x{302} +No match + +/\X?abc/8 + abc + 0: abc + A\x{300}abc + 0: A\x{300}abc + A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz + 0: A\x{300}abc + \x{300}abc + 0: abc + *** Failers +No match + +/^\X?abc/8 + abc + 0: abc + A\x{300}abc + 0: A\x{300}abc + *** Failers +No match + A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz +No match + \x{300}abc +No match + +/\X*abc/8 + abc + 0: abc + A\x{300}abc + 0: A\x{300}abc + A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz + 0: A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abc + \x{300}abc + 0: abc + *** Failers +No match + +/^\X*abc/8 + abc + 0: abc + A\x{300}abc + 0: A\x{300}abc + A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz + 0: A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abc + *** Failers +No match + \x{300}abc +No match + +/^\pL?=./8 + A=b + 0: A=b + =c + 0: =c + *** Failers +No match + 1=2 +No match + AAAA=b +No match + +/^\pL*=./8 + AAAA=b + 0: AAAA=b + =c + 0: =c + *** Failers +No match + 1=2 +No match + +/^\X{2,3}X/8 + A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X + 0: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X + A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X + 0: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X + *** Failers +No match + X +No match + A\x{300}\x{301}\x{302}X +No match + A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X +No match + +/^\pC\pL\pM\pN\pP\pS\pZ</8 + \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}< + 0: \x{7f}\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}< + \np\x{300}9!\$ < + 0: \x{0a}p\x{300}9!$ < + ** Failers +No match + ap\x{300}9!\$ < +No match + +/^\PC/8 + X + 0: X + ** Failers + 0: * + \x7f +No match + +/^\PL/8 + 9 + 0: 9 + ** Failers + 0: * + \x{c0} +No match + +/^\PM/8 + X + 0: X + ** Failers + 0: * + \x{30f} +No match + +/^\PN/8 + X + 0: X + ** Failers + 0: * + \x{660} +No match + +/^\PP/8 + X + 0: X + ** Failers +No match + \x{66c} +No match + +/^\PS/8 + X + 0: X + ** Failers + 0: * + \x{f01} +No match + +/^\PZ/8 + X + 0: X + ** Failers + 0: * + \x{1680} +No match -/\x{D55c}\x{ad6d}\x{C5B4}/D8M -Memory allocation (code space): 19 ------------------------------------------------------------------- - 0 15 Bra - 3 \x{d55c}\x{ad6d}\x{c5b4} - 15 15 Ket - 18 End ------------------------------------------------------------------- -Capturing subpattern count = 0 -Options: utf8 -First char = 237 -Need char = 180 - -/\x{65e5}\x{672c}\x{8a9e}/D8M -Memory allocation (code space): 19 ------------------------------------------------------------------- - 0 15 Bra - 3 \x{65e5}\x{672c}\x{8a9e} - 15 15 Ket - 18 End ------------------------------------------------------------------- -Capturing subpattern count = 0 -Options: utf8 -First char = 230 -Need char = 158 - -/[\x{100}]/8BM -Memory allocation (code space): 15 ------------------------------------------------------------------- - 0 11 Bra - 3 [\x{100}] - 11 11 Ket - 14 End ------------------------------------------------------------------- - -/[Z\x{100}]/8BM -Memory allocation (code space): 47 ------------------------------------------------------------------- - 0 43 Bra - 3 [Z\x{100}] - 43 43 Ket - 46 End ------------------------------------------------------------------- - -/^[\x{100}\E-\Q\E\x{150}]/B8M -Memory allocation (code space): 18 ------------------------------------------------------------------- - 0 14 Bra - 3 ^ - 4 [\x{100}-\x{150}] - 14 14 Ket - 17 End ------------------------------------------------------------------- - -/^[\QĀ\E-\QŐ\E]/B8M -Memory allocation (code space): 18 ------------------------------------------------------------------- - 0 14 Bra - 3 ^ - 4 [\x{100}-\x{150}] - 14 14 Ket - 17 End ------------------------------------------------------------------- - -/^[\QĀ\E-\QŐ\E/B8M -Failed: missing terminating ] for character class at offset 15 - -/[\p{L}]/BM -Memory allocation (code space): 15 ------------------------------------------------------------------- - 0 11 Bra - 3 [\p{L}] - 11 11 Ket - 14 End ------------------------------------------------------------------- - -/[\p{^L}]/BM -Memory allocation (code space): 15 ------------------------------------------------------------------- - 0 11 Bra - 3 [\P{L}] - 11 11 Ket - 14 End ------------------------------------------------------------------- - -/[\P{L}]/BM -Memory allocation (code space): 15 ------------------------------------------------------------------- - 0 11 Bra - 3 [\P{L}] - 11 11 Ket - 14 End ------------------------------------------------------------------- - -/[\P{^L}]/BM -Memory allocation (code space): 15 ------------------------------------------------------------------- - 0 11 Bra - 3 [\p{L}] - 11 11 Ket - 14 End ------------------------------------------------------------------- - -/[abc\p{L}\x{0660}]/8BM -Memory allocation (code space): 50 ------------------------------------------------------------------- - 0 46 Bra - 3 [a-c\p{L}\x{660}] - 46 46 Ket - 49 End ------------------------------------------------------------------- - -/[\p{Nd}]/8BM -Memory allocation (code space): 15 ------------------------------------------------------------------- - 0 11 Bra - 3 [\p{Nd}] - 11 11 Ket - 14 End ------------------------------------------------------------------- - -/[\p{Nd}+-]+/8BM -Memory allocation (code space): 48 ------------------------------------------------------------------- - 0 44 Bra - 3 [+\-\p{Nd}]+ - 44 44 Ket - 47 End ------------------------------------------------------------------- - -/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iBM -Memory allocation (code space): 25 ------------------------------------------------------------------- - 0 21 Bra - 3 NC A\x{391}\x{10427}\x{ff3a}\x{1fb0} - 21 21 Ket - 24 End ------------------------------------------------------------------- - -/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8BM -Memory allocation (code space): 25 ------------------------------------------------------------------- - 0 21 Bra - 3 A\x{391}\x{10427}\x{ff3a}\x{1fb0} - 21 21 Ket - 24 End ------------------------------------------------------------------- - -/[\x{105}-\x{109}]/8iBM -Memory allocation (code space): 17 ------------------------------------------------------------------- - 0 13 Bra - 3 [\x{104}-\x{109}] - 13 13 Ket - 16 End ------------------------------------------------------------------- - -/( ( (?(1)0|) )* )/xBM -Memory allocation (code space): 38 ------------------------------------------------------------------- - 0 34 Bra - 3 28 CBra 1 - 8 Brazero - 9 19 SCBra 2 - 14 8 Cond - 17 1 Cond ref - 20 0 - 22 3 Alt - 25 11 Ket - 28 19 KetRmax - 31 28 Ket - 34 34 Ket - 37 End ------------------------------------------------------------------- - -/( (?(1)0|)* )/xBM -Memory allocation (code space): 30 ------------------------------------------------------------------- - 0 26 Bra - 3 20 CBra 1 - 8 Brazero - 9 8 SCond - 12 1 Cond ref - 15 0 - 17 3 Alt - 20 11 KetRmax - 23 20 Ket - 26 26 Ket - 29 End ------------------------------------------------------------------- - -/[a]/BM -Memory allocation (code space): 9 ------------------------------------------------------------------- - 0 5 Bra - 3 a - 5 5 Ket - 8 End ------------------------------------------------------------------- - -/[a]/8BM -Memory allocation (code space): 9 ------------------------------------------------------------------- - 0 5 Bra - 3 a - 5 5 Ket - 8 End ------------------------------------------------------------------- - -/[\xaa]/BM -Memory allocation (code space): 9 ------------------------------------------------------------------- - 0 5 Bra - 3 \xaa - 5 5 Ket - 8 End ------------------------------------------------------------------- - -/[\xaa]/8BM -Memory allocation (code space): 10 ------------------------------------------------------------------- - 0 6 Bra - 3 \x{aa} - 6 6 Ket - 9 End ------------------------------------------------------------------- - -/[^a]/BM -Memory allocation (code space): 9 ------------------------------------------------------------------- - 0 5 Bra - 3 [^a] - 5 5 Ket - 8 End ------------------------------------------------------------------- - -/[^a]/8BM -Memory allocation (code space): 9 ------------------------------------------------------------------- - 0 5 Bra - 3 [^a] - 5 5 Ket - 8 End ------------------------------------------------------------------- - -/[^\xaa]/BM -Memory allocation (code space): 9 ------------------------------------------------------------------- - 0 5 Bra - 3 [^\xaa] - 5 5 Ket - 8 End ------------------------------------------------------------------- - -/[^\xaa]/8BM -Memory allocation (code space): 40 ------------------------------------------------------------------- - 0 36 Bra - 3 [\x00-\xa9\xab-\xff] (neg) - 36 36 Ket - 39 End ------------------------------------------------------------------- - -/[^\d]/8WB ------------------------------------------------------------------- - 0 11 Bra - 3 [^\p{Nd}] - 11 11 Ket - 14 End ------------------------------------------------------------------- - -/[[:^alpha:][:^cntrl:]]+/8WB ------------------------------------------------------------------- - 0 44 Bra - 3 [ -~\x80-\xff\P{L}]+ - 44 44 Ket - 47 End ------------------------------------------------------------------- - -/[[:^cntrl:][:^alpha:]]+/8WB ------------------------------------------------------------------- - 0 44 Bra - 3 [ -~\x80-\xff\P{L}]+ - 44 44 Ket - 47 End ------------------------------------------------------------------- - -/[[:alpha:]]+/8WB ------------------------------------------------------------------- - 0 12 Bra - 3 [\p{L}]+ - 12 12 Ket - 15 End ------------------------------------------------------------------- - -/[[:^alpha:]\S]+/8WB ------------------------------------------------------------------- - 0 15 Bra - 3 [\P{L}\P{Xsp}]+ - 15 15 Ket - 18 End ------------------------------------------------------------------- - -/abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/B ------------------------------------------------------------------- - 0 79 Bra - 3 abc - 9 7 CBra 1 - 14 d - 16 5 Alt - 19 e - 21 12 Ket - 24 *THEN 24 - 27 x - 29 16 CBra 2 - 34 123 - 40 *THEN 11 - 43 4 - 45 31 Alt - 48 567 - 54 7 CBra 3 - 59 b - 61 5 Alt - 64 q - 66 12 Ket - 69 *THEN 24 - 72 xx - 76 47 Ket - 79 79 Ket - 82 End ------------------------------------------------------------------- - -/-- End of testinput10 --/ +/^\p{Cc}/8 + \x{017} + 0: \x{17} + \x{09f} + 0: \x{9f} + ** Failers +No match + \x{0600} +No match + +/^\p{Cf}/8 + \x{601} + 0: \x{601} + ** Failers +No match + \x{09f} +No match + +/^\p{Cn}/8 + ** Failers +No match + \x{09f} +No match + +/^\p{Co}/8 + \x{f8ff} + 0: \x{f8ff} + ** Failers +No match + \x{09f} +No match + +/^\p{Cs}/8 + \?\x{dfff} + 0: \x{dfff} + ** Failers +No match + \x{09f} +No match + +/^\p{Ll}/8 + a + 0: a + ** Failers +No match + Z +No match + \x{e000} +No match + +/^\p{Lm}/8 + \x{2b0} + 0: \x{2b0} + ** Failers +No match + a +No match + +/^\p{Lo}/8 + \x{1bb} + 0: \x{1bb} + ** Failers +No match + a +No match + \x{2b0} +No match + +/^\p{Lt}/8 + \x{1c5} + 0: \x{1c5} + ** Failers +No match + a +No match + \x{2b0} +No match + +/^\p{Lu}/8 + A + 0: A + ** Failers +No match + \x{2b0} +No match + +/^\p{Mc}/8 + \x{903} + 0: \x{903} + ** Failers +No match + X +No match + \x{300} +No match + +/^\p{Me}/8 + \x{488} + 0: \x{488} + ** Failers +No match + X +No match + \x{903} +No match + \x{300} +No match + +/^\p{Mn}/8 + \x{300} + 0: \x{300} + ** Failers +No match + X +No match + \x{903} +No match + +/^\p{Nd}+/8 + 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a} + 0: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669} + 1: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668} + 2: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667} + 3: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666} + 4: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665} + 5: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664} + 6: 0123456789\x{660}\x{661}\x{662}\x{663} + 7: 0123456789\x{660}\x{661}\x{662} + 8: 0123456789\x{660}\x{661} + 9: 0123456789\x{660} +10: 0123456789 +11: 012345678 +12: 01234567 +13: 0123456 +14: 012345 +15: 01234 +16: 0123 +17: 012 +18: 01 +19: 0 + \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa} + 0: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9} + 1: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8} + 2: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7} + 3: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6} + 4: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5} + 5: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4} + 6: \x{6f0}\x{6f1}\x{6f2}\x{6f3} + 7: \x{6f0}\x{6f1}\x{6f2} + 8: \x{6f0}\x{6f1} + 9: \x{6f0} + \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970} + 0: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f} + 1: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e} + 2: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d} + 3: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c} + 4: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b} + 5: \x{966}\x{967}\x{968}\x{969}\x{96a} + 6: \x{966}\x{967}\x{968}\x{969} + 7: \x{966}\x{967}\x{968} + 8: \x{966}\x{967} + 9: \x{966} + ** Failers +No match + X +No match + +/^\p{Nl}/8 + \x{16ee} + 0: \x{16ee} + ** Failers +No match + X +No match + \x{966} +No match + +/^\p{No}/8 + \x{b2} + 0: \x{b2} + \x{b3} + 0: \x{b3} + ** Failers +No match + X +No match + \x{16ee} +No match + +/^\p{Pc}/8 + \x5f + 0: _ + \x{203f} + 0: \x{203f} + ** Failers +No match + X +No match + - +No match + \x{58a} +No match + +/^\p{Pd}/8 + - + 0: - + \x{58a} + 0: \x{58a} + ** Failers +No match + X +No match + \x{203f} +No match + +/^\p{Pe}/8 + ) + 0: ) + ] + 0: ] + } + 0: } + \x{f3b} + 0: \x{f3b} + ** Failers +No match + X +No match + \x{203f} +No match + ( +No match + [ +No match + { +No match + \x{f3c} +No match + +/^\p{Pf}/8 + \x{bb} + 0: \x{bb} + \x{2019} + 0: \x{2019} + ** Failers +No match + X +No match + \x{203f} +No match + +/^\p{Pi}/8 + \x{ab} + 0: \x{ab} + \x{2018} + 0: \x{2018} + ** Failers +No match + X +No match + \x{203f} +No match + +/^\p{Po}/8 + ! + 0: ! + \x{37e} + 0: \x{37e} + ** Failers + 0: * + X +No match + \x{203f} +No match + +/^\p{Ps}/8 + ( + 0: ( + [ + 0: [ + { + 0: { + \x{f3c} + 0: \x{f3c} + ** Failers +No match + X +No match + ) +No match + ] +No match + } +No match + \x{f3b} +No match + +/^\p{Sc}+/8 + $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6} + 0: $\x{a2}\x{a3}\x{a4}\x{a5} + 1: $\x{a2}\x{a3}\x{a4} + 2: $\x{a2}\x{a3} + 3: $\x{a2} + 4: $ + \x{9f2} + 0: \x{9f2} + ** Failers +No match + X +No match + \x{2c2} +No match + +/^\p{Sk}/8 + \x{2c2} + 0: \x{2c2} + ** Failers +No match + X +No match + \x{9f2} +No match + +/^\p{Sm}+/8 + +<|~\x{ac}\x{2044} + 0: +<|~\x{ac}\x{2044} + 1: +<|~\x{ac} + 2: +<|~ + 3: +<| + 4: +< + 5: + + ** Failers +No match + X +No match + \x{9f2} +No match + +/^\p{So}/8 + \x{a6} + 0: \x{a6} + \x{482} + 0: \x{482} + ** Failers +No match + X +No match + \x{9f2} +No match + +/^\p{Zl}/8 + \x{2028} + 0: \x{2028} + ** Failers +No match + X +No match + \x{2029} +No match + +/^\p{Zp}/8 + \x{2029} + 0: \x{2029} + ** Failers +No match + X +No match + \x{2028} +No match + +/^\p{Zs}/8 + \ \ + 0: + \x{a0} + 0: \x{a0} + \x{1680} + 0: \x{1680} + \x{180e} + 0: \x{180e} + \x{2000} + 0: \x{2000} + \x{2001} + 0: \x{2001} + ** Failers +No match + \x{2028} +No match + \x{200d} +No match + +/\p{Nd}+(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}AB + 1: \x{660}\x{661}\x{662}A + 2: \x{660}\x{661}\x{662} + +/\p{Nd}+?(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}AB + 1: \x{660}\x{661}\x{662}A + 2: \x{660}\x{661}\x{662} + +/\p{Nd}{2,}(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}AB + 1: \x{660}\x{661}\x{662}A + +/\p{Nd}{2,}?(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}AB + 1: \x{660}\x{661}\x{662}A + +/\p{Nd}*(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}AB + 1: \x{660}\x{661}\x{662}A + 2: \x{660}\x{661}\x{662} + 3: \x{660}\x{661} + +/\p{Nd}*?(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}AB + 1: \x{660}\x{661}\x{662}A + 2: \x{660}\x{661}\x{662} + 3: \x{660}\x{661} + +/\p{Nd}{2}(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}A + +/\p{Nd}{2,3}(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}AB + 1: \x{660}\x{661}\x{662}A + +/\p{Nd}{2,3}?(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}AB + 1: \x{660}\x{661}\x{662}A + +/\p{Nd}?(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662} + 1: \x{660}\x{661} + +/\p{Nd}??(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662} + 1: \x{660}\x{661} + +/\p{Nd}*+(..)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}AB + +/\p{Nd}*+(...)/8 + \x{660}\x{661}\x{662}ABC + 0: \x{660}\x{661}\x{662}ABC + +/\p{Nd}*+(....)/8 + ** Failers + 0: ** F + \x{660}\x{661}\x{662}ABC +No match + +/\p{Lu}/8i + A + 0: A + a\x{10a0}B + 0: \x{10a0} + ** Failers + 0: F + a +No match + \x{1d00} +No match + +/\p{^Lu}/8i + 1234 + 0: 1 + ** Failers + 0: * + ABC +No match + +/\P{Lu}/8i + 1234 + 0: 1 + ** Failers + 0: * + ABC +No match + +/(?<=A\p{Nd})XYZ/8 + A2XYZ + 0: XYZ + 123A5XYZPQR + 0: XYZ + ABA\x{660}XYZpqr + 0: XYZ + ** Failers +No match + AXYZ +No match + XYZ +No match + +/(?<!\pL)XYZ/8 + 1XYZ + 0: XYZ + AB=XYZ.. + 0: XYZ + XYZ + 0: XYZ + ** Failers +No match + WXYZ +No match + +/[\p{Nd}]/8 + 1234 + 0: 1 + +/[\p{Nd}+-]+/8 + 1234 + 0: 1234 + 1: 123 + 2: 12 + 3: 1 + 12-34 + 0: 12-34 + 1: 12-3 + 2: 12- + 3: 12 + 4: 1 + 12+\x{661}-34 + 0: 12+\x{661}-34 + 1: 12+\x{661}-3 + 2: 12+\x{661}- + 3: 12+\x{661} + 4: 12+ + 5: 12 + 6: 1 + ** Failers +No match + abcd +No match + +/[\P{Nd}]+/8 + abcd + 0: abcd + 1: abc + 2: ab + 3: a + ** Failers + 0: ** Failers + 1: ** Failer + 2: ** Faile + 3: ** Fail + 4: ** Fai + 5: ** Fa + 6: ** F + 7: ** + 8: ** + 9: * + 1234 +No match + +/\D+/8 + 11111111111111111111111111111111111111111111111111111111111111111111111 +No match + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Matched, but too many subsidiary matches + 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +11: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +14: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +15: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +16: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +17: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +18: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +19: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + +/\P{Nd}+/8 + 11111111111111111111111111111111111111111111111111111111111111111111111 +No match + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Matched, but too many subsidiary matches + 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +11: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +14: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +15: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +16: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +17: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +18: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +19: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + +/[\D]+/8 + 11111111111111111111111111111111111111111111111111111111111111111111111 +No match + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Matched, but too many subsidiary matches + 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +11: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +14: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +15: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +16: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +17: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +18: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +19: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + +/[\P{Nd}]+/8 + 11111111111111111111111111111111111111111111111111111111111111111111111 +No match + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Matched, but too many subsidiary matches + 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +11: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +14: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +15: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +16: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +17: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +18: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +19: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + +/[\D\P{Nd}]+/8 + 11111111111111111111111111111111111111111111111111111111111111111111111 +No match + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +Matched, but too many subsidiary matches + 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 2: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 3: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 4: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 6: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 7: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 8: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 9: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +10: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +11: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +14: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +15: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +16: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +17: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +18: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +19: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +20: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +21: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + +/\pL/8 + a + 0: a + A + 0: A + +/\pL/8i + a + 0: a + A + 0: A + +/\p{Lu}/8 + A + 0: A + aZ + 0: Z + ** Failers + 0: F + abc +No match + +/\p{Lu}/8i + A + 0: A + aZ + 0: Z + ** Failers + 0: F + abc +No match + +/\p{Ll}/8 + a + 0: a + Az + 0: z + ** Failers + 0: a + ABC +No match + +/\p{Ll}/8i + a + 0: a + Az + 0: z + ** Failers + 0: a + ABC +No match + +/^\x{c0}$/8i + \x{c0} + 0: \x{c0} + \x{e0} + 0: \x{e0} + +/^\x{e0}$/8i + \x{c0} + 0: \x{c0} + \x{e0} + 0: \x{e0} + +/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8 + A\x{391}\x{10427}\x{ff3a}\x{1fb0} + 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0} + ** Failers +No match + a\x{391}\x{10427}\x{ff3a}\x{1fb0} +No match + A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} +No match + A\x{391}\x{1044F}\x{ff3a}\x{1fb0} +No match + A\x{391}\x{10427}\x{ff5a}\x{1fb0} +No match + A\x{391}\x{10427}\x{ff3a}\x{1fb8} +No match + +/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i + A\x{391}\x{10427}\x{ff3a}\x{1fb0} + 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0} + a\x{391}\x{10427}\x{ff3a}\x{1fb0} + 0: a\x{391}\x{10427}\x{ff3a}\x{1fb0} + A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} + 0: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0} + A\x{391}\x{1044F}\x{ff3a}\x{1fb0} + 0: A\x{391}\x{1044f}\x{ff3a}\x{1fb0} + A\x{391}\x{10427}\x{ff5a}\x{1fb0} + 0: A\x{391}\x{10427}\x{ff5a}\x{1fb0} + A\x{391}\x{10427}\x{ff3a}\x{1fb8} + 0: A\x{391}\x{10427}\x{ff3a}\x{1fb8} + +/\x{391}+/8i + \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} + 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} + 1: \x{391}\x{3b1}\x{3b1}\x{3b1} + 2: \x{391}\x{3b1}\x{3b1} + 3: \x{391}\x{3b1} + 4: \x{391} + +/\x{391}{3,5}(.)/8i + \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X + 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X + 1: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} + 2: \x{391}\x{3b1}\x{3b1}\x{3b1} + +/\x{391}{3,5}?(.)/8i + \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X + 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X + 1: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} + 2: \x{391}\x{3b1}\x{3b1}\x{3b1} + +/[\x{391}\x{ff3a}]/8i + \x{391} + 0: \x{391} + \x{ff3a} + 0: \x{ff3a} + \x{3b1} + 0: \x{3b1} + \x{ff5a} + 0: \x{ff5a} + +/[\x{c0}\x{391}]/8i + \x{c0} + 0: \x{c0} + \x{e0} + 0: \x{e0} + +/[\x{105}-\x{109}]/8i + \x{104} + 0: \x{104} + \x{105} + 0: \x{105} + \x{109} + 0: \x{109} + ** Failers +No match + \x{100} +No match + \x{10a} +No match + +/[z-\x{100}]/8i + Z + 0: Z + z + 0: z + \x{39c} + 0: \x{39c} + \x{178} + 0: \x{178} + | + 0: | + \x{80} + 0: \x{80} + \x{ff} + 0: \x{ff} + \x{100} + 0: \x{100} + \x{101} + 0: \x{101} + ** Failers +No match + \x{102} +No match + Y +No match + y +No match + +/[z-\x{100}]/8i + +/^\X/8 + A + 0: A + A\x{300}BC + 0: A\x{300} + A\x{300}\x{301}\x{302}BC + 0: A\x{300}\x{301}\x{302} + *** Failers + 0: * + \x{300} +No match + +/^[\X]/8 + X123 + 0: X + *** Failers +No match + AXYZ +No match + +/^(\X*)C/8 + A\x{300}\x{301}\x{302}BCA\x{300}\x{301} + 0: A\x{300}\x{301}\x{302}BC + A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C + 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C + 1: A\x{300}\x{301}\x{302}BC + +/^(\X*?)C/8 + A\x{300}\x{301}\x{302}BCA\x{300}\x{301} + 0: A\x{300}\x{301}\x{302}BC + A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C + 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C + 1: A\x{300}\x{301}\x{302}BC + +/^(\X*)(.)/8 + A\x{300}\x{301}\x{302}BCA\x{300}\x{301} + 0: A\x{300}\x{301}\x{302}BCA + 1: A\x{300}\x{301}\x{302}BC + 2: A\x{300}\x{301}\x{302}B + 3: A + A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C + 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C + 1: A\x{300}\x{301}\x{302}BCA + 2: A\x{300}\x{301}\x{302}BC + 3: A\x{300}\x{301}\x{302}B + 4: A + +/^(\X*?)(.)/8 + A\x{300}\x{301}\x{302}BCA\x{300}\x{301} + 0: A\x{300}\x{301}\x{302}BCA + 1: A\x{300}\x{301}\x{302}BC + 2: A\x{300}\x{301}\x{302}B + 3: A + A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C + 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C + 1: A\x{300}\x{301}\x{302}BCA + 2: A\x{300}\x{301}\x{302}BC + 3: A\x{300}\x{301}\x{302}B + 4: A + +/^\X(.)/8 + *** Failers + 0: ** + A\x{300}\x{301}\x{302} +No match + +/^\X{2,3}(.)/8 + A\x{300}\x{301}B\x{300}X + 0: A\x{300}\x{301}B\x{300}X + A\x{300}\x{301}B\x{300}C\x{300}\x{301} + 0: A\x{300}\x{301}B\x{300}C + A\x{300}\x{301}B\x{300}C\x{300}\x{301}X + 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X + 1: A\x{300}\x{301}B\x{300}C + A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X + 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D + 1: A\x{300}\x{301}B\x{300}C + +/^\X{2,3}?(.)/8 + A\x{300}\x{301}B\x{300}X + 0: A\x{300}\x{301}B\x{300}X + A\x{300}\x{301}B\x{300}C\x{300}\x{301} + 0: A\x{300}\x{301}B\x{300}C + A\x{300}\x{301}B\x{300}C\x{300}\x{301}X + 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X + 1: A\x{300}\x{301}B\x{300}C + A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X + 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D + 1: A\x{300}\x{301}B\x{300}C + +/^\pN{2,3}X/ + 12X + 0: 12X + 123X + 0: 123X + *** Failers +No match + X +No match + 1X +No match + 1234X +No match + +/\x{100}/i8 + \x{100} + 0: \x{100} + \x{101} + 0: \x{101} + +/^\p{Han}+/8 + \x{2e81}\x{3007}\x{2f804}\x{31a0} + 0: \x{2e81}\x{3007}\x{2f804} + 1: \x{2e81}\x{3007} + 2: \x{2e81} + ** Failers +No match + \x{2e7f} +No match + +/^\P{Katakana}+/8 + \x{3105} + 0: \x{3105} + ** Failers + 0: ** Failers + 1: ** Failer + 2: ** Faile + 3: ** Fail + 4: ** Fai + 5: ** Fa + 6: ** F + 7: ** + 8: ** + 9: * + \x{30ff} +No match + +/^[\p{Arabic}]/8 + \x{06e9} + 0: \x{6e9} + \x{060b} + 0: \x{60b} + ** Failers +No match + X\x{06e9} +No match + +/^[\P{Yi}]/8 + \x{2f800} + 0: \x{2f800} + ** Failers + 0: * + \x{a014} +No match + \x{a4c6} +No match + +/^\p{Any}X/8 + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + ** Failers +No match + X +No match + +/^\P{Any}X/8 + ** Failers +No match + AX +No match + +/^\p{Any}?X/8 + XYZ + 0: X + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + ** Failers +No match + ABXYZ +No match + +/^\P{Any}?X/8 + XYZ + 0: X + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + ABXYZ +No match + +/^\p{Any}+X/8 + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + A\x{1234}XYZ + 0: A\x{1234}X + ** Failers +No match + XYZ +No match + +/^\P{Any}+X/8 + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + A\x{1234}XYZ +No match + XYZ +No match + +/^\p{Any}*X/8 + XYZ + 0: X + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + A\x{1234}XYZ + 0: A\x{1234}X + ** Failers +No match + +/^\P{Any}*X/8 + XYZ + 0: X + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + A\x{1234}XYZ +No match + +/^[\p{Any}]X/8 + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + ** Failers +No match + X +No match + +/^[\P{Any}]X/8 + ** Failers +No match + AX +No match + +/^[\p{Any}]?X/8 + XYZ + 0: X + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + ** Failers +No match + ABXYZ +No match + +/^[\P{Any}]?X/8 + XYZ + 0: X + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + ABXYZ +No match + +/^[\p{Any}]+X/8 + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + A\x{1234}XYZ + 0: A\x{1234}X + ** Failers +No match + XYZ +No match + +/^[\P{Any}]+X/8 + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + A\x{1234}XYZ +No match + XYZ +No match + +/^[\p{Any}]*X/8 + XYZ + 0: X + AXYZ + 0: AX + \x{1234}XYZ + 0: \x{1234}X + A\x{1234}XYZ + 0: A\x{1234}X + ** Failers +No match + +/^[\P{Any}]*X/8 + XYZ + 0: X + ** Failers +No match + AXYZ +No match + \x{1234}XYZ +No match + A\x{1234}XYZ +No match + +/^\p{Any}{3,5}?/8 + abcdefgh + 0: abcde + 1: abcd + 2: abc + \x{1234}\n\r\x{3456}xyz + 0: \x{1234}\x{0a}\x{0d}\x{3456}x + 1: \x{1234}\x{0a}\x{0d}\x{3456} + 2: \x{1234}\x{0a}\x{0d} + +/^\p{Any}{3,5}/8 + abcdefgh + 0: abcde + 1: abcd + 2: abc + \x{1234}\n\r\x{3456}xyz + 0: \x{1234}\x{0a}\x{0d}\x{3456}x + 1: \x{1234}\x{0a}\x{0d}\x{3456} + 2: \x{1234}\x{0a}\x{0d} + +/^\P{Any}{3,5}?/8 + ** Failers +No match + abcdefgh +No match + \x{1234}\n\r\x{3456}xyz +No match + +/^\p{L&}X/8 + AXY + 0: AX + aXY + 0: aX + \x{1c5}XY + 0: \x{1c5}X + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^[\p{L&}]X/8 + AXY + 0: AX + aXY + 0: aX + \x{1c5}XY + 0: \x{1c5}X + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^\p{L&}+X/8 + AXY + 0: AX + aXY + 0: aX + AbcdeXyz + 0: AbcdeX + \x{1c5}AbXY + 0: \x{1c5}AbX + abcDEXypqreXlmn + 0: abcDEXypqreX + 1: abcDEX + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^[\p{L&}]+X/8 + AXY + 0: AX + aXY + 0: aX + AbcdeXyz + 0: AbcdeX + \x{1c5}AbXY + 0: \x{1c5}AbX + abcDEXypqreXlmn + 0: abcDEXypqreX + 1: abcDEX + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^\p{L&}+?X/8 + AXY + 0: AX + aXY + 0: aX + AbcdeXyz + 0: AbcdeX + \x{1c5}AbXY + 0: \x{1c5}AbX + abcDEXypqreXlmn + 0: abcDEXypqreX + 1: abcDEX + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^[\p{L&}]+?X/8 + AXY + 0: AX + aXY + 0: aX + AbcdeXyz + 0: AbcdeX + \x{1c5}AbXY + 0: \x{1c5}AbX + abcDEXypqreXlmn + 0: abcDEXypqreX + 1: abcDEX + ** Failers +No match + \x{1bb}XY +No match + \x{2b0}XY +No match + !XY +No match + +/^\P{L&}X/8 + !XY + 0: !X + \x{1bb}XY + 0: \x{1bb}X + \x{2b0}XY + 0: \x{2b0}X + ** Failers +No match + \x{1c5}XY +No match + AXY +No match + +/^[\P{L&}]X/8 + !XY + 0: !X + \x{1bb}XY + 0: \x{1bb}X + \x{2b0}XY + 0: \x{2b0}X + ** Failers +No match + \x{1c5}XY +No match + AXY +No match + +/^\x{023a}+?(\x{0130}+)/8i + \x{023a}\x{2c65}\x{0130} + 0: \x{23a}\x{2c65}\x{130} + +/^\x{023a}+([^X])/8i + \x{023a}\x{2c65}X + 0: \x{23a}\x{2c65} + +/\x{c0}+\x{116}+/8i + \x{c0}\x{e0}\x{116}\x{117} + 0: \x{c0}\x{e0}\x{116}\x{117} + 1: \x{c0}\x{e0}\x{116} + +/[\x{c0}\x{116}]+/8i + \x{c0}\x{e0}\x{116}\x{117} + 0: \x{c0}\x{e0}\x{116}\x{117} + 1: \x{c0}\x{e0}\x{116} + 2: \x{c0}\x{e0} + 3: \x{c0} + +/Check property support in non-UTF-8 mode/ + +/\p{L}{4}/ + 123abcdefg + 0: abcd + 123abc\xc4\xc5zz + 0: abc\xc4 + +/\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/8 + \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}==== + 0: \x{102a4}\x{aa52}\x{a91d}\x{1c46}\x{10283}\x{1092e}\x{1c6b}\x{a93b}\x{a8bf}\x{1ba0}\x{a50a} + +/\x{a77d}\x{1d79}/8i + \x{a77d}\x{1d79} + 0: \x{a77d}\x{1d79} + \x{1d79}\x{a77d} + 0: \x{1d79}\x{a77d} + +/\x{a77d}\x{1d79}/8 + \x{a77d}\x{1d79} + 0: \x{a77d}\x{1d79} + ** Failers +No match + \x{1d79}\x{a77d} +No match + +/^\p{Xan}/8 + ABCD + 0: A + 1234 + 0: 1 + \x{6ca} + 0: \x{6ca} + \x{a6c} + 0: \x{a6c} + \x{10a7} + 0: \x{10a7} + ** Failers +No match + _ABC +No match + +/^\p{Xan}+/8 + ABCD1234\x{6ca}\x{a6c}\x{10a7}_ + 0: ABCD1234\x{6ca}\x{a6c}\x{10a7} + 1: ABCD1234\x{6ca}\x{a6c} + 2: ABCD1234\x{6ca} + 3: ABCD1234 + 4: ABCD123 + 5: ABCD12 + 6: ABCD1 + 7: ABCD + 8: ABC + 9: AB +10: A + ** Failers +No match + _ABC +No match + +/^\p{Xan}*/8 + ABCD1234\x{6ca}\x{a6c}\x{10a7}_ + 0: ABCD1234\x{6ca}\x{a6c}\x{10a7} + 1: ABCD1234\x{6ca}\x{a6c} + 2: ABCD1234\x{6ca} + 3: ABCD1234 + 4: ABCD123 + 5: ABCD12 + 6: ABCD1 + 7: ABCD + 8: ABC + 9: AB +10: A +11: + +/^\p{Xan}{2,9}/8 + ABCD1234\x{6ca}\x{a6c}\x{10a7}_ + 0: ABCD1234\x{6ca} + 1: ABCD1234 + 2: ABCD123 + 3: ABCD12 + 4: ABCD1 + 5: ABCD + 6: ABC + 7: AB + +/^[\p{Xan}]/8 + ABCD1234_ + 0: A + 1234abcd_ + 0: 1 + \x{6ca} + 0: \x{6ca} + \x{a6c} + 0: \x{a6c} + \x{10a7} + 0: \x{10a7} + ** Failers +No match + _ABC +No match + +/^[\p{Xan}]+/8 + ABCD1234\x{6ca}\x{a6c}\x{10a7}_ + 0: ABCD1234\x{6ca}\x{a6c}\x{10a7} + 1: ABCD1234\x{6ca}\x{a6c} + 2: ABCD1234\x{6ca} + 3: ABCD1234 + 4: ABCD123 + 5: ABCD12 + 6: ABCD1 + 7: ABCD + 8: ABC + 9: AB +10: A + ** Failers +No match + _ABC +No match + +/^>\p{Xsp}/8 + >\x{1680}\x{2028}\x{0b} + 0: >\x{1680} + ** Failers +No match + \x{0b} +No match + +/^>\p{Xsp}+/8 + > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028} + 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680} + 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0} + 3: > \x{09}\x{0a}\x{0c}\x{0d} + 4: > \x{09}\x{0a}\x{0c} + 5: > \x{09}\x{0a} + 6: > \x{09} + 7: > + +/^>\p{Xsp}*/8 + > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028} + 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680} + 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0} + 3: > \x{09}\x{0a}\x{0c}\x{0d} + 4: > \x{09}\x{0a}\x{0c} + 5: > \x{09}\x{0a} + 6: > \x{09} + 7: > + 8: > + +/^>\p{Xsp}{2,9}/8 + > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028} + 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680} + 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0} + 3: > \x{09}\x{0a}\x{0c}\x{0d} + 4: > \x{09}\x{0a}\x{0c} + 5: > \x{09}\x{0a} + 6: > \x{09} + +/^>[\p{Xsp}]/8 + >\x{2028}\x{0b} + 0: >\x{2028} + +/^>[\p{Xsp}]+/8 + > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028} + 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680} + 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0} + 3: > \x{09}\x{0a}\x{0c}\x{0d} + 4: > \x{09}\x{0a}\x{0c} + 5: > \x{09}\x{0a} + 6: > \x{09} + 7: > + +/^>\p{Xps}/8 + >\x{1680}\x{2028}\x{0b} + 0: >\x{1680} + >\x{a0} + 0: >\x{a0} + ** Failers +No match + \x{0b} +No match + +/^>\p{Xps}+/8 + > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028} + 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680} + 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0} + 4: > \x{09}\x{0a}\x{0c}\x{0d} + 5: > \x{09}\x{0a}\x{0c} + 6: > \x{09}\x{0a} + 7: > \x{09} + 8: > + +/^>\p{Xps}+?/8 + >\x{1680}\x{2028}\x{0b} + 0: >\x{1680}\x{2028}\x{0b} + 1: >\x{1680}\x{2028} + 2: >\x{1680} + +/^>\p{Xps}*/8 + > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028} + 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680} + 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0} + 4: > \x{09}\x{0a}\x{0c}\x{0d} + 5: > \x{09}\x{0a}\x{0c} + 6: > \x{09}\x{0a} + 7: > \x{09} + 8: > + 9: > + +/^>\p{Xps}{2,9}/8 + > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028} + 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680} + 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0} + 4: > \x{09}\x{0a}\x{0c}\x{0d} + 5: > \x{09}\x{0a}\x{0c} + 6: > \x{09}\x{0a} + 7: > \x{09} + +/^>\p{Xps}{2,9}?/8 + > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028} + 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680} + 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0} + 4: > \x{09}\x{0a}\x{0c}\x{0d} + 5: > \x{09}\x{0a}\x{0c} + 6: > \x{09}\x{0a} + 7: > \x{09} + +/^>[\p{Xps}]/8 + >\x{2028}\x{0b} + 0: >\x{2028} + +/^>[\p{Xps}]+/8 + > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b} + 1: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028} + 2: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680} + 3: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0} + 4: > \x{09}\x{0a}\x{0c}\x{0d} + 5: > \x{09}\x{0a}\x{0c} + 6: > \x{09}\x{0a} + 7: > \x{09} + 8: > + +/^\p{Xwd}/8 + ABCD + 0: A + 1234 + 0: 1 + \x{6ca} + 0: \x{6ca} + \x{a6c} + 0: \x{a6c} + \x{10a7} + 0: \x{10a7} + _ABC + 0: _ + ** Failers +No match + [] +No match + +/^\p{Xwd}+/8 + ABCD1234\x{6ca}\x{a6c}\x{10a7}_ + 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_ + 1: ABCD1234\x{6ca}\x{a6c}\x{10a7} + 2: ABCD1234\x{6ca}\x{a6c} + 3: ABCD1234\x{6ca} + 4: ABCD1234 + 5: ABCD123 + 6: ABCD12 + 7: ABCD1 + 8: ABCD + 9: ABC +10: AB +11: A + +/^\p{Xwd}*/8 + ABCD1234\x{6ca}\x{a6c}\x{10a7}_ + 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_ + 1: ABCD1234\x{6ca}\x{a6c}\x{10a7} + 2: ABCD1234\x{6ca}\x{a6c} + 3: ABCD1234\x{6ca} + 4: ABCD1234 + 5: ABCD123 + 6: ABCD12 + 7: ABCD1 + 8: ABCD + 9: ABC +10: AB +11: A +12: + +/^\p{Xwd}{2,9}/8 + A_12\x{6ca}\x{a6c}\x{10a7} + 0: A_12\x{6ca}\x{a6c}\x{10a7} + 1: A_12\x{6ca}\x{a6c} + 2: A_12\x{6ca} + 3: A_12 + 4: A_1 + 5: A_ + +/^[\p{Xwd}]/8 + ABCD1234_ + 0: A + 1234abcd_ + 0: 1 + \x{6ca} + 0: \x{6ca} + \x{a6c} + 0: \x{a6c} + \x{10a7} + 0: \x{10a7} + _ABC + 0: _ + ** Failers +No match + [] +No match + +/^[\p{Xwd}]+/8 + ABCD1234\x{6ca}\x{a6c}\x{10a7}_ + 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_ + 1: ABCD1234\x{6ca}\x{a6c}\x{10a7} + 2: ABCD1234\x{6ca}\x{a6c} + 3: ABCD1234\x{6ca} + 4: ABCD1234 + 5: ABCD123 + 6: ABCD12 + 7: ABCD1 + 8: ABCD + 9: ABC +10: AB +11: A + +/-- Unicode properties for \b abd \B --/ + +/\b...\B/8W + abc_ + 0: abc + \x{37e}abc\x{376} + 0: abc + \x{37e}\x{376}\x{371}\x{393}\x{394} + 0: \x{376}\x{371}\x{393} + !\x{c0}++\x{c1}\x{c2} + 0: ++\x{c1} + !\x{c0}+++++ + 0: \x{c0}++ + +/-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/ + +/\b...\B/8 + abc_ + 0: abc + ** Failers + 0: Fai + \x{37e}abc\x{376} +No match + \x{37e}\x{376}\x{371}\x{393}\x{394} +No match + !\x{c0}++\x{c1}\x{c2} +No match + !\x{c0}+++++ +No match + +/-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/ + +/\b...\B/W + abc_ + 0: abc + !\x{c0}++\x{c1}\x{c2} + 0: ++\xc1 + !\x{c0}+++++ + 0: \xc0++ + +/-- Caseless single negated characters > 127 need UCP support --/ + +/[^\x{100}]/8i + \x{100}\x{101}X + 0: X + +/[^\x{100}]+/8i + \x{100}\x{101}XX + 0: XX + 1: X + +/^\X/8 + A\P + 0: A + A\P\P +Partial match: A + A\x{300}\x{301}\P + 0: A\x{300}\x{301} + A\x{300}\x{301}\P\P +Partial match: A\x{300}\x{301} + A\x{301}\P + 0: A\x{301} + A\x{301}\P\P +Partial match: A\x{301} + +/^\X{2,3}/8 + A\P +Partial match: A + A\P\P +Partial match: A + AA\P + 0: AA + AA\P\P +Partial match: AA + A\x{300}\x{301}\P +Partial match: A\x{300}\x{301} + A\x{300}\x{301}\P\P +Partial match: A\x{300}\x{301} + A\x{300}\x{301}A\x{300}\x{301}\P + 0: A\x{300}\x{301}A\x{300}\x{301} + A\x{300}\x{301}A\x{300}\x{301}\P\P +Partial match: A\x{300}\x{301}A\x{300}\x{301} + +/^\X{2}/8 + AA\P + 0: AA + AA\P\P +Partial match: AA + A\x{300}\x{301}A\x{300}\x{301}\P + 0: A\x{300}\x{301}A\x{300}\x{301} + A\x{300}\x{301}A\x{300}\x{301}\P\P +Partial match: A\x{300}\x{301}A\x{300}\x{301} + +/^\X+/8 + AA\P + 0: AA + 1: A + AA\P\P +Partial match: AA + +/^\X+?Z/8 + AA\P +Partial match: AA + AA\P\P +Partial match: AA + +/-- End of testinput10 --/ |