/^\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 /^\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 \x{e0000} 0: \x{e0000} ** 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} \x{3400} 0: \x{3400} \x{3401} 0: \x{3401} \x{4d00} 0: \x{4d00} \x{4db4} 0: \x{4db4} \x{4db5} 0: \x{4db5} ** Failers No match a No match \x{2b0} No match \x{4db6} 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} \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} \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} ** 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} \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} ** 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: AB /\p{Nd}+?(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661}\x{662} 1: \x{661}\x{662} /\p{Nd}{2,}(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661}\x{662}AB 1: AB /\p{Nd}{2,}?(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661}\x{662}A 1: \x{662}A /\p{Nd}*(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661}\x{662}AB 1: AB /\p{Nd}*?(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661} 1: \x{660}\x{661} /\p{Nd}{2}(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661}\x{662}A 1: \x{662}A /\p{Nd}{2,3}(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661}\x{662}AB 1: AB /\p{Nd}{2,3}?(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661}\x{662}A 1: \x{662}A /\p{Nd}?(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661}\x{662} 1: \x{661}\x{662} /\p{Nd}??(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661} 1: \x{660}\x{661} /\p{Nd}*+(..)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661}\x{662}AB 1: AB /\p{Nd}*+(...)/8 \x{660}\x{661}\x{662}ABC 0: \x{660}\x{661}\x{662}ABC 1: ABC /\p{Nd}*+(....)/8 ** Failers 0: ** F 1: ** 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{L}]/DZ ------------------------------------------------------------------ Bra [\p{L}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char /[\p{^L}]/DZ ------------------------------------------------------------------ Bra [\P{L}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char /[\P{L}]/DZ ------------------------------------------------------------------ Bra [\P{L}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char /[\P{^L}]/DZ ------------------------------------------------------------------ Bra [\p{L}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 No options No first char No need char /[abc\p{L}\x{0660}]/8DZ ------------------------------------------------------------------ Bra [a-c\p{L}\x{660}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 No first char No need char /[\p{Nd}]/8DZ ------------------------------------------------------------------ Bra [\p{Nd}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 No first char No need char 1234 0: 1 /[\p{Nd}+-]+/8DZ ------------------------------------------------------------------ Bra [+\-\p{Nd}]+ Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Partial matching not supported Options: utf8 No first char No need char 1234 0: 1234 12-34 0: 12-34 12+\x{661}-34 0: 12+\x{661}-34 ** Failers No match abcd No match /[\P{Nd}]+/8 abcd 0: abcd ** Failers 0: ** Failers 1234 No match /\D+/8 11111111111111111111111111111111111111111111111111111111111111111111111 No match aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /\P{Nd}+/8 11111111111111111111111111111111111111111111111111111111111111111111111 No match aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /[\D]+/8 11111111111111111111111111111111111111111111111111111111111111111111111 No match aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /[\P{Nd}]+/8 11111111111111111111111111111111111111111111111111111111111111111111111 No match aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /[\D\P{Nd}]+/8 11111111111111111111111111111111111111111111111111111111111111111111111 No match aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /\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} /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iDZ ------------------------------------------------------------------ Bra NC A\x{391}\x{10427}\x{ff3a}\x{1fb0} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless utf8 First char = 'A' (caseless) No need char /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8DZ ------------------------------------------------------------------ Bra A\x{391}\x{10427}\x{ff3a}\x{1fb0} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 'A' Need char = 176 /AB\x{1fb0}/8DZ ------------------------------------------------------------------ Bra AB\x{1fb0} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: utf8 First char = 'A' Need char = 176 /AB\x{1fb0}/8DZi ------------------------------------------------------------------ Bra NC AB\x{1fb0} Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless utf8 First char = 'A' (caseless) Need char = 'B' (caseless) /\x{391}+/8i \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391} 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\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 /\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} 1: \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}]/8iDZ ------------------------------------------------------------------ Bra [\x{104}-\x{109}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless utf8 No first char No need char \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}]/8iDZ ------------------------------------------------------------------ Bra [Z\x{39c}\x{178}z-\x{101}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless utf8 No first char No need char 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}]/8DZi ------------------------------------------------------------------ Bra [Z\x{39c}\x{178}z-\x{101}] Ket End ------------------------------------------------------------------ Capturing subpattern count = 0 Options: caseless utf8 No first char No need char /^\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 1: A\x{300}\x{301}\x{302}B 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\x{300}\x{301} /^(\X*?)C/8 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 0: A\x{300}\x{301}\x{302}BC 1: A\x{300}\x{301}\x{302}B A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 0: A\x{300}\x{301}\x{302}BC 1: A\x{300}\x{301}\x{302}B /^(\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 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\x{300}\x{301} 2: C /^(\X*?)(.)/8 A\x{300}\x{301}\x{302}BCA\x{300}\x{301} 0: A 1: 2: A A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C 0: A 1: 2: A /^\X(.)/8 *** Failers 0: ** 1: * 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 1: X A\x{300}\x{301}B\x{300}C\x{300}\x{301} 0: A\x{300}\x{301}B\x{300}C 1: 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: X 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: D /^\X{2,3}?(.)/8 A\x{300}\x{301}B\x{300}X 0: A\x{300}\x{301}B\x{300}X 1: X A\x{300}\x{301}B\x{300}C\x{300}\x{301} 0: A\x{300}\x{301}B\x{300}C 1: 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 1: 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 1: C /^\p{Han}+/8 \x{2e81}\x{3007}\x{2f804}\x{31a0} 0: \x{2e81}\x{3007}\x{2f804} ** Failers No match \x{2e7f} No match /^\P{Katakana}+/8 \x{3105} 0: \x{3105} ** Failers 0: ** Failers \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: abc \x{1234}\n\r\x{3456}xyz 0: \x{1234}\x{0a}\x{0d} /^\p{Any}{3,5}/8 abcdefgh 0: abcde \x{1234}\n\r\x{3456}xyz 0: \x{1234}\x{0a}\x{0d}\x{3456}x /^\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 ** 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 ** 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: 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: 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 /^(\p{Z}[^\p{C}\p{Z}]+)*$/ \xa0! 0: \xa0! 1: \xa0! /^[\pL](abc)(?1)/ AabcabcYZ 0: Aabcabc 1: abc /([\pL]=(abc))*X/ L=abcX 0: L=abcX 1: L=abc 2: abc /The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE will match it only with UCP support, because without that it has no notion of case for anything other than the ASCII letters. / /((?i)[\x{c0}])/8 \x{c0} 0: \x{c0} 1: \x{c0} \x{e0} 0: \x{e0} 1: \x{e0} /(?i:[\x{c0}])/8 \x{c0} 0: \x{c0} \x{e0} 0: \x{e0} /^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/8 \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900} 0: \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900} /The next two are special cases where the lengths of the different cases of the same character differ. The first went wrong with heap fram storage; the 2nd was broken in all cases./ /^\x{023a}+?(\x{0130}+)/8i \x{023a}\x{2c65}\x{0130} 0: \x{23a}\x{2c65}\x{130} 1: \x{130} /^\x{023a}+([^X])/8i \x{023a}\x{2c65}X 0: \x{23a}\x{2c65} 1: \x{2c65} /Check property support in non-UTF-8 mode/ /\p{L}{4}/ 123abcdefg 0: abcd 123abc\xc4\xc5zz 0: abc\xc4 /\X{1,3}\d/ \x8aBCD No match /\X?\d/ \x8aBCD No match /\P{L}?\d/ \x8aBCD No match /[\PPP\x8a]{1,}\x80/ A\x80 0: A\x80 /(?:[\PPa*]*){8,}/ /[\P{Any}]/BZ ------------------------------------------------------------------ Bra [\P{Any}] Ket End ------------------------------------------------------------------ /[\P{Any}\E]/BZ ------------------------------------------------------------------ Bra [\P{Any}] Ket End ------------------------------------------------------------------ /(\P{Yi}+\277)/ /(\P{Yi}+\277)?/ /(?<=\P{Yi}{3}A)X/ /\p{Yi}+(\P{Yi}+)(?1)/ /(\P{Yi}{2}\277)?/ /[\P{Yi}A]/ /[\P{Yi}\P{Yi}\P{Yi}A]/ /[^\P{Yi}A]/ /[^\P{Yi}\P{Yi}\P{Yi}A]/ /(\P{Yi}*\277)*/ /(\P{Yi}*?\277)*/ /(\p{Yi}*+\277)*/ /(\P{Yi}?\277)*/ /(\P{Yi}??\277)*/ /(\p{Yi}?+\277)*/ /(\P{Yi}{0,3}\277)*/ /(\P{Yi}{0,3}?\277)*/ /(\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 /