1 /-- These tests for Unicode property support test PCRE's API and show some of
2 the compiled code. They are not Perl-compatible. --/
5 ------------------------------------------------------------------
10 ------------------------------------------------------------------
11 Capturing subpattern count = 0
17 ------------------------------------------------------------------
22 ------------------------------------------------------------------
23 Capturing subpattern count = 0
29 ------------------------------------------------------------------
34 ------------------------------------------------------------------
35 Capturing subpattern count = 0
41 ------------------------------------------------------------------
46 ------------------------------------------------------------------
47 Capturing subpattern count = 0
52 /[abc\p{L}\x{0660}]/8DZ
53 ------------------------------------------------------------------
58 ------------------------------------------------------------------
59 Capturing subpattern count = 0
65 ------------------------------------------------------------------
70 ------------------------------------------------------------------
71 Capturing subpattern count = 0
79 ------------------------------------------------------------------
84 ------------------------------------------------------------------
85 Capturing subpattern count = 0
100 /[\x{105}-\x{109}]/8iDZ
101 ------------------------------------------------------------------
106 ------------------------------------------------------------------
107 Capturing subpattern count = 0
108 Options: caseless utf
125 ------------------------------------------------------------------
127 [Zz-\xff\x{39c}\x{3bc}\x{212b}\x{1e9e}\x{212b}\x{178}\x{100}-\x{101}]
130 ------------------------------------------------------------------
131 Capturing subpattern count = 0
132 Options: caseless utf
163 ------------------------------------------------------------------
165 [Zz-\xff\x{39c}\x{3bc}\x{212b}\x{1e9e}\x{212b}\x{178}\x{100}-\x{101}]
168 ------------------------------------------------------------------
169 Capturing subpattern count = 0
170 Options: caseless utf
177 ------------------------------------------------------------------
182 ------------------------------------------------------------------
185 ------------------------------------------------------------------
190 ------------------------------------------------------------------
198 /\p{Yi}+(\P{Yi}+)(?1)/
204 /[\P{Yi}\P{Yi}\P{Yi}A]/
208 /[^\P{Yi}\P{Yi}\P{Yi}A]/
224 /(\P{Yi}{0,3}?\277)*/
226 /(\p{Yi}{0,3}+\277)*/
229 ------------------------------------------------------------------
235 ------------------------------------------------------------------
238 \x{2028}\x{2028}\x{2028}
239 0: \x{2028}\x{2028}\x{2028}
242 ------------------------------------------------------------------
247 ------------------------------------------------------------------
250 ------------------------------------------------------------------
255 ------------------------------------------------------------------
258 ------------------------------------------------------------------
263 ------------------------------------------------------------------
266 ------------------------------------------------------------------
271 ------------------------------------------------------------------
312 $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
313 0: $\x{a2}\x{a3}\x{a4}\x{a5}
341 /-- These are here rather than in test 6 because Perl has problems with
342 the negative versions of the properties and behaves has changed how
343 it behaves for caseless matching. --/
399 /-- The next two are special cases where the lengths of the different cases of
400 the same character differ. The first went wrong with heap frame storage; the
401 second was broken in all cases. --/
403 /^\x{023a}+?(\x{0130}+)/8i
404 \x{023a}\x{2c65}\x{0130}
405 0: \x{23a}\x{2c65}\x{130}
414 \x{c0}\x{e0}\x{116}\x{117}
415 0: \x{c0}\x{e0}\x{116}\x{117}
418 \x{c0}\x{e0}\x{116}\x{117}
419 0: \x{c0}\x{e0}\x{116}\x{117}
447 /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
448 will match it only with UCP support, because without that it has no notion
449 of case for anything other than the ASCII letters. --/
465 /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
484 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
485 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
492 \x{6ca}\x{a6c}\x{10a7}_
496 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
497 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
500 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
504 \x{6ca}\x{a6c}\x{10a7}_
524 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
525 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
532 >\x{1680}\x{2028}\x{0b}
542 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
543 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
546 >\x{1680}\x{2028}\x{0b}
550 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
551 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
554 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
555 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
558 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
566 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
567 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
570 >\x{1680}\x{2028}\x{0b}
580 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
581 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
584 >\x{1680}\x{2028}\x{0b}
588 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
589 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
592 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
593 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
596 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
604 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
605 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
626 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
627 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
630 \x{6ca}\x{a6c}\x{10a7}_
634 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
635 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
638 A_B12\x{6ca}\x{a6c}\x{10a7}
639 0: A_B12\x{6ca}\x{a6c}\x{10a7}
642 \x{6ca}\x{a6c}\x{10a7}_
664 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
665 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
667 /-- A check not in UTF-8 mode --/
673 /-- Some negative checks --/
684 ------------------------------------------------------------------
689 ------------------------------------------------------------------
694 ------------------------------------------------------------------
699 ------------------------------------------------------------------
704 ------------------------------------------------------------------
709 ------------------------------------------------------------------
710 \x{1680}\x{6f4}\x{1680}
714 ------------------------------------------------------------------
719 ------------------------------------------------------------------
724 ------------------------------------------------------------------
729 ------------------------------------------------------------------
734 ------------------------------------------------------------------
739 ------------------------------------------------------------------
744 ------------------------------------------------------------------
749 ------------------------------------------------------------------
754 ------------------------------------------------------------------
759 ------------------------------------------------------------------
764 ------------------------------------------------------------------
769 ------------------------------------------------------------------
770 \x{1680}\x{6f4}\x{1680}
774 ------------------------------------------------------------------
779 ------------------------------------------------------------------
784 ------------------------------------------------------------------
789 ------------------------------------------------------------------
794 ------------------------------------------------------------------
799 ------------------------------------------------------------------
804 ------------------------------------------------------------------
809 ------------------------------------------------------------------
812 ------------------------------------------------------------------
817 ------------------------------------------------------------------
820 ------------------------------------------------------------------
825 ------------------------------------------------------------------
828 ------------------------------------------------------------------
833 ------------------------------------------------------------------
836 ------------------------------------------------------------------
841 ------------------------------------------------------------------
844 ------------------------------------------------------------------
849 ------------------------------------------------------------------
852 ------------------------------------------------------------------
857 ------------------------------------------------------------------
860 ------------------------------------------------------------------
865 ------------------------------------------------------------------
868 ------------------------------------------------------------------
873 ------------------------------------------------------------------
876 ------------------------------------------------------------------
881 ------------------------------------------------------------------
884 ------------------------------------------------------------------
889 ------------------------------------------------------------------
892 ------------------------------------------------------------------
897 ------------------------------------------------------------------
900 ------------------------------------------------------------------
905 ------------------------------------------------------------------
907 /-- Unicode properties for \b abd \B --/
914 \x{37e}\x{376}\x{371}\x{393}\x{394}
915 0: \x{376}\x{371}\x{393}
916 !\x{c0}++\x{c1}\x{c2}
921 /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
930 \x{37e}\x{376}\x{371}\x{393}\x{394}
932 !\x{c0}++\x{c1}\x{c2}
937 /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
942 !\x{c0}++\x{c1}\x{c2}
947 /-- Some of these are silly, but they check various combinations --/
949 /[[:^alpha:][:^cntrl:]]+/8WBZ
950 ------------------------------------------------------------------
952 [ -~\x80-\xff\P{L}\x{100}-\x{10ffff}]++
955 ------------------------------------------------------------------
961 /[[:^cntrl:][:^alpha:]]+/8WBZ
962 ------------------------------------------------------------------
964 [ -~\x80-\xff\x{100}-\x{10ffff}\P{L}]++
967 ------------------------------------------------------------------
974 ------------------------------------------------------------------
979 ------------------------------------------------------------------
983 /[[:^alpha:]\S]+/8WBZ
984 ------------------------------------------------------------------
989 ------------------------------------------------------------------
996 ------------------------------------------------------------------
1001 ------------------------------------------------------------------
1009 /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
1010 ------------------------------------------------------------------
1020 ------------------------------------------------------------------
1022 /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
1023 ------------------------------------------------------------------
1033 ------------------------------------------------------------------
1035 /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
1036 ------------------------------------------------------------------
1046 ------------------------------------------------------------------
1048 /\p{Han}+X\p{Greek}+\x{370}/BZ8
1049 ------------------------------------------------------------------
1057 ------------------------------------------------------------------
1059 /\p{Xan}+!\p{Xan}+A/BZ
1060 ------------------------------------------------------------------
1068 ------------------------------------------------------------------
1070 /\p{Xsp}+!\p{Xsp}\t/BZ
1071 ------------------------------------------------------------------
1079 ------------------------------------------------------------------
1081 /\p{Xps}+!\p{Xps}\t/BZ
1082 ------------------------------------------------------------------
1090 ------------------------------------------------------------------
1092 /\p{Xwd}+!\p{Xwd}_/BZ
1093 ------------------------------------------------------------------
1101 ------------------------------------------------------------------
1103 /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
1104 ------------------------------------------------------------------
1116 ------------------------------------------------------------------
1118 /-- These behaved oddly in Perl, so they are kept in this test --/
1120 /(\x{23a}\x{23a}\x{23a})?\1/8i
1121 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1128 /(\x{23a}\x{23a}\x{23a})?\1/8i
1129 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1130 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1131 1: \x{23a}\x{23a}\x{23a}
1135 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1136 1: \x{23a}\x{23a}\x{23a}
1138 /(\x{23a}\x{23a}\x{23a})\1/8i
1139 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1146 /(\x{23a}\x{23a}\x{23a})\1/8i
1147 \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1148 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1149 1: \x{23a}\x{23a}\x{23a}
1153 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1154 1: \x{23a}\x{23a}\x{23a}
1156 /(\x{2c65}\x{2c65})\1/8i
1157 \x{2c65}\x{2c65}\x{23a}\x{23a}
1158 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
1163 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
1166 /(\x{23a}\x{23a}\x{23a})\1Y/8i
1167 X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
1168 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}Y
1169 1: \x{23a}\x{23a}\x{23a}
1171 /(\x{2c65}\x{2c65})\1Y/8i
1172 X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
1173 0: \x{2c65}\x{2c65}\x{23a}\x{23a}Y
1178 /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
1222 0: Ste\x{301}re\x{301}o
1239 Failed: \C not allowed in lookbehind assertion at offset 10
1279 /-- These Unicode 6.1.0 scripts are not known to Perl. --/
1283 0: \x{11100}\x{1113c}
1287 0: \x{11680}\x{116c0}
1297 Partial match: A\x{300}\x{301}
1301 Partial match: A\x{301}
1313 Partial match: A\x{300}\x{301}
1315 Partial match: A\x{300}\x{301}
1316 A\x{300}\x{301}A\x{300}\x{301}\P
1317 0: A\x{300}\x{301}A\x{300}\x{301}
1318 A\x{300}\x{301}A\x{300}\x{301}\P\P
1319 Partial match: A\x{300}\x{301}A\x{300}\x{301}
1326 A\x{300}\x{301}A\x{300}\x{301}\P
1327 0: A\x{300}\x{301}A\x{300}\x{301}
1328 A\x{300}\x{301}A\x{300}\x{301}\P\P
1329 Partial match: A\x{300}\x{301}A\x{300}\x{301}
1344 ------------------------------------------------------------------
1347 clist 03a3 03c2 03c3
1351 ------------------------------------------------------------------
1352 Capturing subpattern count = 0
1353 Options: caseless utf
1354 First char = 'A' (caseless)
1355 Need char = 'B' (caseless)
1358 ------------------------------------------------------------------
1360 clist 03a3 03c2 03c3
1364 ------------------------------------------------------------------
1365 Capturing subpattern count = 0
1366 Options: caseless utf
1368 Need char = 'B' (caseless)
1371 ------------------------------------------------------------------
1373 clist 03a3 03c2 03c3
1376 ------------------------------------------------------------------
1379 ------------------------------------------------------------------
1381 not clist 03a3 03c2 03c3
1384 ------------------------------------------------------------------
1387 ------------------------------------------------------------------
1389 clist 03a3 03c2 03c3 ++
1392 ------------------------------------------------------------------
1395 ------------------------------------------------------------------
1397 not clist 03a3 03c2 03c3 ++
1400 ------------------------------------------------------------------
1403 ------------------------------------------------------------------
1406 clist 03a3 03c2 03c3
1409 ------------------------------------------------------------------
1412 ------------------------------------------------------------------
1414 clist 03a3 03c2 03c3 ++
1418 ------------------------------------------------------------------
1420 /\x{3a3}*\x{3c2}/8iBZ
1421 ------------------------------------------------------------------
1423 clist 03a3 03c2 03c3 *
1424 clist 03a3 03c2 03c3
1427 ------------------------------------------------------------------
1430 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1431 0: \x{3a3}\x{3c3}\x{3c2}
1432 0+ \x{3a3}\x{3c3}\x{3c2}
1435 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1436 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}
1440 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1442 0+ \x{3c2}\x{3a3}\x{3c3}\x{3c2}
1445 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1446 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1452 \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1455 /\x{3a3}*\x{3c2}/8iBZ
1456 ------------------------------------------------------------------
1458 clist 03a3 03c2 03c3 *
1459 clist 03a3 03c2 03c3
1462 ------------------------------------------------------------------
1464 /[^\x{3a3}]*\x{3c2}/8iBZ
1465 ------------------------------------------------------------------
1467 not clist 03a3 03c2 03c3 *+
1468 clist 03a3 03c2 03c3
1471 ------------------------------------------------------------------
1474 ------------------------------------------------------------------
1477 clist 03a3 03c2 03c3
1480 ------------------------------------------------------------------
1483 ------------------------------------------------------------------
1486 clist 0053 0073 017f
1490 ------------------------------------------------------------------
1512 /-- This property is a PCRE special --/
1529 $@`\x{a0}\x{1234}\x{e000}**
1530 0: $@`\x{a0}\x{1234}\x{e000}
1537 $@`\x{a0}\x{1234}\x{e000}**
1545 $@`\x{a0}\x{1234}\x{e000}**
1546 0: $@`\x{a0}\x{1234}\x{e000}*
1553 $@`\x{a0}\x{1234}\x{e000}**
1554 0: $@`\x{a0}\x{1234}\x{e000}
1561 $@`\x{a0}\x{1234}\x{e000}**
1562 0: $@`\x{a0}\x{1234}
1569 $@`\x{a0}\x{1234}\x{e000}**
1577 $@`\x{a0}\x{1234}\x{e000}**
1585 $@`\x{a0}\x{1234}\x{e000}**
1586 0: $@`\x{a0}\x{1234}\x{e000}
1620 /-- Some auto-possessification tests --/
1623 ------------------------------------------------------------------
1629 ------------------------------------------------------------------
1632 ------------------------------------------------------------------
1638 ------------------------------------------------------------------
1641 ------------------------------------------------------------------
1646 ------------------------------------------------------------------
1649 ------------------------------------------------------------------
1654 ------------------------------------------------------------------
1656 /\p{Any}+\p{Any} \p{Any}+\P{Any} \p{Any}+\p{L&} \p{Any}+\p{L} \p{Any}+\p{Lu} \p{Any}+\p{Han} \p{Any}+\p{Xan} \p{Any}+\p{Xsp} \p{Any}+\p{Xps} \p{Xwd}+\p{Any} \p{Any}+\p{Xuc}/BWZx
1657 ------------------------------------------------------------------
1683 ------------------------------------------------------------------
1685 /\p{L&}+\p{Any} \p{L&}+\p{L&} \P{L&}+\p{L&} \p{L&}+\p{L} \p{L&}+\p{Lu} \p{L&}+\p{Han} \p{L&}+\p{Xan} \p{L&}+\P{Xan} \p{L&}+\p{Xsp} \p{L&}+\p{Xps} \p{Xwd}+\p{L&} \p{L&}+\p{Xuc}/BWZx
1686 ------------------------------------------------------------------
1714 ------------------------------------------------------------------
1716 /\p{N}+\p{Any} \p{N}+\p{L&} \p{N}+\p{L} \p{N}+\P{L} \p{N}+\P{N} \p{N}+\p{Lu} \p{N}+\p{Han} \p{N}+\p{Xan} \p{N}+\p{Xsp} \p{N}+\p{Xps} \p{Xwd}+\p{N} \p{N}+\p{Xuc}/BWZx
1717 ------------------------------------------------------------------
1745 ------------------------------------------------------------------
1747 /\p{Lu}+\p{Any} \p{Lu}+\p{L&} \p{Lu}+\p{L} \p{Lu}+\p{Lu} \P{Lu}+\p{Lu} \p{Lu}+\p{Nd} \p{Lu}+\P{Nd} \p{Lu}+\p{Han} \p{Lu}+\p{Xan} \p{Lu}+\p{Xsp} \p{Lu}+\p{Xps} \p{Xwd}+\p{Lu} \p{Lu}+\p{Xuc}/BWZx
1748 ------------------------------------------------------------------
1778 ------------------------------------------------------------------
1780 /\p{Han}+\p{Lu} \p{Han}+\p{L&} \p{Han}+\p{L} \p{Han}+\p{Lu} \p{Han}+\p{Arabic} \p{Arabic}+\p{Arabic} \p{Han}+\p{Xan} \p{Han}+\p{Xsp} \p{Han}+\p{Xps} \p{Xwd}+\p{Han} \p{Han}+\p{Xuc}/BWZx
1781 ------------------------------------------------------------------
1807 ------------------------------------------------------------------
1809 /\p{Xan}+\p{Any} \p{Xan}+\p{L&} \P{Xan}+\p{L&} \p{Xan}+\p{L} \p{Xan}+\p{Lu} \p{Xan}+\p{Han} \p{Xan}+\p{Xan} \p{Xan}+\P{Xan} \p{Xan}+\p{Xsp} \p{Xan}+\p{Xps} \p{Xwd}+\p{Xan} \p{Xan}+\p{Xuc}/BWZx
1810 ------------------------------------------------------------------
1838 ------------------------------------------------------------------
1840 /\p{Xsp}+\p{Any} \p{Xsp}+\p{L&} \p{Xsp}+\p{L} \p{Xsp}+\p{Lu} \p{Xsp}+\p{Han} \p{Xsp}+\p{Xan} \p{Xsp}+\p{Xsp} \P{Xsp}+\p{Xsp} \p{Xsp}+\p{Xps} \p{Xwd}+\p{Xsp} \p{Xsp}+\p{Xuc}/BWZx
1841 ------------------------------------------------------------------
1867 ------------------------------------------------------------------
1869 /\p{Xwd}+\p{Any} \p{Xwd}+\p{L&} \p{Xwd}+\p{L} \p{Xwd}+\p{Lu} \p{Xwd}+\p{Han} \p{Xwd}+\p{Xan} \p{Xwd}+\p{Xsp} \p{Xwd}+\p{Xps} \p{Xwd}+\p{Xwd} \p{Xwd}+\P{Xwd} \p{Xwd}+\p{Xuc}/BWZx
1870 ------------------------------------------------------------------
1896 ------------------------------------------------------------------
1898 /\p{Xuc}+\p{Any} \p{Xuc}+\p{L&} \p{Xuc}+\p{L} \p{Xuc}+\p{Lu} \p{Xuc}+\p{Han} \p{Xuc}+\p{Xan} \p{Xuc}+\p{Xsp} \p{Xuc}+\p{Xps} \p{Xwd}+\p{Xuc} \p{Xuc}+\p{Xuc} \p{Xuc}+\P{Xuc}/BWZx
1899 ------------------------------------------------------------------
1925 ------------------------------------------------------------------
1927 /\p{N}+\p{Ll} \p{N}+\p{Nd} \p{N}+\P{Nd}/BWZx
1928 ------------------------------------------------------------------
1938 ------------------------------------------------------------------
1940 /\p{Xan}+\p{L} \p{Xan}+\p{N} \p{Xan}+\p{C} \p{Xan}+\P{L} \P{Xan}+\p{N} \p{Xan}+\P{C}/BWZx
1941 ------------------------------------------------------------------
1957 ------------------------------------------------------------------
1959 /\p{L}+\p{Xan} \p{N}+\p{Xan} \p{C}+\p{Xan} \P{L}+\p{Xan} \p{N}+\p{Xan} \P{C}+\p{Xan} \p{L}+\P{Xan}/BWZx
1960 ------------------------------------------------------------------
1978 ------------------------------------------------------------------
1980 /\p{Xan}+\p{Lu} \p{Xan}+\p{Nd} \p{Xan}+\p{Cc} \p{Xan}+\P{Ll} \P{Xan}+\p{No} \p{Xan}+\P{Cf}/BWZx
1981 ------------------------------------------------------------------
1997 ------------------------------------------------------------------
1999 /\p{Lu}+\p{Xan} \p{Nd}+\p{Xan} \p{Cs}+\p{Xan} \P{Lt}+\p{Xan} \p{Nl}+\p{Xan} \P{Cc}+\p{Xan} \p{Lt}+\P{Xan}/BWZx
2000 ------------------------------------------------------------------
2018 ------------------------------------------------------------------
2020 /\w+\p{P} \w+\p{Po} \w+\s \p{Xan}+\s \s+\p{Xan} \s+\w/BWZx
2021 ------------------------------------------------------------------
2037 ------------------------------------------------------------------
2039 /\w+\P{P} \W+\p{Po} \w+\S \P{Xan}+\s \s+\P{Xan} \s+\W/BWZx
2040 ------------------------------------------------------------------
2056 ------------------------------------------------------------------
2058 /\w+\p{Po} \w+\p{Pc} \W+\p{Po} \W+\p{Pc} \w+\P{Po} \w+\P{Pc}/BWZx
2059 ------------------------------------------------------------------
2075 ------------------------------------------------------------------
2077 /\p{Nl}+\p{Xan} \P{Nl}+\p{Xan} \p{Nl}+\P{Xan} \P{Nl}+\P{Xan}/BWZx
2078 ------------------------------------------------------------------
2090 ------------------------------------------------------------------
2092 /\p{Xan}+\p{Nl} \P{Xan}+\p{Nl} \p{Xan}+\P{Nl} \P{Xan}+\P{Nl}/BWZx
2093 ------------------------------------------------------------------
2105 ------------------------------------------------------------------
2107 /\p{Xan}+\p{Nd} \P{Xan}+\p{Nd} \p{Xan}+\P{Nd} \P{Xan}+\P{Nd}/BWZx
2108 ------------------------------------------------------------------
2120 ------------------------------------------------------------------
2122 /-- End auto-possessification tests --/
2125 ------------------------------------------------------------------
2132 ------------------------------------------------------------------
2140 ------------------------------------------------------------------
2145 ------------------------------------------------------------------
2147 /[\p{L}ab]{2,3}+/BZO
2148 ------------------------------------------------------------------
2153 ------------------------------------------------------------------
2155 /\D+\X \d+\X \S+\X \s+\X \W+\X \w+\X \C+\X \R+\X \H+\X \h+\X \V+\X \v+\X a+\X \n+\X .+\X/BZx
2156 ------------------------------------------------------------------
2190 ------------------------------------------------------------------
2193 ------------------------------------------------------------------
2199 ------------------------------------------------------------------
2202 ------------------------------------------------------------------
2208 ------------------------------------------------------------------
2210 /\X+\D \X+\d \X+\S \X+\s \X+\W \X+\w \X+. \X+\C \X+\R \X+\H \X+\h \X+\V \X+\v \X+\X \X+\Z \X+\z \X+$/BZx
2211 ------------------------------------------------------------------
2249 ------------------------------------------------------------------
2251 /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/8WBZ
2252 ------------------------------------------------------------------
2264 ------------------------------------------------------------------
2267 ------------------------------------------------------------------
2272 ------------------------------------------------------------------
2275 ------------------------------------------------------------------
2280 ------------------------------------------------------------------
2283 ------------------------------------------------------------------
2288 ------------------------------------------------------------------
2291 Capturing subpattern count = 0
2292 Options: caseless multiline utf
2293 First char at start or follows newline
2294 Need char = 'c' (caseless)
2299 ------------------------------------------------------------------
2301 [\x00-/:-@[-^`{-\xff\p{Any}]
2304 ------------------------------------------------------------------
2311 ------------------------------------------------------------------
2313 [\x00-/:-@[-^`{-\xff\p{L}]
2316 ------------------------------------------------------------------
2325 ------------------------------------------------------------------
2331 ------------------------------------------------------------------
2334 ------------------------------------------------------------------
2340 ------------------------------------------------------------------
2343 ------------------------------------------------------------------
2349 ------------------------------------------------------------------
2351 /L(?#(|++<!(2)?/B8COZ
2352 ------------------------------------------------------------------
2359 ------------------------------------------------------------------
2361 /L(?#(|++<!(2)?/B8WCZ
2362 ------------------------------------------------------------------
2369 ------------------------------------------------------------------
2371 /-- End of testinput7 --/