Annotation of embedaddon/pcre/testdata/testoutput7, revision 1.1.1.4
1.1.1.2 misho 1: /-- These tests for Unicode property support test PCRE's API and show some of
2: the compiled code. They are not Perl-compatible. --/
1.1 misho 3:
1.1.1.2 misho 4: /[\p{L}]/DZ
5: ------------------------------------------------------------------
6: Bra
7: [\p{L}]
8: Ket
9: End
10: ------------------------------------------------------------------
11: Capturing subpattern count = 0
12: No options
13: No first char
14: No need char
1.1 misho 15:
1.1.1.2 misho 16: /[\p{^L}]/DZ
17: ------------------------------------------------------------------
18: Bra
19: [\P{L}]
20: Ket
21: End
22: ------------------------------------------------------------------
23: Capturing subpattern count = 0
24: No options
25: No first char
26: No need char
1.1 misho 27:
1.1.1.2 misho 28: /[\P{L}]/DZ
29: ------------------------------------------------------------------
30: Bra
31: [\P{L}]
32: Ket
33: End
34: ------------------------------------------------------------------
35: Capturing subpattern count = 0
36: No options
37: No first char
38: No need char
1.1 misho 39:
1.1.1.2 misho 40: /[\P{^L}]/DZ
41: ------------------------------------------------------------------
42: Bra
43: [\p{L}]
44: Ket
45: End
46: ------------------------------------------------------------------
47: Capturing subpattern count = 0
48: No options
49: No first char
50: No need char
1.1 misho 51:
1.1.1.2 misho 52: /[abc\p{L}\x{0660}]/8DZ
53: ------------------------------------------------------------------
54: Bra
55: [a-c\p{L}\x{660}]
56: Ket
57: End
58: ------------------------------------------------------------------
59: Capturing subpattern count = 0
60: Options: utf
61: No first char
62: No need char
1.1 misho 63:
1.1.1.2 misho 64: /[\p{Nd}]/8DZ
65: ------------------------------------------------------------------
66: Bra
67: [\p{Nd}]
68: Ket
69: End
70: ------------------------------------------------------------------
71: Capturing subpattern count = 0
72: Options: utf
73: No first char
74: No need char
75: 1234
76: 0: 1
1.1 misho 77:
1.1.1.2 misho 78: /[\p{Nd}+-]+/8DZ
79: ------------------------------------------------------------------
80: Bra
81: [+\-\p{Nd}]+
82: Ket
83: End
84: ------------------------------------------------------------------
85: Capturing subpattern count = 0
86: Options: utf
87: No first char
88: No need char
89: 1234
90: 0: 1234
91: 12-34
92: 0: 12-34
93: 12+\x{661}-34
94: 0: 12+\x{661}-34
95: ** Failers
1.1 misho 96: No match
1.1.1.2 misho 97: abcd
1.1 misho 98: No match
99:
1.1.1.2 misho 100: /[\x{105}-\x{109}]/8iDZ
101: ------------------------------------------------------------------
102: Bra
103: [\x{104}-\x{109}]
104: Ket
105: End
106: ------------------------------------------------------------------
107: Capturing subpattern count = 0
108: Options: caseless utf
109: No first char
110: No need char
111: \x{104}
112: 0: \x{104}
113: \x{105}
114: 0: \x{105}
115: \x{109}
116: 0: \x{109}
117: ** Failers
118: No match
119: \x{100}
120: No match
121: \x{10a}
122: No match
123:
124: /[z-\x{100}]/8iDZ
125: ------------------------------------------------------------------
126: Bra
1.1.1.4 ! misho 127: [Z\x{39c}\x{3bc}\x{1e9e}\x{178}z-\x{101}]
1.1.1.2 misho 128: Ket
129: End
130: ------------------------------------------------------------------
131: Capturing subpattern count = 0
132: Options: caseless utf
133: No first char
134: No need char
135: Z
136: 0: Z
1.1 misho 137: z
138: 0: z
1.1.1.2 misho 139: \x{39c}
140: 0: \x{39c}
141: \x{178}
142: 0: \x{178}
143: |
144: 0: |
145: \x{80}
146: 0: \x{80}
147: \x{ff}
148: 0: \x{ff}
149: \x{100}
150: 0: \x{100}
151: \x{101}
152: 0: \x{101}
153: ** Failers
154: No match
155: \x{102}
156: No match
157: Y
158: No match
159: y
160: No match
161:
162: /[z-\x{100}]/8DZi
163: ------------------------------------------------------------------
164: Bra
1.1.1.4 ! misho 165: [Z\x{39c}\x{3bc}\x{1e9e}\x{178}z-\x{101}]
1.1.1.2 misho 166: Ket
167: End
168: ------------------------------------------------------------------
169: Capturing subpattern count = 0
170: Options: caseless utf
171: No first char
172: No need char
1.1 misho 173:
1.1.1.2 misho 174: /(?:[\PPa*]*){8,}/
1.1 misho 175:
1.1.1.2 misho 176: /[\P{Any}]/BZ
177: ------------------------------------------------------------------
178: Bra
179: [\P{Any}]
180: Ket
181: End
182: ------------------------------------------------------------------
1.1 misho 183:
1.1.1.2 misho 184: /[\P{Any}\E]/BZ
185: ------------------------------------------------------------------
186: Bra
187: [\P{Any}]
188: Ket
189: End
190: ------------------------------------------------------------------
1.1 misho 191:
1.1.1.2 misho 192: /(\P{Yi}+\277)/
1.1 misho 193:
1.1.1.2 misho 194: /(\P{Yi}+\277)?/
1.1 misho 195:
1.1.1.2 misho 196: /(?<=\P{Yi}{3}A)X/
1.1 misho 197:
1.1.1.2 misho 198: /\p{Yi}+(\P{Yi}+)(?1)/
1.1 misho 199:
1.1.1.2 misho 200: /(\P{Yi}{2}\277)?/
1.1 misho 201:
1.1.1.2 misho 202: /[\P{Yi}A]/
1.1 misho 203:
1.1.1.2 misho 204: /[\P{Yi}\P{Yi}\P{Yi}A]/
1.1 misho 205:
1.1.1.2 misho 206: /[^\P{Yi}A]/
207:
208: /[^\P{Yi}\P{Yi}\P{Yi}A]/
209:
210: /(\P{Yi}*\277)*/
211:
212: /(\P{Yi}*?\277)*/
213:
214: /(\p{Yi}*+\277)*/
215:
216: /(\P{Yi}?\277)*/
217:
218: /(\P{Yi}??\277)*/
219:
220: /(\p{Yi}?+\277)*/
221:
222: /(\P{Yi}{0,3}\277)*/
223:
224: /(\P{Yi}{0,3}?\277)*/
225:
226: /(\p{Yi}{0,3}+\277)*/
227:
228: /\p{Zl}{2,3}+/8BZ
229: ------------------------------------------------------------------
230: Bra
231: prop Zl {2}
232: prop Zl ?+
233: Ket
234: End
235: ------------------------------------------------------------------
1.1.1.4 ! misho 236:
1.1.1.2 misho 237: 0: \x{2028}\x{2028}
238: \x{2028}\x{2028}\x{2028}
239: 0: \x{2028}\x{2028}\x{2028}
1.1 misho 240:
1.1.1.2 misho 241: /\p{Zl}/8BZ
242: ------------------------------------------------------------------
243: Bra
244: prop Zl
245: Ket
246: End
247: ------------------------------------------------------------------
1.1 misho 248:
1.1.1.2 misho 249: /\p{Lu}{3}+/8BZ
250: ------------------------------------------------------------------
251: Bra
252: prop Lu {3}
253: Ket
254: End
255: ------------------------------------------------------------------
1.1 misho 256:
1.1.1.2 misho 257: /\pL{2}+/8BZ
258: ------------------------------------------------------------------
259: Bra
260: prop L {2}
261: Ket
262: End
263: ------------------------------------------------------------------
264:
265: /\p{Cc}{2}+/8BZ
266: ------------------------------------------------------------------
267: Bra
268: prop Cc {2}
269: Ket
270: End
271: ------------------------------------------------------------------
272:
273: /^\p{Cs}/8
274: \?\x{dfff}
275: 0: \x{dfff}
276: ** Failers
1.1 misho 277: No match
1.1.1.2 misho 278: \x{09f}
1.1 misho 279: No match
1.1.1.2 misho 280:
281: /^\p{Sc}+/8
282: $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
283: 0: $\x{a2}\x{a3}\x{a4}\x{a5}
284: \x{9f2}
285: 0: \x{9f2}
1.1 misho 286: ** Failers
287: No match
1.1.1.2 misho 288: X
1.1 misho 289: No match
1.1.1.2 misho 290: \x{2c2}
1.1 misho 291: No match
1.1.1.2 misho 292:
293: /^\p{Zs}/8
294: \ \
295: 0:
296: \x{a0}
297: 0: \x{a0}
298: \x{1680}
299: 0: \x{1680}
300: \x{180e}
301: 0: \x{180e}
302: \x{2000}
303: 0: \x{2000}
304: \x{2001}
305: 0: \x{2001}
1.1 misho 306: ** Failers
307: No match
1.1.1.2 misho 308: \x{2028}
1.1 misho 309: No match
1.1.1.2 misho 310: \x{200d}
1.1 misho 311: No match
1.1.1.2 misho 312:
313: /-- These four are here rather than in test 6 because Perl has problems with
314: the negative versions of the properties. --/
315:
316: /\p{^Lu}/8i
317: 1234
318: 0: 1
1.1 misho 319: ** Failers
1.1.1.2 misho 320: 0: *
321: ABC
1.1 misho 322: No match
323:
1.1.1.2 misho 324: /\P{Lu}/8i
325: 1234
326: 0: 1
1.1 misho 327: ** Failers
1.1.1.2 misho 328: 0: *
329: ABC
1.1 misho 330: No match
331:
1.1.1.2 misho 332: /\p{Ll}/8i
333: a
334: 0: a
335: Az
336: 0: z
1.1 misho 337: ** Failers
1.1.1.2 misho 338: 0: a
339: ABC
1.1 misho 340: No match
341:
1.1.1.2 misho 342: /\p{Lu}/8i
343: A
344: 0: A
345: a\x{10a0}B
346: 0: \x{10a0}
1.1 misho 347: ** Failers
1.1.1.2 misho 348: 0: F
349: a
1.1 misho 350: No match
1.1.1.2 misho 351: \x{1d00}
1.1 misho 352: No match
1.1.1.2 misho 353:
354: /[\x{c0}\x{391}]/8i
355: \x{c0}
356: 0: \x{c0}
357: \x{e0}
358: 0: \x{e0}
359:
360: /-- The next two are special cases where the lengths of the different cases of
361: the same character differ. The first went wrong with heap frame storage; the
362: second was broken in all cases. --/
363:
364: /^\x{023a}+?(\x{0130}+)/8i
365: \x{023a}\x{2c65}\x{0130}
366: 0: \x{23a}\x{2c65}\x{130}
367: 1: \x{130}
368:
369: /^\x{023a}+([^X])/8i
370: \x{023a}\x{2c65}X
371: 0: \x{23a}\x{2c65}
372: 1: \x{2c65}
373:
374: /\x{c0}+\x{116}+/8i
375: \x{c0}\x{e0}\x{116}\x{117}
376: 0: \x{c0}\x{e0}\x{116}\x{117}
377:
378: /[\x{c0}\x{116}]+/8i
379: \x{c0}\x{e0}\x{116}\x{117}
380: 0: \x{c0}\x{e0}\x{116}\x{117}
381:
382: /(\x{de})\1/8i
383: \x{de}\x{de}
384: 0: \x{de}\x{de}
385: 1: \x{de}
386: \x{de}\x{fe}
387: 0: \x{de}\x{fe}
388: 1: \x{de}
389: \x{fe}\x{fe}
390: 0: \x{fe}\x{fe}
391: 1: \x{fe}
392: \x{fe}\x{de}
393: 0: \x{fe}\x{de}
394: 1: \x{fe}
395:
396: /^\x{c0}$/8i
397: \x{c0}
398: 0: \x{c0}
399: \x{e0}
400: 0: \x{e0}
401:
402: /^\x{e0}$/8i
403: \x{c0}
404: 0: \x{c0}
405: \x{e0}
406: 0: \x{e0}
407:
408: /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
409: will match it only with UCP support, because without that it has no notion
410: of case for anything other than the ASCII letters. --/
411:
412: /((?i)[\x{c0}])/8
413: \x{c0}
414: 0: \x{c0}
415: 1: \x{c0}
416: \x{e0}
417: 0: \x{e0}
418: 1: \x{e0}
419:
420: /(?i:[\x{c0}])/8
421: \x{c0}
422: 0: \x{c0}
423: \x{e0}
424: 0: \x{e0}
425:
426: /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
1.1 misho 427:
1.1.1.2 misho 428: /^\p{Xan}/8
429: ABCD
430: 0: A
431: 1234
432: 0: 1
433: \x{6ca}
434: 0: \x{6ca}
435: \x{a6c}
436: 0: \x{a6c}
437: \x{10a7}
438: 0: \x{10a7}
1.1 misho 439: ** Failers
440: No match
1.1.1.2 misho 441: _ABC
1.1 misho 442: No match
443:
1.1.1.2 misho 444: /^\p{Xan}+/8
445: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
446: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
1.1 misho 447: ** Failers
448: No match
1.1.1.2 misho 449: _ABC
1.1 misho 450: No match
451:
1.1.1.2 misho 452: /^\p{Xan}+?/8
453: \x{6ca}\x{a6c}\x{10a7}_
454: 0: \x{6ca}
1.1 misho 455:
1.1.1.2 misho 456: /^\p{Xan}*/8
457: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
458: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
459:
460: /^\p{Xan}{2,9}/8
461: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
462: 0: ABCD1234\x{6ca}
463:
464: /^\p{Xan}{2,9}?/8
465: \x{6ca}\x{a6c}\x{10a7}_
466: 0: \x{6ca}\x{a6c}
467:
468: /^[\p{Xan}]/8
469: ABCD1234_
470: 0: A
471: 1234abcd_
472: 0: 1
473: \x{6ca}
474: 0: \x{6ca}
475: \x{a6c}
476: 0: \x{a6c}
477: \x{10a7}
478: 0: \x{10a7}
1.1 misho 479: ** Failers
480: No match
1.1.1.2 misho 481: _ABC
1.1 misho 482: No match
1.1.1.2 misho 483:
484: /^[\p{Xan}]+/8
485: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
486: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
1.1 misho 487: ** Failers
488: No match
1.1.1.2 misho 489: _ABC
1.1 misho 490: No match
491:
1.1.1.2 misho 492: /^>\p{Xsp}/8
493: >\x{1680}\x{2028}\x{0b}
494: 0: >\x{1680}
495: >\x{a0}
496: 0: >\x{a0}
497: ** Failers
1.1 misho 498: No match
1.1.1.2 misho 499: \x{0b}
1.1 misho 500: No match
501:
1.1.1.2 misho 502: /^>\p{Xsp}+/8
503: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
504: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
1.1 misho 505:
1.1.1.2 misho 506: /^>\p{Xsp}+?/8
507: >\x{1680}\x{2028}\x{0b}
508: 0: >\x{1680}
1.1 misho 509:
1.1.1.2 misho 510: /^>\p{Xsp}*/8
511: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
512: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
1.1 misho 513:
1.1.1.2 misho 514: /^>\p{Xsp}{2,9}/8
515: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
516: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
1.1 misho 517:
1.1.1.2 misho 518: /^>\p{Xsp}{2,9}?/8
519: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
520: 0: > \x{09}
521:
522: /^>[\p{Xsp}]/8
523: >\x{2028}\x{0b}
524: 0: >\x{2028}
525:
526: /^>[\p{Xsp}]+/8
527: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
528: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}
1.1 misho 529:
1.1.1.2 misho 530: /^>\p{Xps}/8
531: >\x{1680}\x{2028}\x{0b}
532: 0: >\x{1680}
533: >\x{a0}
534: 0: >\x{a0}
1.1 misho 535: ** Failers
536: No match
1.1.1.2 misho 537: \x{0b}
1.1 misho 538: No match
539:
1.1.1.2 misho 540: /^>\p{Xps}+/8
541: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
542: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
543:
544: /^>\p{Xps}+?/8
545: >\x{1680}\x{2028}\x{0b}
546: 0: >\x{1680}
1.1 misho 547:
1.1.1.2 misho 548: /^>\p{Xps}*/8
549: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
550: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
551:
552: /^>\p{Xps}{2,9}/8
553: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
554: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
555:
556: /^>\p{Xps}{2,9}?/8
557: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
558: 0: > \x{09}
559:
560: /^>[\p{Xps}]/8
561: >\x{2028}\x{0b}
562: 0: >\x{2028}
563:
564: /^>[\p{Xps}]+/8
565: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
566: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 567:
1.1.1.2 misho 568: /^\p{Xwd}/8
1.1 misho 569: ABCD
1.1.1.2 misho 570: 0: A
571: 1234
572: 0: 1
573: \x{6ca}
574: 0: \x{6ca}
575: \x{a6c}
576: 0: \x{a6c}
577: \x{10a7}
578: 0: \x{10a7}
579: _ABC
580: 0: _
1.1 misho 581: ** Failers
582: No match
1.1.1.2 misho 583: []
1.1 misho 584: No match
585:
1.1.1.2 misho 586: /^\p{Xwd}+/8
587: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
588: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
589:
590: /^\p{Xwd}+?/8
591: \x{6ca}\x{a6c}\x{10a7}_
592: 0: \x{6ca}
593:
594: /^\p{Xwd}*/8
595: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
596: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
597:
598: /^\p{Xwd}{2,9}/8
599: A_B12\x{6ca}\x{a6c}\x{10a7}
600: 0: A_B12\x{6ca}\x{a6c}\x{10a7}
601:
602: /^\p{Xwd}{2,9}?/8
603: \x{6ca}\x{a6c}\x{10a7}_
604: 0: \x{6ca}\x{a6c}
605:
606: /^[\p{Xwd}]/8
607: ABCD1234_
608: 0: A
609: 1234abcd_
610: 0: 1
611: \x{6ca}
612: 0: \x{6ca}
613: \x{a6c}
614: 0: \x{a6c}
615: \x{10a7}
616: 0: \x{10a7}
617: _ABC
618: 0: _
1.1 misho 619: ** Failers
620: No match
1.1.1.2 misho 621: []
1.1 misho 622: No match
1.1.1.2 misho 623:
624: /^[\p{Xwd}]+/8
625: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
626: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
627:
628: /-- A check not in UTF-8 mode --/
629:
630: /^[\p{Xwd}]+/
631: ABCD1234_
632: 0: ABCD1234_
633:
634: /-- Some negative checks --/
635:
636: /^[\P{Xwd}]+/8
637: !.+\x{019}\x{35a}AB
638: 0: !.+\x{19}\x{35a}
639:
640: /^[\p{^Xwd}]+/8
641: !.+\x{019}\x{35a}AB
642: 0: !.+\x{19}\x{35a}
643:
644: /[\D]/WBZ8
645: ------------------------------------------------------------------
646: Bra
647: [\P{Nd}]
648: Ket
649: End
650: ------------------------------------------------------------------
651: 1\x{3c8}2
652: 0: \x{3c8}
653:
654: /[\d]/WBZ8
655: ------------------------------------------------------------------
656: Bra
657: [\p{Nd}]
658: Ket
659: End
660: ------------------------------------------------------------------
661: >\x{6f4}<
662: 0: \x{6f4}
663:
664: /[\S]/WBZ8
665: ------------------------------------------------------------------
666: Bra
667: [\P{Xsp}]
668: Ket
669: End
670: ------------------------------------------------------------------
671: \x{1680}\x{6f4}\x{1680}
672: 0: \x{6f4}
673:
674: /[\s]/WBZ8
675: ------------------------------------------------------------------
676: Bra
677: [\p{Xsp}]
678: Ket
679: End
680: ------------------------------------------------------------------
681: >\x{1680}<
682: 0: \x{1680}
683:
684: /[\W]/WBZ8
685: ------------------------------------------------------------------
686: Bra
687: [\P{Xwd}]
688: Ket
689: End
690: ------------------------------------------------------------------
691: A\x{1712}B
692: 0: \x{1712}
693:
694: /[\w]/WBZ8
695: ------------------------------------------------------------------
696: Bra
697: [\p{Xwd}]
698: Ket
699: End
700: ------------------------------------------------------------------
701: >\x{1723}<
702: 0: \x{1723}
703:
704: /\D/WBZ8
705: ------------------------------------------------------------------
706: Bra
707: notprop Nd
708: Ket
709: End
710: ------------------------------------------------------------------
711: 1\x{3c8}2
712: 0: \x{3c8}
713:
714: /\d/WBZ8
715: ------------------------------------------------------------------
716: Bra
717: prop Nd
718: Ket
719: End
720: ------------------------------------------------------------------
721: >\x{6f4}<
722: 0: \x{6f4}
723:
724: /\S/WBZ8
725: ------------------------------------------------------------------
726: Bra
727: notprop Xsp
728: Ket
729: End
730: ------------------------------------------------------------------
731: \x{1680}\x{6f4}\x{1680}
732: 0: \x{6f4}
733:
734: /\s/WBZ8
735: ------------------------------------------------------------------
736: Bra
737: prop Xsp
738: Ket
739: End
740: ------------------------------------------------------------------
741: >\x{1680}>
742: 0: \x{1680}
743:
744: /\W/WBZ8
745: ------------------------------------------------------------------
746: Bra
747: notprop Xwd
748: Ket
749: End
750: ------------------------------------------------------------------
751: A\x{1712}B
752: 0: \x{1712}
753:
754: /\w/WBZ8
755: ------------------------------------------------------------------
756: Bra
757: prop Xwd
758: Ket
759: End
760: ------------------------------------------------------------------
761: >\x{1723}<
762: 0: \x{1723}
763:
764: /[[:alpha:]]/WBZ
765: ------------------------------------------------------------------
766: Bra
767: [\p{L}]
768: Ket
769: End
770: ------------------------------------------------------------------
771:
772: /[[:lower:]]/WBZ
773: ------------------------------------------------------------------
774: Bra
775: [\p{Ll}]
776: Ket
777: End
778: ------------------------------------------------------------------
779:
780: /[[:upper:]]/WBZ
781: ------------------------------------------------------------------
782: Bra
783: [\p{Lu}]
784: Ket
785: End
786: ------------------------------------------------------------------
787:
788: /[[:alnum:]]/WBZ
789: ------------------------------------------------------------------
790: Bra
791: [\p{Xan}]
792: Ket
793: End
794: ------------------------------------------------------------------
795:
796: /[[:ascii:]]/WBZ
797: ------------------------------------------------------------------
798: Bra
799: [\x00-\x7f]
800: Ket
801: End
802: ------------------------------------------------------------------
803:
804: /[[:cntrl:]]/WBZ
805: ------------------------------------------------------------------
806: Bra
807: [\x00-\x1f\x7f]
808: Ket
809: End
810: ------------------------------------------------------------------
811:
812: /[[:digit:]]/WBZ
813: ------------------------------------------------------------------
814: Bra
815: [\p{Nd}]
816: Ket
817: End
818: ------------------------------------------------------------------
819:
820: /[[:graph:]]/WBZ
821: ------------------------------------------------------------------
822: Bra
823: [!-~]
824: Ket
825: End
826: ------------------------------------------------------------------
827:
828: /[[:print:]]/WBZ
829: ------------------------------------------------------------------
830: Bra
831: [ -~]
832: Ket
833: End
834: ------------------------------------------------------------------
835:
836: /[[:punct:]]/WBZ
837: ------------------------------------------------------------------
838: Bra
839: [!-/:-@[-`{-~]
840: Ket
841: End
842: ------------------------------------------------------------------
843:
844: /[[:space:]]/WBZ
845: ------------------------------------------------------------------
846: Bra
847: [\p{Xps}]
848: Ket
849: End
850: ------------------------------------------------------------------
851:
852: /[[:word:]]/WBZ
853: ------------------------------------------------------------------
854: Bra
855: [\p{Xwd}]
856: Ket
857: End
858: ------------------------------------------------------------------
859:
860: /[[:xdigit:]]/WBZ
861: ------------------------------------------------------------------
862: Bra
863: [0-9A-Fa-f]
864: Ket
865: End
866: ------------------------------------------------------------------
867:
868: /-- Unicode properties for \b abd \B --/
869:
870: /\b...\B/8W
871: abc_
872: 0: abc
873: \x{37e}abc\x{376}
874: 0: abc
875: \x{37e}\x{376}\x{371}\x{393}\x{394}
876: 0: \x{376}\x{371}\x{393}
877: !\x{c0}++\x{c1}\x{c2}
878: 0: ++\x{c1}
879: !\x{c0}+++++
880: 0: \x{c0}++
881:
882: /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
883:
884: /\b...\B/8
885: abc_
886: 0: abc
887: ** Failers
888: 0: Fai
889: \x{37e}abc\x{376}
1.1 misho 890: No match
1.1.1.2 misho 891: \x{37e}\x{376}\x{371}\x{393}\x{394}
1.1 misho 892: No match
1.1.1.2 misho 893: !\x{c0}++\x{c1}\x{c2}
1.1 misho 894: No match
1.1.1.2 misho 895: !\x{c0}+++++
1.1 misho 896: No match
897:
1.1.1.2 misho 898: /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
1.1 misho 899:
1.1.1.2 misho 900: /\b...\B/W
901: abc_
1.1 misho 902: 0: abc
1.1.1.2 misho 903: !\x{c0}++\x{c1}\x{c2}
904: 0: ++\xc1
905: !\x{c0}+++++
906: 0: \xc0++
1.1 misho 907:
1.1.1.2 misho 908: /-- Some of these are silly, but they check various combinations --/
1.1 misho 909:
1.1.1.2 misho 910: /[[:^alpha:][:^cntrl:]]+/8WBZ
911: ------------------------------------------------------------------
912: Bra
913: [ -~\x80-\xff\P{L}]+
914: Ket
915: End
916: ------------------------------------------------------------------
917: 123
918: 0: 123
919: abc
1.1 misho 920: 0: abc
921:
1.1.1.2 misho 922: /[[:^cntrl:][:^alpha:]]+/8WBZ
923: ------------------------------------------------------------------
924: Bra
925: [ -~\x80-\xff\P{L}]+
926: Ket
927: End
928: ------------------------------------------------------------------
929: 123
930: 0: 123
931: abc
1.1 misho 932: 0: abc
933:
1.1.1.2 misho 934: /[[:alpha:]]+/8WBZ
935: ------------------------------------------------------------------
936: Bra
937: [\p{L}]+
938: Ket
939: End
940: ------------------------------------------------------------------
1.1 misho 941: abc
942: 0: abc
943:
1.1.1.2 misho 944: /[[:^alpha:]\S]+/8WBZ
945: ------------------------------------------------------------------
946: Bra
947: [\P{L}\P{Xsp}]+
948: Ket
949: End
950: ------------------------------------------------------------------
951: 123
952: 0: 123
953: abc
1.1 misho 954: 0: abc
955:
1.1.1.2 misho 956: /[^\d]+/8WBZ
957: ------------------------------------------------------------------
958: Bra
959: [^\p{Nd}]+
960: Ket
961: End
962: ------------------------------------------------------------------
963: abc123
964: 0: abc
965: abc\x{123}
966: 0: abc\x{123}
967: \x{660}abc
968: 0: abc
969:
970: /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
971: ------------------------------------------------------------------
972: Bra
973: prop Lu ++
974: 9
975: prop Lu +
976: B
977: prop Lu ++
978: b
979: Ket
980: End
981: ------------------------------------------------------------------
982:
983: /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
984: ------------------------------------------------------------------
985: Bra
986: notprop Lu +
987: 9
988: notprop Lu ++
989: B
990: notprop Lu +
991: b
992: Ket
993: End
994: ------------------------------------------------------------------
995:
996: /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
997: ------------------------------------------------------------------
998: Bra
999: notprop Lu +
1000: 9
1001: notprop Lu ++
1002: B
1003: notprop Lu +
1004: b
1005: Ket
1006: End
1007: ------------------------------------------------------------------
1008:
1009: /\p{Han}+X\p{Greek}+\x{370}/BZ8
1010: ------------------------------------------------------------------
1011: Bra
1012: prop Han ++
1013: X
1014: prop Greek +
1015: \x{370}
1016: Ket
1017: End
1018: ------------------------------------------------------------------
1019:
1020: /\p{Xan}+!\p{Xan}+A/BZ
1021: ------------------------------------------------------------------
1022: Bra
1023: prop Xan ++
1024: !
1025: prop Xan +
1026: A
1027: Ket
1028: End
1029: ------------------------------------------------------------------
1030:
1031: /\p{Xsp}+!\p{Xsp}\t/BZ
1032: ------------------------------------------------------------------
1033: Bra
1034: prop Xsp ++
1035: !
1036: prop Xsp
1037: \x09
1038: Ket
1039: End
1040: ------------------------------------------------------------------
1041:
1042: /\p{Xps}+!\p{Xps}\t/BZ
1043: ------------------------------------------------------------------
1044: Bra
1045: prop Xps ++
1046: !
1047: prop Xps
1048: \x09
1049: Ket
1050: End
1051: ------------------------------------------------------------------
1052:
1053: /\p{Xwd}+!\p{Xwd}_/BZ
1054: ------------------------------------------------------------------
1055: Bra
1056: prop Xwd ++
1057: !
1058: prop Xwd
1059: _
1060: Ket
1061: End
1062: ------------------------------------------------------------------
1063:
1064: /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
1065: ------------------------------------------------------------------
1066: Bra
1067: A++
1068: prop N
1069: A++
1070: prop Nd
1071: B+
1072: prop N *+
1073: B+
1074: prop Nd *
1075: Ket
1076: End
1077: ------------------------------------------------------------------
1078:
1079: /-- These behaved oddly in Perl, so they are kept in this test --/
1080:
1081: /(\x{23a}\x{23a}\x{23a})?\1/8i
1082: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1083: No match
1084:
1085: /(ȺȺȺ)?\1/8i
1086: ȺȺȺⱥⱥ
1087: No match
1088:
1089: /(\x{23a}\x{23a}\x{23a})?\1/8i
1090: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1091: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1092: 1: \x{23a}\x{23a}\x{23a}
1093:
1094: /(ȺȺȺ)?\1/8i
1095: ȺȺȺⱥⱥⱥ
1096: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1097: 1: \x{23a}\x{23a}\x{23a}
1098:
1099: /(\x{23a}\x{23a}\x{23a})\1/8i
1100: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1101: No match
1102:
1103: /(ȺȺȺ)\1/8i
1104: ȺȺȺⱥⱥ
1105: No match
1106:
1107: /(\x{23a}\x{23a}\x{23a})\1/8i
1108: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1109: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1110: 1: \x{23a}\x{23a}\x{23a}
1111:
1112: /(ȺȺȺ)\1/8i
1113: ȺȺȺⱥⱥⱥ
1114: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1115: 1: \x{23a}\x{23a}\x{23a}
1116:
1117: /(\x{2c65}\x{2c65})\1/8i
1118: \x{2c65}\x{2c65}\x{23a}\x{23a}
1119: 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
1120: 1: \x{2c65}\x{2c65}
1121:
1122: /(ⱥⱥ)\1/8i
1123: ⱥⱥȺȺ
1124: 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
1125: 1: \x{2c65}\x{2c65}
1126:
1127: /(\x{23a}\x{23a}\x{23a})\1Y/8i
1128: X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
1129: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}Y
1130: 1: \x{23a}\x{23a}\x{23a}
1131:
1132: /(\x{2c65}\x{2c65})\1Y/8i
1133: X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
1134: 0: \x{2c65}\x{2c65}\x{23a}\x{23a}Y
1135: 1: \x{2c65}\x{2c65}
1136:
1137: /-- --/
1138:
1139: /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
1140:
1141: /^[\p{Batak}]/8
1142: \x{1bc0}
1143: 0: \x{1bc0}
1144: \x{1bff}
1145: 0: \x{1bff}
1146: ** Failers
1147: No match
1148: \x{1bf4}
1149: No match
1150:
1151: /^[\p{Brahmi}]/8
1152: \x{11000}
1153: 0: \x{11000}
1154: \x{1106f}
1155: 0: \x{1106f}
1156: ** Failers
1157: No match
1158: \x{1104e}
1159: No match
1160:
1161: /^[\p{Mandaic}]/8
1162: \x{840}
1163: 0: \x{840}
1164: \x{85e}
1165: 0: \x{85e}
1166: ** Failers
1167: No match
1168: \x{85c}
1.1 misho 1169: No match
1.1.1.2 misho 1170: \x{85d}
1.1 misho 1171: No match
1172:
1.1.1.2 misho 1173: /-- --/
1.1 misho 1174:
1.1.1.2 misho 1175: /(\X*)(.)/s8
1176: A\x{300}
1177: 0: A
1178: 1:
1179: 2: A
1.1 misho 1180:
1.1.1.2 misho 1181: /^S(\X*)e(\X*)$/8
1182: Stéréo
1.1.1.4 ! misho 1183: 0: Ste\x{301}re\x{301}o
! 1184: 1: te\x{301}r
! 1185: 2: \x{301}o
1.1 misho 1186:
1.1.1.2 misho 1187: /^\X/8
1188: ́réo
1.1.1.4 ! misho 1189: 0: \x{301}
1.1 misho 1190:
1.1.1.2 misho 1191: /^a\X41z/<JS>
1192: aX41z
1193: 0: aX41z
1194: *** Failers
1.1 misho 1195: No match
1.1.1.2 misho 1196: aAz
1.1 misho 1197: No match
1198:
1.1.1.2 misho 1199: /(?<=ab\Cde)X/8
1200: Failed: \C not allowed in lookbehind assertion at offset 10
1.1 misho 1201:
1.1.1.3 misho 1202: /\X/
1203: a\P
1204: 0: a
1205: a\P\P
1206: Partial match: a
1207:
1208: /\Xa/
1209: aa\P
1210: 0: aa
1211: aa\P\P
1212: 0: aa
1213:
1214: /\X{2}/
1215: aa\P
1216: 0: aa
1217: aa\P\P
1218: Partial match: aa
1219:
1220: /\X+a/
1221: a\P
1222: Partial match: a
1223: aa\P
1224: 0: aa
1225: aa\P\P
1226: Partial match: aa
1227:
1228: /\X+?a/
1229: a\P
1230: Partial match: a
1231: ab\P
1232: Partial match: ab
1233: aa\P
1234: 0: aa
1235: aa\P\P
1236: 0: aa
1237: aba\P
1238: 0: aba
1239:
1240: /-- These Unicode 6.1.0 scripts are not known to Perl. --/
1241:
1242: /\p{Chakma}\d/8W
1243: \x{11100}\x{1113c}
1244: 0: \x{11100}\x{1113c}
1245:
1246: /\p{Takri}\d/8W
1247: \x{11680}\x{116c0}
1248: 0: \x{11680}\x{116c0}
1249:
1250: /^\X/8
1251: A\P
1252: 0: A
1253: A\P\P
1254: Partial match: A
1255: A\x{300}\x{301}\P
1256: 0: A\x{300}\x{301}
1257: A\x{300}\x{301}\P\P
1258: Partial match: A\x{300}\x{301}
1259: A\x{301}\P
1260: 0: A\x{301}
1261: A\x{301}\P\P
1262: Partial match: A\x{301}
1263:
1264: /^\X{2,3}/8
1265: A\P
1266: Partial match: A
1267: A\P\P
1268: Partial match: A
1269: AA\P
1270: 0: AA
1271: AA\P\P
1272: Partial match: AA
1273: A\x{300}\x{301}\P
1274: Partial match: A\x{300}\x{301}
1275: A\x{300}\x{301}\P\P
1276: Partial match: A\x{300}\x{301}
1277: A\x{300}\x{301}A\x{300}\x{301}\P
1278: 0: A\x{300}\x{301}A\x{300}\x{301}
1279: A\x{300}\x{301}A\x{300}\x{301}\P\P
1280: Partial match: A\x{300}\x{301}A\x{300}\x{301}
1281:
1282: /^\X{2}/8
1283: AA\P
1284: 0: AA
1285: AA\P\P
1286: Partial match: AA
1287: A\x{300}\x{301}A\x{300}\x{301}\P
1288: 0: A\x{300}\x{301}A\x{300}\x{301}
1289: A\x{300}\x{301}A\x{300}\x{301}\P\P
1290: Partial match: A\x{300}\x{301}A\x{300}\x{301}
1291:
1292: /^\X+/8
1293: AA\P
1294: 0: AA
1295: AA\P\P
1296: Partial match: AA
1297:
1298: /^\X+?Z/8
1299: AA\P
1300: Partial match: AA
1301: AA\P\P
1302: Partial match: AA
1303:
1.1.1.4 ! misho 1304: /A\x{3a3}B/8iDZ
! 1305: ------------------------------------------------------------------
! 1306: Bra
! 1307: /i A
! 1308: clist 03a3 03c2 03c3
! 1309: /i B
! 1310: Ket
! 1311: End
! 1312: ------------------------------------------------------------------
! 1313: Capturing subpattern count = 0
! 1314: Options: caseless utf
! 1315: First char = 'A' (caseless)
! 1316: Need char = 'B' (caseless)
! 1317:
! 1318: /\x{3a3}B/8iDZ
! 1319: ------------------------------------------------------------------
! 1320: Bra
! 1321: clist 03a3 03c2 03c3
! 1322: /i B
! 1323: Ket
! 1324: End
! 1325: ------------------------------------------------------------------
! 1326: Capturing subpattern count = 0
! 1327: Options: caseless utf
! 1328: No first char
! 1329: Need char = 'B' (caseless)
! 1330:
! 1331: /[\x{3a3}]/8iBZ
! 1332: ------------------------------------------------------------------
! 1333: Bra
! 1334: clist 03a3 03c2 03c3
! 1335: Ket
! 1336: End
! 1337: ------------------------------------------------------------------
! 1338:
! 1339: /[^\x{3a3}]/8iBZ
! 1340: ------------------------------------------------------------------
! 1341: Bra
! 1342: not clist 03a3 03c2 03c3
! 1343: Ket
! 1344: End
! 1345: ------------------------------------------------------------------
! 1346:
! 1347: /[\x{3a3}]+/8iBZ
! 1348: ------------------------------------------------------------------
! 1349: Bra
! 1350: clist 03a3 03c2 03c3 +
! 1351: Ket
! 1352: End
! 1353: ------------------------------------------------------------------
! 1354:
! 1355: /[^\x{3a3}]+/8iBZ
! 1356: ------------------------------------------------------------------
! 1357: Bra
! 1358: not clist 03a3 03c2 03c3 +
! 1359: Ket
! 1360: End
! 1361: ------------------------------------------------------------------
! 1362:
! 1363: /a*\x{3a3}/8iBZ
! 1364: ------------------------------------------------------------------
! 1365: Bra
! 1366: /i a*+
! 1367: clist 03a3 03c2 03c3
! 1368: Ket
! 1369: End
! 1370: ------------------------------------------------------------------
! 1371:
! 1372: /\x{3a3}+a/8iBZ
! 1373: ------------------------------------------------------------------
! 1374: Bra
! 1375: clist 03a3 03c2 03c3 ++
! 1376: /i a
! 1377: Ket
! 1378: End
! 1379: ------------------------------------------------------------------
! 1380:
! 1381: /\x{3a3}*\x{3c2}/8iBZ
! 1382: ------------------------------------------------------------------
! 1383: Bra
! 1384: clist 03a3 03c2 03c3 *
! 1385: clist 03a3 03c2 03c3
! 1386: Ket
! 1387: End
! 1388: ------------------------------------------------------------------
! 1389:
! 1390: /\x{3a3}{3}/8i+
! 1391: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
! 1392: 0: \x{3a3}\x{3c3}\x{3c2}
! 1393: 0+ \x{3a3}\x{3c3}\x{3c2}
! 1394:
! 1395: /\x{3a3}{2,4}/8i+
! 1396: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
! 1397: 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}
! 1398: 0+ \x{3c3}\x{3c2}
! 1399:
! 1400: /\x{3a3}{2,4}?/8i+
! 1401: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
! 1402: 0: \x{3a3}\x{3c3}
! 1403: 0+ \x{3c2}\x{3a3}\x{3c3}\x{3c2}
! 1404:
! 1405: /\x{3a3}+./8i+
! 1406: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
! 1407: 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
! 1408: 0+
! 1409:
! 1410: /\x{3a3}++./8i+
! 1411: ** Failers
! 1412: No match
! 1413: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
! 1414: No match
! 1415:
! 1416: /\x{3a3}*\x{3c2}/8iBZ
! 1417: ------------------------------------------------------------------
! 1418: Bra
! 1419: clist 03a3 03c2 03c3 *
! 1420: clist 03a3 03c2 03c3
! 1421: Ket
! 1422: End
! 1423: ------------------------------------------------------------------
! 1424:
! 1425: /[^\x{3a3}]*\x{3c2}/8iBZ
! 1426: ------------------------------------------------------------------
! 1427: Bra
! 1428: not clist 03a3 03c2 03c3 *+
! 1429: clist 03a3 03c2 03c3
! 1430: Ket
! 1431: End
! 1432: ------------------------------------------------------------------
! 1433:
! 1434: /[^a]*\x{3c2}/8iBZ
! 1435: ------------------------------------------------------------------
! 1436: Bra
! 1437: /i [^a]*
! 1438: clist 03a3 03c2 03c3
! 1439: Ket
! 1440: End
! 1441: ------------------------------------------------------------------
! 1442:
! 1443: /ist/8iBZ
! 1444: ------------------------------------------------------------------
! 1445: Bra
! 1446: /i i
! 1447: clist 0053 0073 017f
! 1448: /i t
! 1449: Ket
! 1450: End
! 1451: ------------------------------------------------------------------
! 1452: ikt
! 1453: No match
! 1454:
! 1455: /is+t/8i
! 1456: iSs\x{17f}t
! 1457: 0: iSs\x{17f}t
! 1458: ikt
! 1459: No match
! 1460:
! 1461: /is+?t/8i
! 1462: ikt
! 1463: No match
! 1464:
! 1465: /is?t/8i
! 1466: ikt
! 1467: No match
! 1468:
! 1469: /is{2}t/8i
! 1470: iskt
! 1471: No match
! 1472:
! 1473: /-- This property is a PCRE special --/
! 1474:
! 1475: /^\p{Xuc}/8
! 1476: $abc
! 1477: 0: $
! 1478: @abc
! 1479: 0: @
! 1480: `abc
! 1481: 0: `
! 1482: \x{1234}abc
! 1483: 0: \x{1234}
! 1484: ** Failers
! 1485: No match
! 1486: abc
! 1487: No match
! 1488:
! 1489: /^\p{Xuc}+/8
! 1490: $@`\x{a0}\x{1234}\x{e000}**
! 1491: 0: $@`\x{a0}\x{1234}\x{e000}
! 1492: ** Failers
! 1493: No match
! 1494: \x{9f}
! 1495: No match
! 1496:
! 1497: /^\p{Xuc}+?/8
! 1498: $@`\x{a0}\x{1234}\x{e000}**
! 1499: 0: $
! 1500: ** Failers
! 1501: No match
! 1502: \x{9f}
! 1503: No match
! 1504:
! 1505: /^\p{Xuc}+?\*/8
! 1506: $@`\x{a0}\x{1234}\x{e000}**
! 1507: 0: $@`\x{a0}\x{1234}\x{e000}*
! 1508: ** Failers
! 1509: No match
! 1510: \x{9f}
! 1511: No match
! 1512:
! 1513: /^\p{Xuc}++/8
! 1514: $@`\x{a0}\x{1234}\x{e000}**
! 1515: 0: $@`\x{a0}\x{1234}\x{e000}
! 1516: ** Failers
! 1517: No match
! 1518: \x{9f}
! 1519: No match
! 1520:
! 1521: /^\p{Xuc}{3,5}/8
! 1522: $@`\x{a0}\x{1234}\x{e000}**
! 1523: 0: $@`\x{a0}\x{1234}
! 1524: ** Failers
! 1525: No match
! 1526: \x{9f}
! 1527: No match
! 1528:
! 1529: /^\p{Xuc}{3,5}?/8
! 1530: $@`\x{a0}\x{1234}\x{e000}**
! 1531: 0: $@`
! 1532: ** Failers
! 1533: No match
! 1534: \x{9f}
! 1535: No match
! 1536:
! 1537: /^[\p{Xuc}]/8
! 1538: $@`\x{a0}\x{1234}\x{e000}**
! 1539: 0: $
! 1540: ** Failers
! 1541: No match
! 1542: \x{9f}
! 1543: No match
! 1544:
! 1545: /^[\p{Xuc}]+/8
! 1546: $@`\x{a0}\x{1234}\x{e000}**
! 1547: 0: $@`\x{a0}\x{1234}\x{e000}
! 1548: ** Failers
! 1549: No match
! 1550: \x{9f}
! 1551: No match
! 1552:
! 1553: /^\P{Xuc}/8
! 1554: abc
! 1555: 0: a
! 1556: ** Failers
! 1557: 0: *
! 1558: $abc
! 1559: No match
! 1560: @abc
! 1561: No match
! 1562: `abc
! 1563: No match
! 1564: \x{1234}abc
! 1565: No match
! 1566:
! 1567: /^[\P{Xuc}]/8
! 1568: abc
! 1569: 0: a
! 1570: ** Failers
! 1571: 0: *
! 1572: $abc
! 1573: No match
! 1574: @abc
! 1575: No match
! 1576: `abc
! 1577: No match
! 1578: \x{1234}abc
! 1579: No match
! 1580:
1.1 misho 1581: /-- End of testinput7 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>