/[pcre]/code/trunk/testdata/testoutput12
ViewVC logotype

Diff of /code/trunk/testdata/testoutput12

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 650 by ph10, Wed May 25 08:29:03 2011 UTC revision 651 by ph10, Mon Aug 1 16:32:40 2011 UTC
# Line 1  Line 1 
1  /-- These tests for Unicode property support test PCRE's API and show some of  /a(*:a\x{1234}b)/8K
2      the compiled code. They are not Perl-compatible. --/      abc
   
 /[\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  
 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  
   
 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8iDZ  
 ------------------------------------------------------------------  
         Bra  
      /i 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  
      /i AB\x{1fb0}  
         Ket  
         End  
 ------------------------------------------------------------------  
 Capturing subpattern count = 0  
 Options: caseless utf8  
 First char = 'A' (caseless)  
 Need char = 'B' (caseless)  
   
 /[\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  
   
 /(?:[\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{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  
 ------------------------------------------------------------------  
   
 /^\p{Cs}/8  
     \?\x{dfff}  
  0: \x{dfff}  
     ** Failers  
 No match  
     \x{09f}  
 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{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  
   
 /-- These four are here rather than in test 6 because Perl has problems with  
     the negative versions of the properties. --/  
   
 /\p{^Lu}/8i  
     1234  
  0: 1  
     ** Failers  
  0: *  
     ABC  
 No match  
   
 /\P{Lu}/8i  
     1234  
  0: 1  
     ** Failers  
  0: *  
     ABC  
 No match  
   
 /\p{Ll}/8i  
     a  
  0: a  
     Az  
  0: z  
     ** Failers  
3   0: a   0: a
4      ABC  MK: a\x{1234}b
 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  
   
 /[\x{c0}\x{391}]/8i  
     \x{c0}  
  0: \x{c0}  
     \x{e0}  
  0: \x{e0}  
   
 /-- The next two are special cases where the lengths of the different cases of  
 the same character differ. The first went wrong with heap frame storage; the  
 second 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}  
   
 /\x{c0}+\x{116}+/8i  
     \x{c0}\x{e0}\x{116}\x{117}  
  0: \x{c0}\x{e0}\x{116}\x{117}  
   
 /[\x{c0}\x{116}]+/8i  
     \x{c0}\x{e0}\x{116}\x{117}  
  0: \x{c0}\x{e0}\x{116}\x{117}  
   
 /(\x{de})\1/8i  
     \x{de}\x{de}  
  0: \x{de}\x{de}  
  1: \x{de}  
     \x{de}\x{fe}  
  0: \x{de}\x{fe}  
  1: \x{de}  
     \x{fe}\x{fe}  
  0: \x{fe}\x{fe}  
  1: \x{fe}  
     \x{fe}\x{de}  
  0: \x{fe}\x{de}  
  1: \x{fe}  
   
 /^\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}  
   
 /-- 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}  
   
 /-- This should be Perl-compatible but Perl 5.11 gets \x{300} wrong. --/8  
   
 /^\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  
   
 /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/  
   
 /^\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}  
     ** Failers  
 No match  
     _ABC  
 No match  
   
 /^\p{Xan}+?/8  
     \x{6ca}\x{a6c}\x{10a7}_  
  0: \x{6ca}  
   
 /^\p{Xan}*/8  
     ABCD1234\x{6ca}\x{a6c}\x{10a7}_  
  0: ABCD1234\x{6ca}\x{a6c}\x{10a7}  
   
 /^\p{Xan}{2,9}/8  
     ABCD1234\x{6ca}\x{a6c}\x{10a7}_  
  0: ABCD1234\x{6ca}  
   
 /^\p{Xan}{2,9}?/8  
     \x{6ca}\x{a6c}\x{10a7}_  
  0: \x{6ca}\x{a6c}  
   
 /^[\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}  
     ** Failers  
 No match  
     _ABC  
 No match  
   
 /^>\p{Xsp}/8  
     >\x{1680}\x{2028}\x{0b}  
  0: >\x{1680}  
     >\x{a0}  
  0: >\x{a0}  
     ** 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}  
   
 /^>\p{Xsp}+?/8  
     >\x{1680}\x{2028}\x{0b}  
  0: >\x{1680}  
   
 /^>\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}  
   
 /^>\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}  
   
 /^>\p{Xsp}{2,9}?/8  
     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}  
  0: > \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}  
   
 /^>\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}  
   
 /^>\p{Xps}+?/8  
     >\x{1680}\x{2028}\x{0b}  
  0: >\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}  
   
 /^>\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}  
   
 /^>\p{Xps}{2,9}?/8  
     > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}  
  0: > \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}  
   
 /^\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}_  
   
 /^\p{Xwd}+?/8  
     \x{6ca}\x{a6c}\x{10a7}_  
  0: \x{6ca}  
