Annotation of embedaddon/pcre/testdata/testinput10, revision 1.1.1.5
1.1.1.2 misho 1: /-- 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}
1.1 misho 133:
1.1.1.2 misho 134: /^\p{Cc}/8
135: \x{017}
136: \x{09f}
137: ** Failers
138: \x{0600}
139:
140: /^\p{Cf}/8
141: \x{601}
1.1.1.5 ! misho 142: \x{180e}
! 143: \x{061c}
! 144: \x{2066}
! 145: \x{2067}
! 146: \x{2068}
! 147: \x{2069}
1.1.1.2 misho 148: ** Failers
149: \x{09f}
150:
151: /^\p{Cn}/8
152: ** Failers
153: \x{09f}
154:
155: /^\p{Co}/8
156: \x{f8ff}
157: ** Failers
158: \x{09f}
159:
160: /^\p{Cs}/8
161: \?\x{dfff}
162: ** Failers
163: \x{09f}
164:
165: /^\p{Ll}/8
166: a
167: ** Failers
168: Z
169: \x{e000}
170:
171: /^\p{Lm}/8
172: \x{2b0}
173: ** Failers
174: a
175:
176: /^\p{Lo}/8
177: \x{1bb}
178: ** Failers
179: a
180: \x{2b0}
181:
182: /^\p{Lt}/8
183: \x{1c5}
184: ** Failers
185: a
186: \x{2b0}
187:
188: /^\p{Lu}/8
189: A
190: ** Failers
191: \x{2b0}
192:
193: /^\p{Mc}/8
194: \x{903}
195: ** Failers
196: X
197: \x{300}
198:
199: /^\p{Me}/8
200: \x{488}
201: ** Failers
202: X
203: \x{903}
204: \x{300}
205:
206: /^\p{Mn}/8
207: \x{300}
1.1.1.5 ! misho 208: \x{1a1b}
1.1.1.2 misho 209: ** Failers
210: X
211: \x{903}
212:
1.1.1.5 ! misho 213: /^\p{Nd}+/8O
1.1.1.2 misho 214: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
215: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
216: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
217: ** Failers
218: X
219:
220: /^\p{Nl}/8
221: \x{16ee}
222: ** Failers
223: X
224: \x{966}
225:
226: /^\p{No}/8
227: \x{b2}
228: \x{b3}
229: ** Failers
230: X
231: \x{16ee}
232:
233: /^\p{Pc}/8
234: \x5f
235: \x{203f}
236: ** Failers
237: X
238: -
239: \x{58a}
240:
241: /^\p{Pd}/8
242: -
243: \x{58a}
244: ** Failers
245: X
246: \x{203f}
247:
248: /^\p{Pe}/8
249: )
250: ]
251: }
252: \x{f3b}
1.1.1.5 ! misho 253: \x{2309}
! 254: \x{230b}
1.1.1.2 misho 255: ** Failers
256: X
257: \x{203f}
258: (
259: [
260: {
261: \x{f3c}
1.1.1.5 ! misho 262:
1.1.1.2 misho 263: /^\p{Pf}/8
264: \x{bb}
265: \x{2019}
266: ** Failers
267: X
268: \x{203f}
269:
270: /^\p{Pi}/8
271: \x{ab}
272: \x{2018}
273: ** Failers
274: X
275: \x{203f}
276:
277: /^\p{Po}/8
278: !
279: \x{37e}
280: ** Failers
281: X
282: \x{203f}
283:
284: /^\p{Ps}/8
285: (
286: [
287: {
288: \x{f3c}
1.1.1.5 ! misho 289: \x{2308}
! 290: \x{230a}
1.1.1.2 misho 291: ** Failers
292: X
293: )
294: ]
295: }
296: \x{f3b}
297:
298: /^\p{Sc}+/8
299: $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
300: \x{9f2}
301: ** Failers
302: X
303: \x{2c2}
304:
305: /^\p{Sk}/8
306: \x{2c2}
307: ** Failers
308: X
309: \x{9f2}
310:
311: /^\p{Sm}+/8
312: +<|~\x{ac}\x{2044}
313: ** Failers
314: X
315: \x{9f2}
316:
317: /^\p{So}/8
318: \x{a6}
319: \x{482}
320: ** Failers
321: X
322: \x{9f2}
323:
324: /^\p{Zl}/8
325: \x{2028}
326: ** Failers
327: X
328: \x{2029}
329:
330: /^\p{Zp}/8
331: \x{2029}
332: ** Failers
333: X
334: \x{2028}
335:
336: /^\p{Zs}/8
337: \ \
338: \x{a0}
339: \x{1680}
340: \x{2000}
341: \x{2001}
342: ** Failers
343: \x{2028}
344: \x{200d}
345:
346: /\p{Nd}+(..)/8
347: \x{660}\x{661}\x{662}ABC
348:
349: /\p{Nd}+?(..)/8
350: \x{660}\x{661}\x{662}ABC
351:
352: /\p{Nd}{2,}(..)/8
353: \x{660}\x{661}\x{662}ABC
354:
355: /\p{Nd}{2,}?(..)/8
356: \x{660}\x{661}\x{662}ABC
357:
358: /\p{Nd}*(..)/8
359: \x{660}\x{661}\x{662}ABC
360:
361: /\p{Nd}*?(..)/8
362: \x{660}\x{661}\x{662}ABC
363:
364: /\p{Nd}{2}(..)/8
365: \x{660}\x{661}\x{662}ABC
366:
367: /\p{Nd}{2,3}(..)/8
368: \x{660}\x{661}\x{662}ABC
369:
370: /\p{Nd}{2,3}?(..)/8
371: \x{660}\x{661}\x{662}ABC
372:
373: /\p{Nd}?(..)/8
374: \x{660}\x{661}\x{662}ABC
375:
376: /\p{Nd}??(..)/8
377: \x{660}\x{661}\x{662}ABC
378:
379: /\p{Nd}*+(..)/8
380: \x{660}\x{661}\x{662}ABC
381:
382: /\p{Nd}*+(...)/8
383: \x{660}\x{661}\x{662}ABC
384:
385: /\p{Nd}*+(....)/8
386: ** Failers
387: \x{660}\x{661}\x{662}ABC
388:
389: /\p{Lu}/8i
390: A
391: a\x{10a0}B
392: ** Failers
393: a
394: \x{1d00}
395:
396: /\p{^Lu}/8i
397: 1234
398: ** Failers
399: ABC
400:
401: /\P{Lu}/8i
402: 1234
403: ** Failers
404: ABC
405:
406: /(?<=A\p{Nd})XYZ/8
407: A2XYZ
408: 123A5XYZPQR
409: ABA\x{660}XYZpqr
410: ** Failers
411: AXYZ
412: XYZ
413:
414: /(?<!\pL)XYZ/8
415: 1XYZ
416: AB=XYZ..
417: XYZ
418: ** Failers
419: WXYZ
420:
421: /[\p{Nd}]/8
422: 1234
423:
424: /[\p{Nd}+-]+/8
425: 1234
426: 12-34
427: 12+\x{661}-34
428: ** Failers
429: abcd
430:
431: /[\P{Nd}]+/8
432: abcd
433: ** Failers
434: 1234
435:
1.1.1.5 ! misho 436: /\D+/8O
1.1.1.2 misho 437: 11111111111111111111111111111111111111111111111111111111111111111111111
438: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
439:
1.1.1.5 ! misho 440: /\P{Nd}+/8O
1.1.1.2 misho 441: 11111111111111111111111111111111111111111111111111111111111111111111111
442: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
443:
1.1.1.5 ! misho 444: /[\D]+/8O
1.1.1.2 misho 445: 11111111111111111111111111111111111111111111111111111111111111111111111
446: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
447:
1.1.1.5 ! misho 448: /[\P{Nd}]+/8O
1.1.1.2 misho 449: 11111111111111111111111111111111111111111111111111111111111111111111111
450: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
451:
1.1.1.5 ! misho 452: /[\D\P{Nd}]+/8O
1.1.1.2 misho 453: 11111111111111111111111111111111111111111111111111111111111111111111111
454: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
455:
456: /\pL/8
457: a
458: A
459:
460: /\pL/8i
461: a
462: A
463:
464: /\p{Lu}/8
465: A
466: aZ
467: ** Failers
468: abc
469:
470: /\p{Lu}/8i
471: A
472: aZ
473: ** Failers
474: abc
475:
476: /\p{Ll}/8
477: a
478: Az
479: ** Failers
480: ABC
481:
482: /\p{Ll}/8i
483: a
484: Az
485: ** Failers
486: ABC
487:
488: /^\x{c0}$/8i
489: \x{c0}
490: \x{e0}
491:
492: /^\x{e0}$/8i
493: \x{c0}
494: \x{e0}
495:
496: /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8
497: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
498: ** Failers
499: a\x{391}\x{10427}\x{ff3a}\x{1fb0}
500: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
501: A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
502: A\x{391}\x{10427}\x{ff5a}\x{1fb0}
503: A\x{391}\x{10427}\x{ff3a}\x{1fb8}
504:
505: /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i
506: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
507: a\x{391}\x{10427}\x{ff3a}\x{1fb0}
508: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
509: A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
510: A\x{391}\x{10427}\x{ff5a}\x{1fb0}
511: A\x{391}\x{10427}\x{ff3a}\x{1fb8}
512:
513: /\x{391}+/8i
514: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
515:
516: /\x{391}{3,5}(.)/8i
517: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
518:
519: /\x{391}{3,5}?(.)/8i
520: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
521:
522: /[\x{391}\x{ff3a}]/8i
523: \x{391}
524: \x{ff3a}
525: \x{3b1}
526: \x{ff5a}
527:
528: /[\x{c0}\x{391}]/8i
529: \x{c0}
530: \x{e0}
531:
532: /[\x{105}-\x{109}]/8i
533: \x{104}
534: \x{105}
535: \x{109}
536: ** Failers
537: \x{100}
538: \x{10a}
539:
540: /[z-\x{100}]/8i
541: Z
542: z
543: \x{39c}
544: \x{178}
545: |
546: \x{80}
547: \x{ff}
548: \x{100}
549: \x{101}
550: ** Failers
551: \x{102}
552: Y
553: y
554:
555: /[z-\x{100}]/8i
556:
557: /^\X/8
558: A
559: A\x{300}BC
560: A\x{300}\x{301}\x{302}BC
561: *** Failers
562: \x{300}
563:
564: /^[\X]/8
565: X123
566: *** Failers
567: AXYZ
568:
569: /^(\X*)C/8
570: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
571: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
572:
573: /^(\X*?)C/8
574: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
575: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
576:
577: /^(\X*)(.)/8
578: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
579: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
580:
581: /^(\X*?)(.)/8
582: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
583: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
584:
585: /^\X(.)/8
586: *** Failers
587: A\x{300}\x{301}\x{302}
588:
589: /^\X{2,3}(.)/8
590: A\x{300}\x{301}B\x{300}X
591: A\x{300}\x{301}B\x{300}C\x{300}\x{301}
592: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
593: A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
594:
595: /^\X{2,3}?(.)/8
596: A\x{300}\x{301}B\x{300}X
597: A\x{300}\x{301}B\x{300}C\x{300}\x{301}
598: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
599: A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
600:
601: /^\pN{2,3}X/
602: 12X
603: 123X
604: *** Failers
605: X
606: 1X
607: 1234X
608:
609: /\x{100}/i8
610: \x{100}
611: \x{101}
612:
613: /^\p{Han}+/8
614: \x{2e81}\x{3007}\x{2f804}\x{31a0}
615: ** Failers
616: \x{2e7f}
617:
618: /^\P{Katakana}+/8
619: \x{3105}
620: ** Failers
621: \x{30ff}
622:
623: /^[\p{Arabic}]/8
624: \x{06e9}
625: \x{060b}
626: ** Failers
627: X\x{06e9}
628:
629: /^[\P{Yi}]/8
630: \x{2f800}
631: ** Failers
632: \x{a014}
633: \x{a4c6}
634:
635: /^\p{Any}X/8
636: AXYZ
637: \x{1234}XYZ
638: ** Failers
639: X
640:
641: /^\P{Any}X/8
642: ** Failers
643: AX
644:
645: /^\p{Any}?X/8
646: XYZ
647: AXYZ
648: \x{1234}XYZ
649: ** Failers
650: ABXYZ
651:
652: /^\P{Any}?X/8
653: XYZ
654: ** Failers
655: AXYZ
656: \x{1234}XYZ
657: ABXYZ
658:
659: /^\p{Any}+X/8
660: AXYZ
661: \x{1234}XYZ
662: A\x{1234}XYZ
663: ** Failers
664: XYZ
665:
666: /^\P{Any}+X/8
667: ** Failers
668: AXYZ
669: \x{1234}XYZ
670: A\x{1234}XYZ
671: XYZ
672:
673: /^\p{Any}*X/8
674: XYZ
675: AXYZ
676: \x{1234}XYZ
677: A\x{1234}XYZ
678: ** Failers
679:
680: /^\P{Any}*X/8
681: XYZ
682: ** Failers
683: AXYZ
684: \x{1234}XYZ
685: A\x{1234}XYZ
686:
687: /^[\p{Any}]X/8
688: AXYZ
689: \x{1234}XYZ
690: ** Failers
691: X
692:
693: /^[\P{Any}]X/8
694: ** Failers
695: AX
696:
697: /^[\p{Any}]?X/8
698: XYZ
699: AXYZ
700: \x{1234}XYZ
701: ** Failers
702: ABXYZ
703:
704: /^[\P{Any}]?X/8
705: XYZ
706: ** Failers
707: AXYZ
708: \x{1234}XYZ
709: ABXYZ
710:
711: /^[\p{Any}]+X/8
712: AXYZ
713: \x{1234}XYZ
714: A\x{1234}XYZ
715: ** Failers
716: XYZ
717:
718: /^[\P{Any}]+X/8
719: ** Failers
720: AXYZ
721: \x{1234}XYZ
722: A\x{1234}XYZ
723: XYZ
724:
725: /^[\p{Any}]*X/8
726: XYZ
727: AXYZ
728: \x{1234}XYZ
729: A\x{1234}XYZ
730: ** Failers
731:
732: /^[\P{Any}]*X/8
733: XYZ
734: ** Failers
735: AXYZ
736: \x{1234}XYZ
737: A\x{1234}XYZ
738:
739: /^\p{Any}{3,5}?/8
740: abcdefgh
741: \x{1234}\n\r\x{3456}xyz
742:
743: /^\p{Any}{3,5}/8
744: abcdefgh
745: \x{1234}\n\r\x{3456}xyz
746:
747: /^\P{Any}{3,5}?/8
748: ** Failers
749: abcdefgh
750: \x{1234}\n\r\x{3456}xyz
751:
752: /^\p{L&}X/8
753: AXY
754: aXY
755: \x{1c5}XY
756: ** Failers
757: \x{1bb}XY
758: \x{2b0}XY
759: !XY
760:
761: /^[\p{L&}]X/8
762: AXY
763: aXY
764: \x{1c5}XY
765: ** Failers
766: \x{1bb}XY
767: \x{2b0}XY
768: !XY
769:
770: /^\p{L&}+X/8
771: AXY
772: aXY
773: AbcdeXyz
774: \x{1c5}AbXY
775: abcDEXypqreXlmn
776: ** Failers
777: \x{1bb}XY
778: \x{2b0}XY
779: !XY
780:
781: /^[\p{L&}]+X/8
782: AXY
783: aXY
784: AbcdeXyz
785: \x{1c5}AbXY
786: abcDEXypqreXlmn
787: ** Failers
788: \x{1bb}XY
789: \x{2b0}XY
790: !XY
791:
792: /^\p{L&}+?X/8
793: AXY
794: aXY
795: AbcdeXyz
796: \x{1c5}AbXY
797: abcDEXypqreXlmn
798: ** Failers
799: \x{1bb}XY
800: \x{2b0}XY
801: !XY
802:
803: /^[\p{L&}]+?X/8
804: AXY
805: aXY
806: AbcdeXyz
807: \x{1c5}AbXY
808: abcDEXypqreXlmn
809: ** Failers
810: \x{1bb}XY
811: \x{2b0}XY
812: !XY
813:
814: /^\P{L&}X/8
815: !XY
816: \x{1bb}XY
817: \x{2b0}XY
818: ** Failers
819: \x{1c5}XY
820: AXY
821:
822: /^[\P{L&}]X/8
823: !XY
824: \x{1bb}XY
825: \x{2b0}XY
826: ** Failers
827: \x{1c5}XY
828: AXY
829:
830: /^\x{023a}+?(\x{0130}+)/8i
831: \x{023a}\x{2c65}\x{0130}
832:
833: /^\x{023a}+([^X])/8i
834: \x{023a}\x{2c65}X
835:
836: /\x{c0}+\x{116}+/8i
837: \x{c0}\x{e0}\x{116}\x{117}
838:
839: /[\x{c0}\x{116}]+/8i
840: \x{c0}\x{e0}\x{116}\x{117}
841:
842: /Check property support in non-UTF-8 mode/
843:
844: /\p{L}{4}/
845: 123abcdefg
846: 123abc\xc4\xc5zz
847:
848: /\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
849: \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
850:
851: /\x{a77d}\x{1d79}/8i
852: \x{a77d}\x{1d79}
853: \x{1d79}\x{a77d}
854:
855: /\x{a77d}\x{1d79}/8
856: \x{a77d}\x{1d79}
857: ** Failers
858: \x{1d79}\x{a77d}
859:
860: /^\p{Xan}/8
861: ABCD
862: 1234
863: \x{6ca}
864: \x{a6c}
865: \x{10a7}
866: ** Failers
867: _ABC
868:
869: /^\p{Xan}+/8
870: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
871: ** Failers
872: _ABC
1.1 misho 873:
1.1.1.2 misho 874: /^\p{Xan}*/8
875: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
876:
877: /^\p{Xan}{2,9}/8
878: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
879:
880: /^[\p{Xan}]/8
881: ABCD1234_
882: 1234abcd_
883: \x{6ca}
884: \x{a6c}
885: \x{10a7}
886: ** Failers
887: _ABC
888:
889: /^[\p{Xan}]+/8
890: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
891: ** Failers
892: _ABC
893:
894: /^>\p{Xsp}/8
895: >\x{1680}\x{2028}\x{0b}
896: ** Failers
897: \x{0b}
1.1 misho 898:
1.1.1.5 ! misho 899: /^>\p{Xsp}+/8O
1.1.1.2 misho 900: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 901:
1.1.1.5 ! misho 902: /^>\p{Xsp}*/8O
1.1.1.2 misho 903: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
904:
1.1.1.5 ! misho 905: /^>\p{Xsp}{2,9}/8O
1.1.1.2 misho 906: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
907:
1.1.1.5 ! misho 908: /^>[\p{Xsp}]/8O
1.1.1.2 misho 909: >\x{2028}\x{0b}
910:
1.1.1.5 ! misho 911: /^>[\p{Xsp}]+/8O
1.1.1.2 misho 912: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
913:
914: /^>\p{Xps}/8
915: >\x{1680}\x{2028}\x{0b}
916: >\x{a0}
917: ** Failers
918: \x{0b}
1.1 misho 919:
1.1.1.2 misho 920: /^>\p{Xps}+/8
921: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 922:
1.1.1.2 misho 923: /^>\p{Xps}+?/8
924: >\x{1680}\x{2028}\x{0b}
1.1 misho 925:
1.1.1.2 misho 926: /^>\p{Xps}*/8
927: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
928:
929: /^>\p{Xps}{2,9}/8
930: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
931:
932: /^>\p{Xps}{2,9}?/8
933: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
934:
935: /^>[\p{Xps}]/8
936: >\x{2028}\x{0b}
937:
938: /^>[\p{Xps}]+/8
939: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
940:
941: /^\p{Xwd}/8
942: ABCD
943: 1234
944: \x{6ca}
945: \x{a6c}
946: \x{10a7}
947: _ABC
948: ** Failers
949: []
1.1 misho 950:
1.1.1.2 misho 951: /^\p{Xwd}+/8
952: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1.1 misho 953:
1.1.1.2 misho 954: /^\p{Xwd}*/8
955: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
956:
957: /^\p{Xwd}{2,9}/8
958: A_12\x{6ca}\x{a6c}\x{10a7}
959:
960: /^[\p{Xwd}]/8
961: ABCD1234_
962: 1234abcd_
963: \x{6ca}
964: \x{a6c}
965: \x{10a7}
966: _ABC
967: ** Failers
968: []
969:
970: /^[\p{Xwd}]+/8
971: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
972:
973: /-- Unicode properties for \b abd \B --/
974:
975: /\b...\B/8W
976: abc_
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: /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
983:
984: /\b...\B/8
985: abc_
986: ** Failers
987: \x{37e}abc\x{376}
988: \x{37e}\x{376}\x{371}\x{393}\x{394}
989: !\x{c0}++\x{c1}\x{c2}
990: !\x{c0}+++++
991:
992: /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
993:
994: /\b...\B/W
995: abc_
996: !\x{c0}++\x{c1}\x{c2}
997: !\x{c0}+++++
1.1.1.3 misho 998:
999: /-- Caseless single negated characters > 127 need UCP support --/
1000:
1001: /[^\x{100}]/8i
1002: \x{100}\x{101}X
1003:
1004: /[^\x{100}]+/8i
1005: \x{100}\x{101}XX
1006:
1007: /^\X/8
1008: A\P
1009: A\P\P
1010: A\x{300}\x{301}\P
1011: A\x{300}\x{301}\P\P
1012: A\x{301}\P
1013: A\x{301}\P\P
1014:
1015: /^\X{2,3}/8
1016: A\P
1017: A\P\P
1018: AA\P
1019: AA\P\P
1020: A\x{300}\x{301}\P
1021: A\x{300}\x{301}\P\P
1022: A\x{300}\x{301}A\x{300}\x{301}\P
1023: A\x{300}\x{301}A\x{300}\x{301}\P\P
1024:
1025: /^\X{2}/8
1026: AA\P
1027: AA\P\P
1028: A\x{300}\x{301}A\x{300}\x{301}\P
1029: A\x{300}\x{301}A\x{300}\x{301}\P\P
1030:
1031: /^\X+/8
1032: AA\P
1033: AA\P\P
1034:
1035: /^\X+?Z/8
1036: AA\P
1037: AA\P\P
1.1 misho 1038:
1.1.1.4 misho 1039: /-- These are tests for extended grapheme clusters --/
1040:
1041: /^\X/8+
1042: G\x{34e}\x{34e}X
1043: \x{34e}\x{34e}X
1044: \x04X
1045: \x{1100}X
1046: \x{1100}\x{34e}X
1047: \x{1b04}\x{1b04}X
1048: *These match up to the roman letters
1049: \x{1111}\x{1111}L,L
1050: \x{1111}\x{1111}\x{1169}L,L,V
1051: \x{1111}\x{ae4c}L, LV
1052: \x{1111}\x{ad89}L, LVT
1053: \x{1111}\x{ae4c}\x{1169}L, LV, V
1054: \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V
1055: \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T
1056: \x{1111}\x{ad89}\x{11fe}L, LVT, T
1057: \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T
1058: \x{ad89}\x{11fe}\x{11fe}LVT, T, T
1059: *These match just the first codepoint (invalid sequence)
1060: \x{1111}\x{11fe}L, T
1061: \x{ae4c}\x{1111}LV, L
1062: \x{ae4c}\x{ae4c}LV, LV
1063: \x{ae4c}\x{ad89}LV, LVT
1064: \x{1169}\x{1111}V, L
1065: \x{1169}\x{ae4c}V, LV
1066: \x{1169}\x{ad89}V, LVT
1067: \x{ad89}\x{1111}LVT, L
1068: \x{ad89}\x{1169}LVT, V
1069: \x{ad89}\x{ae4c}LVT, LV
1070: \x{ad89}\x{ad89}LVT, LVT
1071: \x{11fe}\x{1111}T, L
1072: \x{11fe}\x{1169}T, V
1073: \x{11fe}\x{ae4c}T, LV
1074: \x{11fe}\x{ad89}T, LVT
1075: *Test extend and spacing mark
1076: \x{1111}\x{ae4c}\x{0711}L, LV, extend
1077: \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark
1078: \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark
1079: *Test CR, LF, and control
1080: \x0d\x{0711}CR, extend
1081: \x0d\x{1b04}CR, spacingmark
1082: \x0a\x{0711}LF, extend
1083: \x0a\x{1b04}LF, spacingmark
1084: \x0b\x{0711}Control, extend
1085: \x09\x{1b04}Control, spacingmark
1086: *There are no Prepend characters, so we can't test Prepend, CR
1087:
1088: /^(?>\X{2})X/8+
1089: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1090:
1091: /^\X{2,4}X/8+
1092: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1093: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1094: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1095:
1096: /^\X{2,4}?X/8+
1097: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1098: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1099: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
1100:
1101: /-- --/
1102:
1103: /\x{1e9e}+/8i
1104: \x{1e9e}\x{00df}
1105:
1106: /[z\x{1e9e}]+/8i
1107: \x{1e9e}\x{00df}
1108:
1109: /\x{00df}+/8i
1110: \x{1e9e}\x{00df}
1111:
1112: /[z\x{00df}]+/8i
1113: \x{1e9e}\x{00df}
1114:
1115: /\x{1f88}+/8i
1116: \x{1f88}\x{1f80}
1117:
1118: /[z\x{1f88}]+/8i
1119: \x{1f88}\x{1f80}
1120:
1121: /-- Perl matches these --/
1122:
1123: /\x{00b5}+/8i
1124: \x{00b5}\x{039c}\x{03bc}
1125:
1126: /\x{039c}+/8i
1127: \x{00b5}\x{039c}\x{03bc}
1128:
1129: /\x{03bc}+/8i
1130: \x{00b5}\x{039c}\x{03bc}
1131:
1132:
1133: /\x{00c5}+/8i
1134: \x{00c5}\x{00e5}\x{212b}
1135:
1136: /\x{00e5}+/8i
1137: \x{00c5}\x{00e5}\x{212b}
1138:
1139: /\x{212b}+/8i
1140: \x{00c5}\x{00e5}\x{212b}
1141:
1142:
1143: /\x{01c4}+/8i
1144: \x{01c4}\x{01c5}\x{01c6}
1145:
1146: /\x{01c5}+/8i
1147: \x{01c4}\x{01c5}\x{01c6}
1148:
1149: /\x{01c6}+/8i
1150: \x{01c4}\x{01c5}\x{01c6}
1151:
1152:
1153: /\x{01c7}+/8i
1154: \x{01c7}\x{01c8}\x{01c9}
1155:
1156: /\x{01c8}+/8i
1157: \x{01c7}\x{01c8}\x{01c9}
1158:
1159: /\x{01c9}+/8i
1160: \x{01c7}\x{01c8}\x{01c9}
1161:
1162:
1163: /\x{01ca}+/8i
1164: \x{01ca}\x{01cb}\x{01cc}
1165:
1166: /\x{01cb}+/8i
1167: \x{01ca}\x{01cb}\x{01cc}
1168:
1169: /\x{01cc}+/8i
1170: \x{01ca}\x{01cb}\x{01cc}
1171:
1172:
1173: /\x{01f1}+/8i
1174: \x{01f1}\x{01f2}\x{01f3}
1175:
1176: /\x{01f2}+/8i
1177: \x{01f1}\x{01f2}\x{01f3}
1178:
1179: /\x{01f3}+/8i
1180: \x{01f1}\x{01f2}\x{01f3}
1181:
1182:
1183: /\x{0345}+/8i
1184: \x{0345}\x{0399}\x{03b9}\x{1fbe}
1185:
1186: /\x{0399}+/8i
1187: \x{0345}\x{0399}\x{03b9}\x{1fbe}
1188:
1189: /\x{03b9}+/8i
1190: \x{0345}\x{0399}\x{03b9}\x{1fbe}
1191:
1192: /\x{1fbe}+/8i
1193: \x{0345}\x{0399}\x{03b9}\x{1fbe}
1194:
1195:
1196: /\x{0392}+/8i
1197: \x{0392}\x{03b2}\x{03d0}
1198:
1199: /\x{03b2}+/8i
1200: \x{0392}\x{03b2}\x{03d0}
1201:
1202: /\x{03d0}+/8i
1203: \x{0392}\x{03b2}\x{03d0}
1204:
1205:
1206: /\x{0395}+/8i
1207: \x{0395}\x{03b5}\x{03f5}
1208:
1209: /\x{03b5}+/8i
1210: \x{0395}\x{03b5}\x{03f5}
1211:
1212: /\x{03f5}+/8i
1213: \x{0395}\x{03b5}\x{03f5}
1214:
1215:
1216: /\x{0398}+/8i
1217: \x{0398}\x{03b8}\x{03d1}\x{03f4}
1218:
1219: /\x{03b8}+/8i
1220: \x{0398}\x{03b8}\x{03d1}\x{03f4}
1221:
1222: /\x{03d1}+/8i
1223: \x{0398}\x{03b8}\x{03d1}\x{03f4}
1224:
1225: /\x{03f4}+/8i
1226: \x{0398}\x{03b8}\x{03d1}\x{03f4}
1227:
1228:
1229: /\x{039a}+/8i
1230: \x{039a}\x{03ba}\x{03f0}
1231:
1232: /\x{03ba}+/8i
1233: \x{039a}\x{03ba}\x{03f0}
1234:
1235: /\x{03f0}+/8i
1236: \x{039a}\x{03ba}\x{03f0}
1237:
1238:
1239: /\x{03a0}+/8i
1240: \x{03a0}\x{03c0}\x{03d6}
1241:
1242: /\x{03c0}+/8i
1243: \x{03a0}\x{03c0}\x{03d6}
1244:
1245: /\x{03d6}+/8i
1246: \x{03a0}\x{03c0}\x{03d6}
1247:
1248:
1249: /\x{03a1}+/8i
1250: \x{03a1}\x{03c1}\x{03f1}
1251:
1252: /\x{03c1}+/8i
1253: \x{03a1}\x{03c1}\x{03f1}
1254:
1255: /\x{03f1}+/8i
1256: \x{03a1}\x{03c1}\x{03f1}
1257:
1258:
1259: /\x{03a3}+/8i
1260: \x{03A3}\x{03C2}\x{03C3}
1261:
1262: /\x{03c2}+/8i
1263: \x{03A3}\x{03C2}\x{03C3}
1264:
1265: /\x{03c3}+/8i
1266: \x{03A3}\x{03C2}\x{03C3}
1267:
1268:
1269: /\x{03a6}+/8i
1270: \x{03a6}\x{03c6}\x{03d5}
1271:
1272: /\x{03c6}+/8i
1273: \x{03a6}\x{03c6}\x{03d5}
1274:
1275: /\x{03d5}+/8i
1276: \x{03a6}\x{03c6}\x{03d5}
1277:
1278:
1279: /\x{03c9}+/8i
1280: \x{03c9}\x{03a9}\x{2126}
1281:
1282: /\x{03a9}+/8i
1283: \x{03c9}\x{03a9}\x{2126}
1284:
1285: /\x{2126}+/8i
1286: \x{03c9}\x{03a9}\x{2126}
1287:
1288:
1289: /\x{1e60}+/8i
1290: \x{1e60}\x{1e61}\x{1e9b}
1291:
1292: /\x{1e61}+/8i
1293: \x{1e60}\x{1e61}\x{1e9b}
1294:
1295: /\x{1e9b}+/8i
1296: \x{1e60}\x{1e61}\x{1e9b}
1297:
1298:
1299: /\x{1e9e}+/8i
1300: \x{1e9e}\x{00df}
1301:
1302: /\x{00df}+/8i
1303: \x{1e9e}\x{00df}
1304:
1305:
1306: /\x{1f88}+/8i
1307: \x{1f88}\x{1f80}
1308:
1309: /\x{1f80}+/8i
1310: \x{1f88}\x{1f80}
1311:
1312: /\x{004b}+/8i
1313: \x{004b}\x{006b}\x{212a}
1314:
1315: /\x{006b}+/8i
1316: \x{004b}\x{006b}\x{212a}
1317:
1318: /\x{212a}+/8i
1319: \x{004b}\x{006b}\x{212a}
1320:
1321:
1322: /\x{0053}+/8i
1323: \x{0053}\x{0073}\x{017f}
1324:
1325: /\x{0073}+/8i
1326: \x{0053}\x{0073}\x{017f}
1327:
1328: /\x{017f}+/8i
1329: \x{0053}\x{0073}\x{017f}
1330:
1331: /ist/8i
1332: ikt
1333:
1334: /is+t/8i
1335: iSs\x{17f}t
1336: ikt
1337:
1338: /is+?t/8i
1339: ikt
1340:
1341: /is?t/8i
1342: ikt
1343:
1344: /is{2}t/8i
1345: iskt
1346:
1347: /^\p{Xuc}/8
1348: $abc
1349: @abc
1350: `abc
1351: \x{1234}abc
1352: ** Failers
1353: abc
1354:
1355: /^\p{Xuc}+/8
1356: $@`\x{a0}\x{1234}\x{e000}**
1357: ** Failers
1358: \x{9f}
1359:
1360: /^\p{Xuc}+?/8
1361: $@`\x{a0}\x{1234}\x{e000}**
1362: ** Failers
1363: \x{9f}
1364:
1365: /^\p{Xuc}+?\*/8
1366: $@`\x{a0}\x{1234}\x{e000}**
1367: ** Failers
1368: \x{9f}
1369:
1370: /^\p{Xuc}++/8
1371: $@`\x{a0}\x{1234}\x{e000}**
1372: ** Failers
1373: \x{9f}
1374:
1375: /^\p{Xuc}{3,5}/8
1376: $@`\x{a0}\x{1234}\x{e000}**
1377: ** Failers
1378: \x{9f}
1379:
1380: /^\p{Xuc}{3,5}?/8
1381: $@`\x{a0}\x{1234}\x{e000}**
1382: ** Failers
1383: \x{9f}
1384:
1385: /^[\p{Xuc}]/8
1386: $@`\x{a0}\x{1234}\x{e000}**
1387: ** Failers
1388: \x{9f}
1389:
1390: /^[\p{Xuc}]+/8
1391: $@`\x{a0}\x{1234}\x{e000}**
1392: ** Failers
1393: \x{9f}
1394:
1395: /^\P{Xuc}/8
1396: abc
1397: ** Failers
1398: $abc
1399: @abc
1400: `abc
1401: \x{1234}abc
1402:
1403: /^[\P{Xuc}]/8
1404: abc
1405: ** Failers
1406: $abc
1407: @abc
1408: `abc
1409: \x{1234}abc
1410:
1.1.1.5 ! misho 1411: /^A\s+Z/8W
! 1412: A\x{2005}Z
! 1413: A\x{85}\x{180e}\x{2005}Z
! 1414:
! 1415: /^A[\s]+Z/8W
! 1416: A\x{2005}Z
! 1417: A\x{85}\x{180e}\x{2005}Z
! 1418:
1.1.1.2 misho 1419: /-- End of testinput10 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>