Annotation of embedaddon/pcre/testdata/testinput10, revision 1.1.1.4
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}
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
1.1 misho 863:
1.1.1.2 misho 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}
1.1 misho 888:
1.1.1.2 misho 889: /^>\p{Xsp}+/8
890: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 891:
1.1.1.2 misho 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}
1.1 misho 909:
1.1.1.2 misho 910: /^>\p{Xps}+/8
911: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 912:
1.1.1.2 misho 913: /^>\p{Xps}+?/8
914: >\x{1680}\x{2028}\x{0b}
1.1 misho 915:
1.1.1.2 misho 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: []
1.1 misho 940:
1.1.1.2 misho 941: /^\p{Xwd}+/8
942: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1.1 misho 943:
1.1.1.2 misho 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}+++++
1.1.1.3 misho 988:
989: /-- Caseless single negated characters > 127 need UCP support --/
990:
991: /[^\x{100}]/8i
992: \x{100}\x{101}X
993:
994: /[^\x{100}]+/8i
995: \x{100}\x{101}XX
996:
997: /^\X/8
998: A\P
999: A\P\P
1000: A\x{300}\x{301}\P
1001: A\x{300}\x{301}\P\P
1002: A\x{301}\P
1003: A\x{301}\P\P
1004:
1005: /^\X{2,3}/8
1006: A\P
1007: A\P\P
1008: AA\P
1009: AA\P\P
1010: A\x{300}\x{301}\P
1011: A\x{300}\x{301}\P\P
1012: A\x{300}\x{301}A\x{300}\x{301}\P
1013: A\x{300}\x{301}A\x{300}\x{301}\P\P
1014:
1015: /^\X{2}/8
1016: AA\P
1017: AA\P\P
1018: A\x{300}\x{301}A\x{300}\x{301}\P
1019: A\x{300}\x{301}A\x{300}\x{301}\P\P
1020:
1021: /^\X+/8
1022: AA\P
1023: AA\P\P
1024:
1025: /^\X+?Z/8
1026: AA\P
1027: AA\P\P
1.1 misho 1028:
1.1.1.4 ! misho 1029: /-- These are tests for extended grapheme clusters --/
! 1030:
! 1031: /^\X/8+
! 1032: G\x{34e}\x{34e}X
! 1033: \x{34e}\x{34e}X
! 1034: \x04X
! 1035: \x{1100}X
! 1036: \x{1100}\x{34e}X
! 1037: \x{1b04}\x{1b04}X
! 1038: *These match up to the roman letters
! 1039: \x{1111}\x{1111}L,L
! 1040: \x{1111}\x{1111}\x{1169}L,L,V
! 1041: \x{1111}\x{ae4c}L, LV
! 1042: \x{1111}\x{ad89}L, LVT
! 1043: \x{1111}\x{ae4c}\x{1169}L, LV, V
! 1044: \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V
! 1045: \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T
! 1046: \x{1111}\x{ad89}\x{11fe}L, LVT, T
! 1047: \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T
! 1048: \x{ad89}\x{11fe}\x{11fe}LVT, T, T
! 1049: *These match just the first codepoint (invalid sequence)
! 1050: \x{1111}\x{11fe}L, T
! 1051: \x{ae4c}\x{1111}LV, L
! 1052: \x{ae4c}\x{ae4c}LV, LV
! 1053: \x{ae4c}\x{ad89}LV, LVT
! 1054: \x{1169}\x{1111}V, L
! 1055: \x{1169}\x{ae4c}V, LV
! 1056: \x{1169}\x{ad89}V, LVT
! 1057: \x{ad89}\x{1111}LVT, L
! 1058: \x{ad89}\x{1169}LVT, V
! 1059: \x{ad89}\x{ae4c}LVT, LV
! 1060: \x{ad89}\x{ad89}LVT, LVT
! 1061: \x{11fe}\x{1111}T, L
! 1062: \x{11fe}\x{1169}T, V
! 1063: \x{11fe}\x{ae4c}T, LV
! 1064: \x{11fe}\x{ad89}T, LVT
! 1065: *Test extend and spacing mark
! 1066: \x{1111}\x{ae4c}\x{0711}L, LV, extend
! 1067: \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark
! 1068: \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark
! 1069: *Test CR, LF, and control
! 1070: \x0d\x{0711}CR, extend
! 1071: \x0d\x{1b04}CR, spacingmark
! 1072: \x0a\x{0711}LF, extend
! 1073: \x0a\x{1b04}LF, spacingmark
! 1074: \x0b\x{0711}Control, extend
! 1075: \x09\x{1b04}Control, spacingmark
! 1076: *There are no Prepend characters, so we can't test Prepend, CR
! 1077:
! 1078: /^(?>\X{2})X/8+
! 1079: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
! 1080:
! 1081: /^\X{2,4}X/8+
! 1082: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
! 1083: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
! 1084: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
! 1085:
! 1086: /^\X{2,4}?X/8+
! 1087: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
! 1088: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
! 1089: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
! 1090:
! 1091: /-- --/
! 1092:
! 1093: /\x{1e9e}+/8i
! 1094: \x{1e9e}\x{00df}
! 1095:
! 1096: /[z\x{1e9e}]+/8i
! 1097: \x{1e9e}\x{00df}
! 1098:
! 1099: /\x{00df}+/8i
! 1100: \x{1e9e}\x{00df}
! 1101:
! 1102: /[z\x{00df}]+/8i
! 1103: \x{1e9e}\x{00df}
! 1104:
! 1105: /\x{1f88}+/8i
! 1106: \x{1f88}\x{1f80}
! 1107:
! 1108: /[z\x{1f88}]+/8i
! 1109: \x{1f88}\x{1f80}
! 1110:
! 1111: /-- Perl matches these --/
! 1112:
! 1113: /\x{00b5}+/8i
! 1114: \x{00b5}\x{039c}\x{03bc}
! 1115:
! 1116: /\x{039c}+/8i
! 1117: \x{00b5}\x{039c}\x{03bc}
! 1118:
! 1119: /\x{03bc}+/8i
! 1120: \x{00b5}\x{039c}\x{03bc}
! 1121:
! 1122:
! 1123: /\x{00c5}+/8i
! 1124: \x{00c5}\x{00e5}\x{212b}
! 1125:
! 1126: /\x{00e5}+/8i
! 1127: \x{00c5}\x{00e5}\x{212b}
! 1128:
! 1129: /\x{212b}+/8i
! 1130: \x{00c5}\x{00e5}\x{212b}
! 1131:
! 1132:
! 1133: /\x{01c4}+/8i
! 1134: \x{01c4}\x{01c5}\x{01c6}
! 1135:
! 1136: /\x{01c5}+/8i
! 1137: \x{01c4}\x{01c5}\x{01c6}
! 1138:
! 1139: /\x{01c6}+/8i
! 1140: \x{01c4}\x{01c5}\x{01c6}
! 1141:
! 1142:
! 1143: /\x{01c7}+/8i
! 1144: \x{01c7}\x{01c8}\x{01c9}
! 1145:
! 1146: /\x{01c8}+/8i
! 1147: \x{01c7}\x{01c8}\x{01c9}
! 1148:
! 1149: /\x{01c9}+/8i
! 1150: \x{01c7}\x{01c8}\x{01c9}
! 1151:
! 1152:
! 1153: /\x{01ca}+/8i
! 1154: \x{01ca}\x{01cb}\x{01cc}
! 1155:
! 1156: /\x{01cb}+/8i
! 1157: \x{01ca}\x{01cb}\x{01cc}
! 1158:
! 1159: /\x{01cc}+/8i
! 1160: \x{01ca}\x{01cb}\x{01cc}
! 1161:
! 1162:
! 1163: /\x{01f1}+/8i
! 1164: \x{01f1}\x{01f2}\x{01f3}
! 1165:
! 1166: /\x{01f2}+/8i
! 1167: \x{01f1}\x{01f2}\x{01f3}
! 1168:
! 1169: /\x{01f3}+/8i
! 1170: \x{01f1}\x{01f2}\x{01f3}
! 1171:
! 1172:
! 1173: /\x{0345}+/8i
! 1174: \x{0345}\x{0399}\x{03b9}\x{1fbe}
! 1175:
! 1176: /\x{0399}+/8i
! 1177: \x{0345}\x{0399}\x{03b9}\x{1fbe}
! 1178:
! 1179: /\x{03b9}+/8i
! 1180: \x{0345}\x{0399}\x{03b9}\x{1fbe}
! 1181:
! 1182: /\x{1fbe}+/8i
! 1183: \x{0345}\x{0399}\x{03b9}\x{1fbe}
! 1184:
! 1185:
! 1186: /\x{0392}+/8i
! 1187: \x{0392}\x{03b2}\x{03d0}
! 1188:
! 1189: /\x{03b2}+/8i
! 1190: \x{0392}\x{03b2}\x{03d0}
! 1191:
! 1192: /\x{03d0}+/8i
! 1193: \x{0392}\x{03b2}\x{03d0}
! 1194:
! 1195:
! 1196: /\x{0395}+/8i
! 1197: \x{0395}\x{03b5}\x{03f5}
! 1198:
! 1199: /\x{03b5}+/8i
! 1200: \x{0395}\x{03b5}\x{03f5}
! 1201:
! 1202: /\x{03f5}+/8i
! 1203: \x{0395}\x{03b5}\x{03f5}
! 1204:
! 1205:
! 1206: /\x{0398}+/8i
! 1207: \x{0398}\x{03b8}\x{03d1}\x{03f4}
! 1208:
! 1209: /\x{03b8}+/8i
! 1210: \x{0398}\x{03b8}\x{03d1}\x{03f4}
! 1211:
! 1212: /\x{03d1}+/8i
! 1213: \x{0398}\x{03b8}\x{03d1}\x{03f4}
! 1214:
! 1215: /\x{03f4}+/8i
! 1216: \x{0398}\x{03b8}\x{03d1}\x{03f4}
! 1217:
! 1218:
! 1219: /\x{039a}+/8i
! 1220: \x{039a}\x{03ba}\x{03f0}
! 1221:
! 1222: /\x{03ba}+/8i
! 1223: \x{039a}\x{03ba}\x{03f0}
! 1224:
! 1225: /\x{03f0}+/8i
! 1226: \x{039a}\x{03ba}\x{03f0}
! 1227:
! 1228:
! 1229: /\x{03a0}+/8i
! 1230: \x{03a0}\x{03c0}\x{03d6}
! 1231:
! 1232: /\x{03c0}+/8i
! 1233: \x{03a0}\x{03c0}\x{03d6}
! 1234:
! 1235: /\x{03d6}+/8i
! 1236: \x{03a0}\x{03c0}\x{03d6}
! 1237:
! 1238:
! 1239: /\x{03a1}+/8i
! 1240: \x{03a1}\x{03c1}\x{03f1}
! 1241:
! 1242: /\x{03c1}+/8i
! 1243: \x{03a1}\x{03c1}\x{03f1}
! 1244:
! 1245: /\x{03f1}+/8i
! 1246: \x{03a1}\x{03c1}\x{03f1}
! 1247:
! 1248:
! 1249: /\x{03a3}+/8i
! 1250: \x{03A3}\x{03C2}\x{03C3}
! 1251:
! 1252: /\x{03c2}+/8i
! 1253: \x{03A3}\x{03C2}\x{03C3}
! 1254:
! 1255: /\x{03c3}+/8i
! 1256: \x{03A3}\x{03C2}\x{03C3}
! 1257:
! 1258:
! 1259: /\x{03a6}+/8i
! 1260: \x{03a6}\x{03c6}\x{03d5}
! 1261:
! 1262: /\x{03c6}+/8i
! 1263: \x{03a6}\x{03c6}\x{03d5}
! 1264:
! 1265: /\x{03d5}+/8i
! 1266: \x{03a6}\x{03c6}\x{03d5}
! 1267:
! 1268:
! 1269: /\x{03c9}+/8i
! 1270: \x{03c9}\x{03a9}\x{2126}
! 1271:
! 1272: /\x{03a9}+/8i
! 1273: \x{03c9}\x{03a9}\x{2126}
! 1274:
! 1275: /\x{2126}+/8i
! 1276: \x{03c9}\x{03a9}\x{2126}
! 1277:
! 1278:
! 1279: /\x{1e60}+/8i
! 1280: \x{1e60}\x{1e61}\x{1e9b}
! 1281:
! 1282: /\x{1e61}+/8i
! 1283: \x{1e60}\x{1e61}\x{1e9b}
! 1284:
! 1285: /\x{1e9b}+/8i
! 1286: \x{1e60}\x{1e61}\x{1e9b}
! 1287:
! 1288:
! 1289: /\x{1e9e}+/8i
! 1290: \x{1e9e}\x{00df}
! 1291:
! 1292: /\x{00df}+/8i
! 1293: \x{1e9e}\x{00df}
! 1294:
! 1295:
! 1296: /\x{1f88}+/8i
! 1297: \x{1f88}\x{1f80}
! 1298:
! 1299: /\x{1f80}+/8i
! 1300: \x{1f88}\x{1f80}
! 1301:
! 1302: /\x{004b}+/8i
! 1303: \x{004b}\x{006b}\x{212a}
! 1304:
! 1305: /\x{006b}+/8i
! 1306: \x{004b}\x{006b}\x{212a}
! 1307:
! 1308: /\x{212a}+/8i
! 1309: \x{004b}\x{006b}\x{212a}
! 1310:
! 1311:
! 1312: /\x{0053}+/8i
! 1313: \x{0053}\x{0073}\x{017f}
! 1314:
! 1315: /\x{0073}+/8i
! 1316: \x{0053}\x{0073}\x{017f}
! 1317:
! 1318: /\x{017f}+/8i
! 1319: \x{0053}\x{0073}\x{017f}
! 1320:
! 1321: /ist/8i
! 1322: ikt
! 1323:
! 1324: /is+t/8i
! 1325: iSs\x{17f}t
! 1326: ikt
! 1327:
! 1328: /is+?t/8i
! 1329: ikt
! 1330:
! 1331: /is?t/8i
! 1332: ikt
! 1333:
! 1334: /is{2}t/8i
! 1335: iskt
! 1336:
! 1337: /^\p{Xuc}/8
! 1338: $abc
! 1339: @abc
! 1340: `abc
! 1341: \x{1234}abc
! 1342: ** Failers
! 1343: abc
! 1344:
! 1345: /^\p{Xuc}+/8
! 1346: $@`\x{a0}\x{1234}\x{e000}**
! 1347: ** Failers
! 1348: \x{9f}
! 1349:
! 1350: /^\p{Xuc}+?/8
! 1351: $@`\x{a0}\x{1234}\x{e000}**
! 1352: ** Failers
! 1353: \x{9f}
! 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}{3,5}/8
! 1366: $@`\x{a0}\x{1234}\x{e000}**
! 1367: ** Failers
! 1368: \x{9f}
! 1369:
! 1370: /^\p{Xuc}{3,5}?/8
! 1371: $@`\x{a0}\x{1234}\x{e000}**
! 1372: ** Failers
! 1373: \x{9f}
! 1374:
! 1375: /^[\p{Xuc}]/8
! 1376: $@`\x{a0}\x{1234}\x{e000}**
! 1377: ** Failers
! 1378: \x{9f}
! 1379:
! 1380: /^[\p{Xuc}]+/8
! 1381: $@`\x{a0}\x{1234}\x{e000}**
! 1382: ** Failers
! 1383: \x{9f}
! 1384:
! 1385: /^\P{Xuc}/8
! 1386: abc
! 1387: ** Failers
! 1388: $abc
! 1389: @abc
! 1390: `abc
! 1391: \x{1234}abc
! 1392:
! 1393: /^[\P{Xuc}]/8
! 1394: abc
! 1395: ** Failers
! 1396: $abc
! 1397: @abc
! 1398: `abc
! 1399: \x{1234}abc
! 1400:
1.1.1.2 misho 1401: /-- End of testinput10 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>