5    
6  /^\p{Xwd}*/8  /a(*:a£b)/8K
     ABCD1234\x{6ca}\x{a6c}\x{10a7}_  
  0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_  
   
 /^\p{Xwd}{2,9}/8  
     A_B12\x{6ca}\x{a6c}\x{10a7}  
  0: A_B12\x{6ca}\x{a6c}\x{10a7}  
   
 /^\p{Xwd}{2,9}?/8  
     \x{6ca}\x{a6c}\x{10a7}_  
  0: \x{6ca}\x{a6c}  
   
 /^[\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}_  
   
 /-- A check not in UTF-8 mode --/  
   
 /^[\p{Xwd}]+/  
     ABCD1234_  
  0: ABCD1234_  
   
 /-- Some negative checks --/  
   
 /^[\P{Xwd}]+/8  
     !.+\x{019}\x{35a}AB  
  0: !.+\x{19}\x{35a}  
   
 /^[\p{^Xwd}]+/8  
     !.+\x{019}\x{35a}AB  
  0: !.+\x{19}\x{35a}  
   
 /[\D]/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         [\P{Nd}]  
         Ket  
         End  
 ------------------------------------------------------------------  
     1\x{3c8}2  
  0: \x{3c8}  
   
 /[\d]/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         [\p{Nd}]  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x{6f4}<  
  0: \x{6f4}  
   
 /[\S]/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         [\P{Xsp}]  
         Ket  
         End  
 ------------------------------------------------------------------  
     \x{1680}\x{6f4}\x{1680}  
  0: \x{6f4}  
   
 /[\s]/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         [\p{Xsp}]  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x{1680}<  
  0: \x{1680}  
   
 /[\W]/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         [\P{Xwd}]  
         Ket  
         End  
 ------------------------------------------------------------------  
     A\x{1712}B  
  0: \x{1712}  
   
 /[\w]/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         [\p{Xwd}]  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x{1723}<  
  0: \x{1723}  
   
 /\D/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         notprop Nd  
         Ket  
         End  
 ------------------------------------------------------------------  
     1\x{3c8}2  
  0: \x{3c8}  
   
 /\d/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         prop Nd  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x{6f4}<  
  0: \x{6f4}  
   
 /\S/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         notprop Xsp  
         Ket  
         End  
 ------------------------------------------------------------------  
     \x{1680}\x{6f4}\x{1680}  
  0: \x{6f4}  
   
 /\s/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         prop Xsp  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x{1680}>  
  0: \x{1680}  
   
 /\W/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         notprop Xwd  
         Ket  
         End  
 ------------------------------------------------------------------  
     A\x{1712}B  
  0: \x{1712}  
   
 /\w/WBZ8  
 ------------------------------------------------------------------  
         Bra  
         prop Xwd  
         Ket  
         End  
 ------------------------------------------------------------------  
     >\x{1723}<  
  0: \x{1723}  
   
 /[[:alpha:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\p{L}]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:lower:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\p{Ll}]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:upper:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\p{Lu}]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:alnum:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\p{Xan}]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:ascii:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x7f]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:blank:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\x09 \xa0]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:cntrl:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\x00-\x1f\x7f]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:digit:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\p{Nd}]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:graph:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [!-~]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:print:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [ -~]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:punct:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [!-/:-@[-`{-~]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:space:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\p{Xps}]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:word:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\p{Xwd}]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /[[:xdigit:]]/WBZ  
 ------------------------------------------------------------------  
         Bra  
         [0-9A-Fa-f]  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /-- 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++  
   
 /-- POSIX interface --/  
   
 /\w/P  
     +++\x{c2}  
 No match: POSIX code 17: match failed  
   
 /\w/WP  
     +++\x{c2}  
  0: \xc2  
   
 /-- Some of these are silly, but they check various combinations --/  
   
 /[[:^alpha:][:^cntrl:]]+/8WBZ  
 ------------------------------------------------------------------  
         Bra  
         [ -~\x80-\xff\P{L}]+  
         Ket  
         End  
 ------------------------------------------------------------------  
     123  
  0: 123  
     abc  
  0: abc  
   
 /[[:^cntrl:][:^alpha:]]+/8WBZ  
 ------------------------------------------------------------------  
         Bra  
         [ -~\x80-\xff\P{L}]+  
         Ket  
         End  
 ------------------------------------------------------------------  
     123  
  0: 123  
     abc  
  0: abc  
   
 /[[:alpha:]]+/8WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\p{L}]+  
         Ket  
         End  
 ------------------------------------------------------------------  
7      abc      abc
8   0: abc   0: a
9    MK: a£b
 /[[:^alpha:]\S]+/8WBZ  
 ------------------------------------------------------------------  
         Bra  
         [\P{L}\P{Xsp}]+  
         Ket  
         End  
 ------------------------------------------------------------------  
     123  
  0: 123  
     abc  
  0: abc  
   
 /[^\d]+/8WBZ  
 ------------------------------------------------------------------  
         Bra  
         [^\p{Nd}]+  
         Ket  
         End  
 ------------------------------------------------------------------  
     abc123  
  0: abc  
     abc\x{123}  
  0: abc\x{123}  
     \x{660}abc  
  0: abc  
   
 /\x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}/8iSI  
 Capturing subpattern count = 0  
 Options: caseless utf8  
 No first char  
 No need char  
 Subject length lower bound = 17  
 Starting byte set: \xd0 \xd1  
     \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}  
  0: \x{401}\x{420}\x{421}\x{422}\x{423}\x{424}\x{425}\x{426}\x{427}\x{428}\x{429}\x{42a}\x{42b}\x{42c}\x{42d}\x{42e}\x{42f}  
     \x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f}  
  0: \x{451}\x{440}\x{441}\x{442}\x{443}\x{444}\x{445}\x{446}\x{447}\x{448}\x{449}\x{44a}\x{44b}\x{44c}\x{44d}\x{44e}\x{44f}  
   
 /\p{Xps}*/SI  
 Capturing subpattern count = 0  
 No options  
 No first char  
 No need char  
 Subject length lower bound = 0  
 No set of starting bytes  
   
 /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ  
 ------------------------------------------------------------------  
         Bra  
         prop Lu ++  
         9  
         prop Lu +  
         B  
         prop Lu ++  
         b  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ  
 ------------------------------------------------------------------  
         Bra  
         notprop Lu +  
         9  
         notprop Lu ++  
         B  
         notprop Lu +  
         b  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ  
 ------------------------------------------------------------------  
         Bra  
         notprop Lu +  
         9  
         notprop Lu ++  
         B  
         notprop Lu +  
         b  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /\p{Han}+X\p{Greek}+\x{370}/BZ8  
 ------------------------------------------------------------------  
         Bra  
         prop Han ++  
         X  
         prop Greek +  
         \x{370}  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /\p{Xan}+!\p{Xan}+A/BZ  
 ------------------------------------------------------------------  
         Bra  
         prop Xan ++  
         !  
         prop Xan +  
         A  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /\p{Xsp}+!\p{Xsp}\t/BZ  
 ------------------------------------------------------------------  
         Bra  
         prop Xsp ++  
         !  
         prop Xsp  
         \x09  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /\p{Xps}+!\p{Xps}\t/BZ  
 ------------------------------------------------------------------  
         Bra  
         prop Xps ++  
         !  
         prop Xps  
         \x09  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /\p{Xwd}+!\p{Xwd}_/BZ  
 ------------------------------------------------------------------  
         Bra  
         prop Xwd ++  
         !  
         prop Xwd  
         _  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ  
 ------------------------------------------------------------------  
         Bra  
         A++  
         prop N  
         A++  
         prop Nd  
         B+  
         prop N *+  
         B+  
         prop Nd *  
         Ket  
         End  
 ------------------------------------------------------------------  
   
 /-- These behaved oddly in Perl, so they are kept in this test --/  
   
 /(\x{23a}\x{23a}\x{23a})?\1/8i  
     \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}  
 No match  
   
 /(ȺȺȺ)?\1/8i  
     ȺȺȺⱥⱥ  
 No match  
   
 /(\x{23a}\x{23a}\x{23a})?\1/8i  
     \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}  
  0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}  
  1: \x{23a}\x{23a}\x{23a}  
   
 /(ȺȺȺ)?\1/8i  
     ȺȺȺⱥⱥⱥ  
  0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}  
  1: \x{23a}\x{23a}\x{23a}  
   
 /(\x{23a}\x{23a}\x{23a})\1/8i  
     \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}  
 No match  
   
 /(ȺȺȺ)\1/8i  
     ȺȺȺⱥⱥ  
 No match  
   
 /(\x{23a}\x{23a}\x{23a})\1/8i  
     \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}  
  0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}  
  1: \x{23a}\x{23a}\x{23a}  
   
 /(ȺȺȺ)\1/8i  
     ȺȺȺⱥⱥⱥ  
  0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}  
  1: \x{23a}\x{23a}\x{23a}  
   
 /(\x{2c65}\x{2c65})\1/8i  
     \x{2c65}\x{2c65}\x{23a}\x{23a}  
  0: \x{2c65}\x{2c65}\x{23a}\x{23a}  
  1: \x{2c65}\x{2c65}  
   
 /(ⱥⱥ)\1/8i  
     ⱥⱥȺȺ  
  0: \x{2c65}\x{2c65}\x{23a}\x{23a}  
  1: \x{2c65}\x{2c65}  
   
 /(\x{23a}\x{23a}\x{23a})\1Y/8i  
     X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ  
  0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}Y  
  1: \x{23a}\x{23a}\x{23a}  
   
 /(\x{2c65}\x{2c65})\1Y/8i  
     X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ  
  0: \x{2c65}\x{2c65}\x{23a}\x{23a}Y  
  1: \x{2c65}\x{2c65}  
   
 /-- --/  
   
 /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/  
   
 /^[\p{Batak}]/8  
     \x{1bc0}  
  0: \x{1bc0}  
     \x{1bff}  
  0: \x{1bff}  
     ** Failers  
 No match  
     \x{1bf4}  
 No match  
   
 /^[\p{Brahmi}]/8  
     \x{11000}  
  0: \x{11000}  
     \x{1106f}  
  0: \x{1106f}  
     ** Failers  
 No match  
     \x{1104e}  
 No match  
   
 /^[\p{Mandaic}]/8  
     \x{840}  
  0: \x{840}  
     \x{85e}  
  0: \x{85e}  
     ** Failers  
 No match  
     \x{85c}  
 No match  
     \x{85d}  
 No match  
   
 /-- --/  
10    
11  /-- End of testinput12 --/  /-- End of testinput12 --/

Legend:
Removed from v.650  
changed lines
  Added in v.651

  ViewVC Help
Powered by ViewVC 1.1.5