blob: 8d312e028750408cdded4b4baca2738caf3f1c5e [file] [log] [blame]
Tristan Matthews04616462013-11-14 16:09:34 -05001/-- This set of tests check Unicode property support with the DFA matching
2 functionality of pcre_dfa_exec(). The -dfa flag must be used with pcretest
3 when running it. --/
4
5/\pL\P{Nd}/8
6 AB
7 *** Failers
8 A0
9 00
10
11/\X./8
12 AB
13 A\x{300}BC
14 A\x{300}\x{301}\x{302}BC
15 *** Failers
16 \x{300}
17
18/\X\X/8
19 ABC
20 A\x{300}B\x{300}\x{301}C
21 A\x{300}\x{301}\x{302}BC
22 *** Failers
23 \x{300}
24
25/^\pL+/8
26 abcd
27 a
28 *** Failers
29
30/^\PL+/8
31 1234
32 =
33 *** Failers
34 abcd
35
36/^\X+/8
37 abcdA\x{300}\x{301}\x{302}
38 A\x{300}\x{301}\x{302}
39 A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}
40 a
41 *** Failers
42 \x{300}\x{301}\x{302}
43
44/\X?abc/8
45 abc
46 A\x{300}abc
47 A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
48 \x{300}abc
49 *** Failers
50
51/^\X?abc/8
52 abc
53 A\x{300}abc
54 *** Failers
55 A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
56 \x{300}abc
57
58/\X*abc/8
59 abc
60 A\x{300}abc
61 A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
62 \x{300}abc
63 *** Failers
64
65/^\X*abc/8
66 abc
67 A\x{300}abc
68 A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
69 *** Failers
70 \x{300}abc
71
72/^\pL?=./8
73 A=b
74 =c
75 *** Failers
76 1=2
77 AAAA=b
78
79/^\pL*=./8
80 AAAA=b
81 =c
82 *** Failers
83 1=2
84
85/^\X{2,3}X/8
86 A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
87 A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
88 *** Failers
89 X
90 A\x{300}\x{301}\x{302}X
91 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
92
93/^\pC\pL\pM\pN\pP\pS\pZ</8
94 \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
95 \np\x{300}9!\$ <
96 ** Failers
97 ap\x{300}9!\$ <
98
99/^\PC/8
100 X
101 ** Failers
102 \x7f
103
104/^\PL/8
105 9
106 ** Failers
107 \x{c0}
108
109/^\PM/8
110 X
111 ** Failers
112 \x{30f}
113
114/^\PN/8
115 X
116 ** Failers
117 \x{660}
118
119/^\PP/8
120 X
121 ** Failers
122 \x{66c}
123
124/^\PS/8
125 X
126 ** Failers
127 \x{f01}
128
129/^\PZ/8
130 X
131 ** Failers
132 \x{1680}
133
134/^\p{Cc}/8
135 \x{017}
136 \x{09f}
137 ** Failers
138 \x{0600}
139
140/^\p{Cf}/8
141 \x{601}
142 ** Failers
143 \x{09f}
144
145/^\p{Cn}/8
146 ** Failers
147 \x{09f}
148
149/^\p{Co}/8
150 \x{f8ff}
151 ** Failers
152 \x{09f}
153
154/^\p{Cs}/8
155 \?\x{dfff}
156 ** Failers
157 \x{09f}
158
159/^\p{Ll}/8
160 a
161 ** Failers
162 Z
163 \x{e000}
164
165/^\p{Lm}/8
166 \x{2b0}
167 ** Failers
168 a
169
170/^\p{Lo}/8
171 \x{1bb}
172 ** Failers
173 a
174 \x{2b0}
175
176/^\p{Lt}/8
177 \x{1c5}
178 ** Failers
179 a
180 \x{2b0}
181
182/^\p{Lu}/8
183 A
184 ** Failers
185 \x{2b0}
186
187/^\p{Mc}/8
188 \x{903}
189 ** Failers
190 X
191 \x{300}
192
193/^\p{Me}/8
194 \x{488}
195 ** Failers
196 X
197 \x{903}
198 \x{300}
199
200/^\p{Mn}/8
201 \x{300}
202 ** Failers
203 X
204 \x{903}
205
206/^\p{Nd}+/8
207 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
208 \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
209 \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
210 ** Failers
211 X
212
213/^\p{Nl}/8
214 \x{16ee}
215 ** Failers
216 X
217 \x{966}
218
219/^\p{No}/8
220 \x{b2}
221 \x{b3}
222 ** Failers
223 X
224 \x{16ee}
225
226/^\p{Pc}/8
227 \x5f
228 \x{203f}
229 ** Failers
230 X
231 -
232 \x{58a}
233
234/^\p{Pd}/8
235 -
236 \x{58a}
237 ** Failers
238 X
239 \x{203f}
240
241/^\p{Pe}/8
242 )
243 ]
244 }
245 \x{f3b}
246 ** Failers
247 X
248 \x{203f}
249 (
250 [
251 {
252 \x{f3c}
253
254/^\p{Pf}/8
255 \x{bb}
256 \x{2019}
257 ** Failers
258 X
259 \x{203f}
260
261/^\p{Pi}/8
262 \x{ab}
263 \x{2018}
264 ** Failers
265 X
266 \x{203f}
267
268/^\p{Po}/8
269 !
270 \x{37e}
271 ** Failers
272 X
273 \x{203f}
274
275/^\p{Ps}/8
276 (
277 [
278 {
279 \x{f3c}
280 ** Failers
281 X
282 )
283 ]
284 }
285 \x{f3b}
286
287/^\p{Sc}+/8
288 $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
289 \x{9f2}
290 ** Failers
291 X
292 \x{2c2}
293
294/^\p{Sk}/8
295 \x{2c2}
296 ** Failers
297 X
298 \x{9f2}
299
300/^\p{Sm}+/8
301 +<|~\x{ac}\x{2044}
302 ** Failers
303 X
304 \x{9f2}
305
306/^\p{So}/8
307 \x{a6}
308 \x{482}
309 ** Failers
310 X
311 \x{9f2}
312
313/^\p{Zl}/8
314 \x{2028}
315 ** Failers
316 X
317 \x{2029}
318
319/^\p{Zp}/8
320 \x{2029}
321 ** Failers
322 X
323 \x{2028}
324
325/^\p{Zs}/8
326 \ \
327 \x{a0}
328 \x{1680}
329 \x{180e}
330 \x{2000}
331 \x{2001}
332 ** Failers
333 \x{2028}
334 \x{200d}
335
336/\p{Nd}+(..)/8
337 \x{660}\x{661}\x{662}ABC
338
339/\p{Nd}+?(..)/8
340 \x{660}\x{661}\x{662}ABC
341
342/\p{Nd}{2,}(..)/8
343 \x{660}\x{661}\x{662}ABC
344
345/\p{Nd}{2,}?(..)/8
346 \x{660}\x{661}\x{662}ABC
347
348/\p{Nd}*(..)/8
349 \x{660}\x{661}\x{662}ABC
350
351/\p{Nd}*?(..)/8
352 \x{660}\x{661}\x{662}ABC
353
354/\p{Nd}{2}(..)/8
355 \x{660}\x{661}\x{662}ABC
356
357/\p{Nd}{2,3}(..)/8
358 \x{660}\x{661}\x{662}ABC
359
360/\p{Nd}{2,3}?(..)/8
361 \x{660}\x{661}\x{662}ABC
362
363/\p{Nd}?(..)/8
364 \x{660}\x{661}\x{662}ABC
365
366/\p{Nd}??(..)/8
367 \x{660}\x{661}\x{662}ABC
368
369/\p{Nd}*+(..)/8
370 \x{660}\x{661}\x{662}ABC
371
372/\p{Nd}*+(...)/8
373 \x{660}\x{661}\x{662}ABC
374
375/\p{Nd}*+(....)/8
376 ** Failers
377 \x{660}\x{661}\x{662}ABC
378
379/\p{Lu}/8i
380 A
381 a\x{10a0}B
382 ** Failers
383 a
384 \x{1d00}
385
386/\p{^Lu}/8i
387 1234
388 ** Failers
389 ABC
390
391/\P{Lu}/8i
392 1234
393 ** Failers
394 ABC
395
396/(?<=A\p{Nd})XYZ/8
397 A2XYZ
398 123A5XYZPQR
399 ABA\x{660}XYZpqr
400 ** Failers
401 AXYZ
402 XYZ
403
404/(?<!\pL)XYZ/8
405 1XYZ
406 AB=XYZ..
407 XYZ
408 ** Failers
409 WXYZ
410
411/[\p{Nd}]/8
412 1234
413
414/[\p{Nd}+-]+/8
415 1234
416 12-34
417 12+\x{661}-34
418 ** Failers
419 abcd
420
421/[\P{Nd}]+/8
422 abcd
423 ** Failers
424 1234
425
426/\D+/8
427 11111111111111111111111111111111111111111111111111111111111111111111111
428 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
429
430/\P{Nd}+/8
431 11111111111111111111111111111111111111111111111111111111111111111111111
432 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
433
434/[\D]+/8
435 11111111111111111111111111111111111111111111111111111111111111111111111
436 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
437
438/[\P{Nd}]+/8
439 11111111111111111111111111111111111111111111111111111111111111111111111
440 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
441
442/[\D\P{Nd}]+/8
443 11111111111111111111111111111111111111111111111111111111111111111111111
444 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
445
446/\pL/8
447 a
448 A
449
450/\pL/8i
451 a
452 A
453
454/\p{Lu}/8
455 A
456 aZ
457 ** Failers
458 abc
459
460/\p{Lu}/8i
461 A
462 aZ
463 ** Failers
464 abc
465
466/\p{Ll}/8
467 a
468 Az
469 ** Failers
470 ABC
471
472/\p{Ll}/8i
473 a
474 Az
475 ** Failers
476 ABC
477
478/^\x{c0}$/8i
479 \x{c0}
480 \x{e0}
481
482/^\x{e0}$/8i
483 \x{c0}
484 \x{e0}
485
486/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8
487 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
488 ** Failers
489 a\x{391}\x{10427}\x{ff3a}\x{1fb0}
490 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
491 A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
492 A\x{391}\x{10427}\x{ff5a}\x{1fb0}
493 A\x{391}\x{10427}\x{ff3a}\x{1fb8}
494
495/A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i
496 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
497 a\x{391}\x{10427}\x{ff3a}\x{1fb0}
498 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
499 A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
500 A\x{391}\x{10427}\x{ff5a}\x{1fb0}
501 A\x{391}\x{10427}\x{ff3a}\x{1fb8}
502
503/\x{391}+/8i
504 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
505
506/\x{391}{3,5}(.)/8i
507 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
508
509/\x{391}{3,5}?(.)/8i
510 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
511
512/[\x{391}\x{ff3a}]/8i
513 \x{391}
514 \x{ff3a}
515 \x{3b1}
516 \x{ff5a}
517
518/[\x{c0}\x{391}]/8i
519 \x{c0}
520 \x{e0}
521
522/[\x{105}-\x{109}]/8i
523 \x{104}
524 \x{105}
525 \x{109}
526 ** Failers
527 \x{100}
528 \x{10a}
529
530/[z-\x{100}]/8i
531 Z
532 z
533 \x{39c}
534 \x{178}
535 |
536 \x{80}
537 \x{ff}
538 \x{100}
539 \x{101}
540 ** Failers
541 \x{102}
542 Y
543 y
544
545/[z-\x{100}]/8i
546
547/^\X/8
548 A
549 A\x{300}BC
550 A\x{300}\x{301}\x{302}BC
551 *** Failers
552 \x{300}
553
554/^[\X]/8
555 X123
556 *** Failers
557 AXYZ
558
559/^(\X*)C/8
560 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
561 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
562
563/^(\X*?)C/8
564 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
565 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
566
567/^(\X*)(.)/8
568 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
569 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
570
571/^(\X*?)(.)/8
572 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
573 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
574
575/^\X(.)/8
576 *** Failers
577 A\x{300}\x{301}\x{302}
578
579/^\X{2,3}(.)/8
580 A\x{300}\x{301}B\x{300}X
581 A\x{300}\x{301}B\x{300}C\x{300}\x{301}
582 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
583 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
584
585/^\X{2,3}?(.)/8
586 A\x{300}\x{301}B\x{300}X
587 A\x{300}\x{301}B\x{300}C\x{300}\x{301}
588 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
589 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
590
591/^\pN{2,3}X/
592 12X
593 123X
594 *** Failers
595 X
596 1X
597 1234X
598
599/\x{100}/i8
600 \x{100}
601 \x{101}
602
603/^\p{Han}+/8
604 \x{2e81}\x{3007}\x{2f804}\x{31a0}
605 ** Failers
606 \x{2e7f}
607
608/^\P{Katakana}+/8
609 \x{3105}
610 ** Failers
611 \x{30ff}
612
613/^[\p{Arabic}]/8
614 \x{06e9}
615 \x{060b}
616 ** Failers
617 X\x{06e9}
618
619/^[\P{Yi}]/8
620 \x{2f800}
621 ** Failers
622 \x{a014}
623 \x{a4c6}
624
625/^\p{Any}X/8
626 AXYZ
627 \x{1234}XYZ
628 ** Failers
629 X
630
631/^\P{Any}X/8
632 ** Failers
633 AX
634
635/^\p{Any}?X/8
636 XYZ
637 AXYZ
638 \x{1234}XYZ
639 ** Failers
640 ABXYZ
641
642/^\P{Any}?X/8
643 XYZ
644 ** Failers
645 AXYZ
646 \x{1234}XYZ
647 ABXYZ
648
649/^\p{Any}+X/8
650 AXYZ
651 \x{1234}XYZ
652 A\x{1234}XYZ
653 ** Failers
654 XYZ
655
656/^\P{Any}+X/8
657 ** Failers
658 AXYZ
659 \x{1234}XYZ
660 A\x{1234}XYZ
661 XYZ
662
663/^\p{Any}*X/8
664 XYZ
665 AXYZ
666 \x{1234}XYZ
667 A\x{1234}XYZ
668 ** Failers
669
670/^\P{Any}*X/8
671 XYZ
672 ** Failers
673 AXYZ
674 \x{1234}XYZ
675 A\x{1234}XYZ
676
677/^[\p{Any}]X/8
678 AXYZ
679 \x{1234}XYZ
680 ** Failers
681 X
682
683/^[\P{Any}]X/8
684 ** Failers
685 AX
686
687/^[\p{Any}]?X/8
688 XYZ
689 AXYZ
690 \x{1234}XYZ
691 ** Failers
692 ABXYZ
693
694/^[\P{Any}]?X/8
695 XYZ
696 ** Failers
697 AXYZ
698 \x{1234}XYZ
699 ABXYZ
700
701/^[\p{Any}]+X/8
702 AXYZ
703 \x{1234}XYZ
704 A\x{1234}XYZ
705 ** Failers
706 XYZ
707
708/^[\P{Any}]+X/8
709 ** Failers
710 AXYZ
711 \x{1234}XYZ
712 A\x{1234}XYZ
713 XYZ
714
715/^[\p{Any}]*X/8
716 XYZ
717 AXYZ
718 \x{1234}XYZ
719 A\x{1234}XYZ
720 ** Failers
721
722/^[\P{Any}]*X/8
723 XYZ
724 ** Failers
725 AXYZ
726 \x{1234}XYZ
727 A\x{1234}XYZ
728
729/^\p{Any}{3,5}?/8
730 abcdefgh
731 \x{1234}\n\r\x{3456}xyz
732
733/^\p{Any}{3,5}/8
734 abcdefgh
735 \x{1234}\n\r\x{3456}xyz
736
737/^\P{Any}{3,5}?/8
738 ** Failers
739 abcdefgh
740 \x{1234}\n\r\x{3456}xyz
741
742/^\p{L&}X/8
743 AXY
744 aXY
745 \x{1c5}XY
746 ** Failers
747 \x{1bb}XY
748 \x{2b0}XY
749 !XY
750
751/^[\p{L&}]X/8
752 AXY
753 aXY
754 \x{1c5}XY
755 ** Failers
756 \x{1bb}XY
757 \x{2b0}XY
758 !XY
759
760/^\p{L&}+X/8
761 AXY
762 aXY
763 AbcdeXyz
764 \x{1c5}AbXY
765 abcDEXypqreXlmn
766 ** Failers
767 \x{1bb}XY
768 \x{2b0}XY
769 !XY
770
771/^[\p{L&}]+X/8
772 AXY
773 aXY
774 AbcdeXyz
775 \x{1c5}AbXY
776 abcDEXypqreXlmn
777 ** Failers
778 \x{1bb}XY
779 \x{2b0}XY
780 !XY
781
782/^\p{L&}+?X/8
783 AXY
784 aXY
785 AbcdeXyz
786 \x{1c5}AbXY
787 abcDEXypqreXlmn
788 ** Failers
789 \x{1bb}XY
790 \x{2b0}XY
791 !XY
792
793/^[\p{L&}]+?X/8
794 AXY
795 aXY
796 AbcdeXyz
797 \x{1c5}AbXY
798 abcDEXypqreXlmn
799 ** Failers
800 \x{1bb}XY
801 \x{2b0}XY
802 !XY
803
804/^\P{L&}X/8
805 !XY
806 \x{1bb}XY
807 \x{2b0}XY
808 ** Failers
809 \x{1c5}XY
810 AXY
811
812/^[\P{L&}]X/8
813 !XY
814 \x{1bb}XY
815 \x{2b0}XY
816 ** Failers
817 \x{1c5}XY
818 AXY
819
820/^\x{023a}+?(\x{0130}+)/8i
821 \x{023a}\x{2c65}\x{0130}
822
823/^\x{023a}+([^X])/8i
824 \x{023a}\x{2c65}X
825
826/\x{c0}+\x{116}+/8i
827 \x{c0}\x{e0}\x{116}\x{117}
828
829/[\x{c0}\x{116}]+/8i
830 \x{c0}\x{e0}\x{116}\x{117}
831
832/Check property support in non-UTF-8 mode/
833
834/\p{L}{4}/
835 123abcdefg
836 123abc\xc4\xc5zz
837
838/\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
839 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
840
841/\x{a77d}\x{1d79}/8i
842 \x{a77d}\x{1d79}
843 \x{1d79}\x{a77d}
844
845/\x{a77d}\x{1d79}/8
846 \x{a77d}\x{1d79}
847 ** Failers
848 \x{1d79}\x{a77d}
849
850/^\p{Xan}/8
851 ABCD
852 1234
853 \x{6ca}
854 \x{a6c}
855 \x{10a7}
856 ** Failers
857 _ABC
858
859/^\p{Xan}+/8
860 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
861 ** Failers
862 _ABC
863
864/^\p{Xan}*/8
865 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
866
867/^\p{Xan}{2,9}/8
868 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
869
870/^[\p{Xan}]/8
871 ABCD1234_
872 1234abcd_
873 \x{6ca}
874 \x{a6c}
875 \x{10a7}
876 ** Failers
877 _ABC
878
879/^[\p{Xan}]+/8
880 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
881 ** Failers
882 _ABC
883
884/^>\p{Xsp}/8
885 >\x{1680}\x{2028}\x{0b}
886 ** Failers
887 \x{0b}
888
889/^>\p{Xsp}+/8
890 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
891
892/^>\p{Xsp}*/8
893 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
894
895/^>\p{Xsp}{2,9}/8
896 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
897
898/^>[\p{Xsp}]/8
899 >\x{2028}\x{0b}
900
901/^>[\p{Xsp}]+/8
902 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
903
904/^>\p{Xps}/8
905 >\x{1680}\x{2028}\x{0b}
906 >\x{a0}
907 ** Failers
908 \x{0b}
909
910/^>\p{Xps}+/8
911 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
912
913/^>\p{Xps}+?/8
914 >\x{1680}\x{2028}\x{0b}
915
916/^>\p{Xps}*/8
917 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
918
919/^>\p{Xps}{2,9}/8
920 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
921
922/^>\p{Xps}{2,9}?/8
923 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
924
925/^>[\p{Xps}]/8
926 >\x{2028}\x{0b}
927
928/^>[\p{Xps}]+/8
929 > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
930
931/^\p{Xwd}/8
932 ABCD
933 1234
934 \x{6ca}
935 \x{a6c}
936 \x{10a7}
937 _ABC
938 ** Failers
939 []
940
941/^\p{Xwd}+/8
942 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
943
944/^\p{Xwd}*/8
945 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
946
947/^\p{Xwd}{2,9}/8
948 A_12\x{6ca}\x{a6c}\x{10a7}
949
950/^[\p{Xwd}]/8
951 ABCD1234_
952 1234abcd_
953 \x{6ca}
954 \x{a6c}
955 \x{10a7}
956 _ABC
957 ** Failers
958 []
959
960/^[\p{Xwd}]+/8
961 ABCD1234\x{6ca}\x{a6c}\x{10a7}_
962
963/-- Unicode properties for \b abd \B --/
964
965/\b...\B/8W
966 abc_
967 \x{37e}abc\x{376}
968 \x{37e}\x{376}\x{371}\x{393}\x{394}
969 !\x{c0}++\x{c1}\x{c2}
970 !\x{c0}+++++
971
972/-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
973
974/\b...\B/8
975 abc_
976 ** Failers
977 \x{37e}abc\x{376}
978 \x{37e}\x{376}\x{371}\x{393}\x{394}
979 !\x{c0}++\x{c1}\x{c2}
980 !\x{c0}+++++
981
982/-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
983
984/\b...\B/W
985 abc_
986 !\x{c0}++\x{c1}\x{c2}
987 !\x{c0}+++++
988
989/-- End of testinput9 --/