1: /-- These tests for Unicode property support test PCRE's API and show some of
2: the compiled code. They are not Perl-compatible. --/
3:
4: /[\p{L}]/DZ
5:
6: /[\p{^L}]/DZ
7:
8: /[\P{L}]/DZ
9:
10: /[\P{^L}]/DZ
11:
12: /[abc\p{L}\x{0660}]/8DZ
13:
14: /[\p{Nd}]/8DZ
15: 1234
16:
17: /[\p{Nd}+-]+/8DZ
18: 1234
19: 12-34
20: 12+\x{661}-34
21: ** Failers
22: abcd
23:
24: /[\x{105}-\x{109}]/8iDZ
25: \x{104}
26: \x{105}
27: \x{109}
28: ** Failers
29: \x{100}
30: \x{10a}
31:
32: /[z-\x{100}]/8iDZ
33: Z
34: z
35: \x{39c}
36: \x{178}
37: |
38: \x{80}
39: \x{ff}
40: \x{100}
41: \x{101}
42: ** Failers
43: \x{102}
44: Y
45: y
46:
47: /[z-\x{100}]/8DZi
48:
49: /(?:[\PPa*]*){8,}/
50:
51: /[\P{Any}]/BZ
52:
53: /[\P{Any}\E]/BZ
54:
55: /(\P{Yi}+\277)/
56:
57: /(\P{Yi}+\277)?/
58:
59: /(?<=\P{Yi}{3}A)X/
60:
61: /\p{Yi}+(\P{Yi}+)(?1)/
62:
63: /(\P{Yi}{2}\277)?/
64:
65: /[\P{Yi}A]/
66:
67: /[\P{Yi}\P{Yi}\P{Yi}A]/
68:
69: /[^\P{Yi}A]/
70:
71: /[^\P{Yi}\P{Yi}\P{Yi}A]/
72:
73: /(\P{Yi}*\277)*/
74:
75: /(\P{Yi}*?\277)*/
76:
77: /(\p{Yi}*+\277)*/
78:
79: /(\P{Yi}?\277)*/
80:
81: /(\P{Yi}??\277)*/
82:
83: /(\p{Yi}?+\277)*/
84:
85: /(\P{Yi}{0,3}\277)*/
86:
87: /(\P{Yi}{0,3}?\277)*/
88:
89: /(\p{Yi}{0,3}+\277)*/
90:
91: /\p{Zl}{2,3}+/8BZ
92:
93: \x{2028}\x{2028}\x{2028}
94:
95: /\p{Zl}/8BZ
96:
97: /\p{Lu}{3}+/8BZ
98:
99: /\pL{2}+/8BZ
100:
101: /\p{Cc}{2}+/8BZ
102:
103: /^\p{Cf}/8
104: \x{180e}
105: \x{061c}
106: \x{2066}
107: \x{2067}
108: \x{2068}
109: \x{2069}
110:
111: /^\p{Cs}/8
112: \?\x{dfff}
113: ** Failers
114: \x{09f}
115:
116: /^\p{Mn}/8
117: \x{1a1b}
118:
119: /^\p{Pe}/8
120: \x{2309}
121: \x{230b}
122:
123: /^\p{Ps}/8
124: \x{2308}
125: \x{230a}
126:
127: /^\p{Sc}+/8
128: $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
129: \x{9f2}
130: ** Failers
131: X
132: \x{2c2}
133:
134: /^\p{Zs}/8
135: \ \
136: \x{a0}
137: \x{1680}
138: \x{2000}
139: \x{2001}
140: ** Failers
141: \x{2028}
142: \x{200d}
143:
144: /-- These are here rather than in test 6 because Perl has problems with
145: the negative versions of the properties and behaves has changed how
146: it behaves for caseless matching. --/
147:
148: /\p{^Lu}/8i
149: 1234
150: ** Failers
151: ABC
152:
153: /\P{Lu}/8i
154: 1234
155: ** Failers
156: ABC
157:
158: /\p{Ll}/8i
159: a
160: Az
161: ** Failers
162: ABC
163:
164: /\p{Lu}/8i
165: A
166: a\x{10a0}B
167: ** Failers
168: a
169: \x{1d00}
170:
171: /\p{Lu}/8i
172: A
173: aZ
174: ** Failers
175: abc
176:
177: /[\x{c0}\x{391}]/8i
178: \x{c0}
179: \x{e0}
180:
181: /-- The next two are special cases where the lengths of the different cases of
182: the same character differ. The first went wrong with heap frame storage; the
183: second was broken in all cases. --/
184:
185: /^\x{023a}+?(\x{0130}+)/8i
186: \x{023a}\x{2c65}\x{0130}
187:
188: /^\x{023a}+([^X])/8i
189: \x{023a}\x{2c65}X
190:
191: /\x{c0}+\x{116}+/8i
192: \x{c0}\x{e0}\x{116}\x{117}
193:
194: /[\x{c0}\x{116}]+/8i
195: \x{c0}\x{e0}\x{116}\x{117}
196:
197: /(\x{de})\1/8i
198: \x{de}\x{de}
199: \x{de}\x{fe}
200: \x{fe}\x{fe}
201: \x{fe}\x{de}
202:
203: /^\x{c0}$/8i
204: \x{c0}
205: \x{e0}
206:
207: /^\x{e0}$/8i
208: \x{c0}
209: \x{e0}
210:
211: /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
212: will match it only with UCP support, because without that it has no notion
213: of case for anything other than the ASCII letters. --/
214:
215: /((?i)[\x{c0}])/8
216: \x{c0}
217: \x{e0}
218:
219: /(?i:[\x{c0}])/8
220: \x{c0}
221: \x{e0}
222:
223: /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
224:
225: /^\p{Xan}/8
226: ABCD
227: 1234
228: \x{6ca}
229: \x{a6c}
230: \x{10a7}
231: ** Failers
232: _ABC
233:
234: /^\p{Xan}+/8
235: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
236: ** Failers
237: _ABC
238:
239: /^\p{Xan}+?/8
240: \x{6ca}\x{a6c}\x{10a7}_
241:
242: /^\p{Xan}*/8
243: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
244:
245: /^\p{Xan}{2,9}/8
246: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
247:
248: /^\p{Xan}{2,9}?/8
249: \x{6ca}\x{a6c}\x{10a7}_
250:
251: /^[\p{Xan}]/8
252: ABCD1234_
253: 1234abcd_
254: \x{6ca}
255: \x{a6c}
256: \x{10a7}
257: ** Failers
258: _ABC
259:
260: /^[\p{Xan}]+/8
261: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
262: ** Failers
263: _ABC
264:
265: /^>\p{Xsp}/8
266: >\x{1680}\x{2028}\x{0b}
267: >\x{a0}
268: ** Failers
269: \x{0b}
270:
271: /^>\p{Xsp}+/8
272: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
273:
274: /^>\p{Xsp}+?/8
275: >\x{1680}\x{2028}\x{0b}
276:
277: /^>\p{Xsp}*/8
278: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
279:
280: /^>\p{Xsp}{2,9}/8
281: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
282:
283: /^>\p{Xsp}{2,9}?/8
284: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
285:
286: /^>[\p{Xsp}]/8
287: >\x{2028}\x{0b}
288:
289: /^>[\p{Xsp}]+/8
290: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
291:
292: /^>\p{Xps}/8
293: >\x{1680}\x{2028}\x{0b}
294: >\x{a0}
295: ** Failers
296: \x{0b}
297:
298: /^>\p{Xps}+/8
299: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
300:
301: /^>\p{Xps}+?/8
302: >\x{1680}\x{2028}\x{0b}
303:
304: /^>\p{Xps}*/8
305: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
306:
307: /^>\p{Xps}{2,9}/8
308: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
309:
310: /^>\p{Xps}{2,9}?/8
311: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
312:
313: /^>[\p{Xps}]/8
314: >\x{2028}\x{0b}
315:
316: /^>[\p{Xps}]+/8
317: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
318:
319: /^\p{Xwd}/8
320: ABCD
321: 1234
322: \x{6ca}
323: \x{a6c}
324: \x{10a7}
325: _ABC
326: ** Failers
327: []
328:
329: /^\p{Xwd}+/8
330: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
331:
332: /^\p{Xwd}+?/8
333: \x{6ca}\x{a6c}\x{10a7}_
334:
335: /^\p{Xwd}*/8
336: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
337:
338: /^\p{Xwd}{2,9}/8
339: A_B12\x{6ca}\x{a6c}\x{10a7}
340:
341: /^\p{Xwd}{2,9}?/8
342: \x{6ca}\x{a6c}\x{10a7}_
343:
344: /^[\p{Xwd}]/8
345: ABCD1234_
346: 1234abcd_
347: \x{6ca}
348: \x{a6c}
349: \x{10a7}
350: _ABC
351: ** Failers
352: []
353:
354: /^[\p{Xwd}]+/8
355: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
356:
357: /-- A check not in UTF-8 mode --/
358:
359: /^[\p{Xwd}]+/
360: ABCD1234_
361:
362: /-- Some negative checks --/
363:
364: /^[\P{Xwd}]+/8
365: !.+\x{019}\x{35a}AB
366:
367: /^[\p{^Xwd}]+/8
368: !.+\x{019}\x{35a}AB
369:
370: /[\D]/WBZ8
371: 1\x{3c8}2
372:
373: /[\d]/WBZ8
374: >\x{6f4}<
375:
376: /[\S]/WBZ8
377: \x{1680}\x{6f4}\x{1680}
378:
379: /[\s]/WBZ8
380: >\x{1680}<
381:
382: /[\W]/WBZ8
383: A\x{1712}B
384:
385: /[\w]/WBZ8
386: >\x{1723}<
387:
388: /\D/WBZ8
389: 1\x{3c8}2
390:
391: /\d/WBZ8
392: >\x{6f4}<
393:
394: /\S/WBZ8
395: \x{1680}\x{6f4}\x{1680}
396:
397: /\s/WBZ8
398: >\x{1680}>
399:
400: /\W/WBZ8
401: A\x{1712}B
402:
403: /\w/WBZ8
404: >\x{1723}<
405:
406: /[[:alpha:]]/WBZ
407:
408: /[[:lower:]]/WBZ
409:
410: /[[:upper:]]/WBZ
411:
412: /[[:alnum:]]/WBZ
413:
414: /[[:ascii:]]/WBZ
415:
416: /[[:cntrl:]]/WBZ
417:
418: /[[:digit:]]/WBZ
419:
420: /[[:graph:]]/WBZ
421:
422: /[[:print:]]/WBZ
423:
424: /[[:punct:]]/WBZ
425:
426: /[[:space:]]/WBZ
427:
428: /[[:word:]]/WBZ
429:
430: /[[:xdigit:]]/WBZ
431:
432: /-- Unicode properties for \b abd \B --/
433:
434: /\b...\B/8W
435: abc_
436: \x{37e}abc\x{376}
437: \x{37e}\x{376}\x{371}\x{393}\x{394}
438: !\x{c0}++\x{c1}\x{c2}
439: !\x{c0}+++++
440:
441: /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
442:
443: /\b...\B/8
444: abc_
445: ** Failers
446: \x{37e}abc\x{376}
447: \x{37e}\x{376}\x{371}\x{393}\x{394}
448: !\x{c0}++\x{c1}\x{c2}
449: !\x{c0}+++++
450:
451: /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
452:
453: /\b...\B/W
454: abc_
455: !\x{c0}++\x{c1}\x{c2}
456: !\x{c0}+++++
457:
458: /-- Some of these are silly, but they check various combinations --/
459:
460: /[[:^alpha:][:^cntrl:]]+/8WBZ
461: 123
462: abc
463:
464: /[[:^cntrl:][:^alpha:]]+/8WBZ
465: 123
466: abc
467:
468: /[[:alpha:]]+/8WBZ
469: abc
470:
471: /[[:^alpha:]\S]+/8WBZ
472: 123
473: abc
474:
475: /[^\d]+/8WBZ
476: abc123
477: abc\x{123}
478: \x{660}abc
479:
480: /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
481:
482: /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
483:
484: /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
485:
486: /\p{Han}+X\p{Greek}+\x{370}/BZ8
487:
488: /\p{Xan}+!\p{Xan}+A/BZ
489:
490: /\p{Xsp}+!\p{Xsp}\t/BZ
491:
492: /\p{Xps}+!\p{Xps}\t/BZ
493:
494: /\p{Xwd}+!\p{Xwd}_/BZ
495:
496: /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
497:
498: /-- These behaved oddly in Perl, so they are kept in this test --/
499:
500: /(\x{23a}\x{23a}\x{23a})?\1/8i
501: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
502:
503: /(ȺȺȺ)?\1/8i
504: ȺȺȺⱥⱥ
505:
506: /(\x{23a}\x{23a}\x{23a})?\1/8i
507: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
508:
509: /(ȺȺȺ)?\1/8i
510: ȺȺȺⱥⱥⱥ
511:
512: /(\x{23a}\x{23a}\x{23a})\1/8i
513: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
514:
515: /(ȺȺȺ)\1/8i
516: ȺȺȺⱥⱥ
517:
518: /(\x{23a}\x{23a}\x{23a})\1/8i
519: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
520:
521: /(ȺȺȺ)\1/8i
522: ȺȺȺⱥⱥⱥ
523:
524: /(\x{2c65}\x{2c65})\1/8i
525: \x{2c65}\x{2c65}\x{23a}\x{23a}
526:
527: /(ⱥⱥ)\1/8i
528: ⱥⱥȺȺ
529:
530: /(\x{23a}\x{23a}\x{23a})\1Y/8i
531: X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
532:
533: /(\x{2c65}\x{2c65})\1Y/8i
534: X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
535:
536: /-- --/
537:
538: /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
539:
540: /^[\p{Batak}]/8
541: \x{1bc0}
542: \x{1bff}
543: ** Failers
544: \x{1bf4}
545:
546: /^[\p{Brahmi}]/8
547: \x{11000}
548: \x{1106f}
549: ** Failers
550: \x{1104e}
551:
552: /^[\p{Mandaic}]/8
553: \x{840}
554: \x{85e}
555: ** Failers
556: \x{85c}
557: \x{85d}
558:
559: /-- --/
560:
561: /(\X*)(.)/s8
562: A\x{300}
563:
564: /^S(\X*)e(\X*)$/8
565: Stéréo
566:
567: /^\X/8
568: ́réo
569:
570: /^a\X41z/<JS>
571: aX41z
572: *** Failers
573: aAz
574:
575: /(?<=ab\Cde)X/8
576:
577: /\X/
578: a\P
579: a\P\P
580:
581: /\Xa/
582: aa\P
583: aa\P\P
584:
585: /\X{2}/
586: aa\P
587: aa\P\P
588:
589: /\X+a/
590: a\P
591: aa\P
592: aa\P\P
593:
594: /\X+?a/
595: a\P
596: ab\P
597: aa\P
598: aa\P\P
599: aba\P
600:
601: /-- These Unicode 6.1.0 scripts are not known to Perl. --/
602:
603: /\p{Chakma}\d/8W
604: \x{11100}\x{1113c}
605:
606: /\p{Takri}\d/8W
607: \x{11680}\x{116c0}
608:
609: /^\X/8
610: A\P
611: A\P\P
612: A\x{300}\x{301}\P
613: A\x{300}\x{301}\P\P
614: A\x{301}\P
615: A\x{301}\P\P
616:
617: /^\X{2,3}/8
618: A\P
619: A\P\P
620: AA\P
621: AA\P\P
622: A\x{300}\x{301}\P
623: A\x{300}\x{301}\P\P
624: A\x{300}\x{301}A\x{300}\x{301}\P
625: A\x{300}\x{301}A\x{300}\x{301}\P\P
626:
627: /^\X{2}/8
628: AA\P
629: AA\P\P
630: A\x{300}\x{301}A\x{300}\x{301}\P
631: A\x{300}\x{301}A\x{300}\x{301}\P\P
632:
633: /^\X+/8
634: AA\P
635: AA\P\P
636:
637: /^\X+?Z/8
638: AA\P
639: AA\P\P
640:
641: /A\x{3a3}B/8iDZ
642:
643: /\x{3a3}B/8iDZ
644:
645: /[\x{3a3}]/8iBZ
646:
647: /[^\x{3a3}]/8iBZ
648:
649: /[\x{3a3}]+/8iBZ
650:
651: /[^\x{3a3}]+/8iBZ
652:
653: /a*\x{3a3}/8iBZ
654:
655: /\x{3a3}+a/8iBZ
656:
657: /\x{3a3}*\x{3c2}/8iBZ
658:
659: /\x{3a3}{3}/8i+
660: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
661:
662: /\x{3a3}{2,4}/8i+
663: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
664:
665: /\x{3a3}{2,4}?/8i+
666: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
667:
668: /\x{3a3}+./8i+
669: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
670:
671: /\x{3a3}++./8i+
672: ** Failers
673: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
674:
675: /\x{3a3}*\x{3c2}/8iBZ
676:
677: /[^\x{3a3}]*\x{3c2}/8iBZ
678:
679: /[^a]*\x{3c2}/8iBZ
680:
681: /ist/8iBZ
682: ikt
683:
684: /is+t/8i
685: iSs\x{17f}t
686: ikt
687:
688: /is+?t/8i
689: ikt
690:
691: /is?t/8i
692: ikt
693:
694: /is{2}t/8i
695: iskt
696:
697: /-- This property is a PCRE special --/
698:
699: /^\p{Xuc}/8
700: $abc
701: @abc
702: `abc
703: \x{1234}abc
704: ** Failers
705: abc
706:
707: /^\p{Xuc}+/8
708: $@`\x{a0}\x{1234}\x{e000}**
709: ** Failers
710: \x{9f}
711:
712: /^\p{Xuc}+?/8
713: $@`\x{a0}\x{1234}\x{e000}**
714: ** Failers
715: \x{9f}
716:
717: /^\p{Xuc}+?\*/8
718: $@`\x{a0}\x{1234}\x{e000}**
719: ** Failers
720: \x{9f}
721:
722: /^\p{Xuc}++/8
723: $@`\x{a0}\x{1234}\x{e000}**
724: ** Failers
725: \x{9f}
726:
727: /^\p{Xuc}{3,5}/8
728: $@`\x{a0}\x{1234}\x{e000}**
729: ** Failers
730: \x{9f}
731:
732: /^\p{Xuc}{3,5}?/8
733: $@`\x{a0}\x{1234}\x{e000}**
734: ** Failers
735: \x{9f}
736:
737: /^[\p{Xuc}]/8
738: $@`\x{a0}\x{1234}\x{e000}**
739: ** Failers
740: \x{9f}
741:
742: /^[\p{Xuc}]+/8
743: $@`\x{a0}\x{1234}\x{e000}**
744: ** Failers
745: \x{9f}
746:
747: /^\P{Xuc}/8
748: abc
749: ** Failers
750: $abc
751: @abc
752: `abc
753: \x{1234}abc
754:
755: /^[\P{Xuc}]/8
756: abc
757: ** Failers
758: $abc
759: @abc
760: `abc
761: \x{1234}abc
762:
763: /-- Some auto-possessification tests --/
764:
765: /\pN+\z/BZ
766:
767: /\PN+\z/BZ
768:
769: /\pN+/BZ
770:
771: /\PN+/BZ
772:
773: /\p{Any}+\p{Any} \p{Any}+\P{Any} \p{Any}+\p{L&} \p{Any}+\p{L} \p{Any}+\p{Lu} \p{Any}+\p{Han} \p{Any}+\p{Xan} \p{Any}+\p{Xsp} \p{Any}+\p{Xps} \p{Xwd}+\p{Any} \p{Any}+\p{Xuc}/BWZx
774:
775: /\p{L&}+\p{Any} \p{L&}+\p{L&} \P{L&}+\p{L&} \p{L&}+\p{L} \p{L&}+\p{Lu} \p{L&}+\p{Han} \p{L&}+\p{Xan} \p{L&}+\P{Xan} \p{L&}+\p{Xsp} \p{L&}+\p{Xps} \p{Xwd}+\p{L&} \p{L&}+\p{Xuc}/BWZx
776:
777: /\p{N}+\p{Any} \p{N}+\p{L&} \p{N}+\p{L} \p{N}+\P{L} \p{N}+\P{N} \p{N}+\p{Lu} \p{N}+\p{Han} \p{N}+\p{Xan} \p{N}+\p{Xsp} \p{N}+\p{Xps} \p{Xwd}+\p{N} \p{N}+\p{Xuc}/BWZx
778:
779: /\p{Lu}+\p{Any} \p{Lu}+\p{L&} \p{Lu}+\p{L} \p{Lu}+\p{Lu} \P{Lu}+\p{Lu} \p{Lu}+\p{Nd} \p{Lu}+\P{Nd} \p{Lu}+\p{Han} \p{Lu}+\p{Xan} \p{Lu}+\p{Xsp} \p{Lu}+\p{Xps} \p{Xwd}+\p{Lu} \p{Lu}+\p{Xuc}/BWZx
780:
781: /\p{Han}+\p{Lu} \p{Han}+\p{L&} \p{Han}+\p{L} \p{Han}+\p{Lu} \p{Han}+\p{Arabic} \p{Arabic}+\p{Arabic} \p{Han}+\p{Xan} \p{Han}+\p{Xsp} \p{Han}+\p{Xps} \p{Xwd}+\p{Han} \p{Han}+\p{Xuc}/BWZx
782:
783: /\p{Xan}+\p{Any} \p{Xan}+\p{L&} \P{Xan}+\p{L&} \p{Xan}+\p{L} \p{Xan}+\p{Lu} \p{Xan}+\p{Han} \p{Xan}+\p{Xan} \p{Xan}+\P{Xan} \p{Xan}+\p{Xsp} \p{Xan}+\p{Xps} \p{Xwd}+\p{Xan} \p{Xan}+\p{Xuc}/BWZx
784:
785: /\p{Xsp}+\p{Any} \p{Xsp}+\p{L&} \p{Xsp}+\p{L} \p{Xsp}+\p{Lu} \p{Xsp}+\p{Han} \p{Xsp}+\p{Xan} \p{Xsp}+\p{Xsp} \P{Xsp}+\p{Xsp} \p{Xsp}+\p{Xps} \p{Xwd}+\p{Xsp} \p{Xsp}+\p{Xuc}/BWZx
786:
787: /\p{Xwd}+\p{Any} \p{Xwd}+\p{L&} \p{Xwd}+\p{L} \p{Xwd}+\p{Lu} \p{Xwd}+\p{Han} \p{Xwd}+\p{Xan} \p{Xwd}+\p{Xsp} \p{Xwd}+\p{Xps} \p{Xwd}+\p{Xwd} \p{Xwd}+\P{Xwd} \p{Xwd}+\p{Xuc}/BWZx
788:
789: /\p{Xuc}+\p{Any} \p{Xuc}+\p{L&} \p{Xuc}+\p{L} \p{Xuc}+\p{Lu} \p{Xuc}+\p{Han} \p{Xuc}+\p{Xan} \p{Xuc}+\p{Xsp} \p{Xuc}+\p{Xps} \p{Xwd}+\p{Xuc} \p{Xuc}+\p{Xuc} \p{Xuc}+\P{Xuc}/BWZx
790:
791: /\p{N}+\p{Ll} \p{N}+\p{Nd} \p{N}+\P{Nd}/BWZx
792:
793: /\p{Xan}+\p{L} \p{Xan}+\p{N} \p{Xan}+\p{C} \p{Xan}+\P{L} \P{Xan}+\p{N} \p{Xan}+\P{C}/BWZx
794:
795: /\p{L}+\p{Xan} \p{N}+\p{Xan} \p{C}+\p{Xan} \P{L}+\p{Xan} \p{N}+\p{Xan} \P{C}+\p{Xan} \p{L}+\P{Xan}/BWZx
796:
797: /\p{Xan}+\p{Lu} \p{Xan}+\p{Nd} \p{Xan}+\p{Cc} \p{Xan}+\P{Ll} \P{Xan}+\p{No} \p{Xan}+\P{Cf}/BWZx
798:
799: /\p{Lu}+\p{Xan} \p{Nd}+\p{Xan} \p{Cs}+\p{Xan} \P{Lt}+\p{Xan} \p{Nl}+\p{Xan} \P{Cc}+\p{Xan} \p{Lt}+\P{Xan}/BWZx
800:
801: /\w+\p{P} \w+\p{Po} \w+\s \p{Xan}+\s \s+\p{Xan} \s+\w/BWZx
802:
803: /\w+\P{P} \W+\p{Po} \w+\S \P{Xan}+\s \s+\P{Xan} \s+\W/BWZx
804:
805: /\w+\p{Po} \w+\p{Pc} \W+\p{Po} \W+\p{Pc} \w+\P{Po} \w+\P{Pc}/BWZx
806:
807: /\p{Nl}+\p{Xan} \P{Nl}+\p{Xan} \p{Nl}+\P{Xan} \P{Nl}+\P{Xan}/BWZx
808:
809: /\p{Xan}+\p{Nl} \P{Xan}+\p{Nl} \p{Xan}+\P{Nl} \P{Xan}+\P{Nl}/BWZx
810:
811: /\p{Xan}+\p{Nd} \P{Xan}+\p{Nd} \p{Xan}+\P{Nd} \P{Xan}+\P{Nd}/BWZx
812:
813: /-- End auto-possessification tests --/
814:
815: /\w+/8CWBZ
816: abcd
817:
818: /[\p{N}]?+/BZO
819:
820: /[\p{L}ab]{2,3}+/BZO
821:
822: /\D+\X \d+\X \S+\X \s+\X \W+\X \w+\X \C+\X \R+\X \H+\X \h+\X \V+\X \v+\X a+\X \n+\X .+\X/BZx
823:
824: /.+\X/BZxs
825:
826: /\X+$/BZxm
827:
828: /\X+\D \X+\d \X+\S \X+\s \X+\W \X+\w \X+. \X+\C \X+\R \X+\H \X+\h \X+\V \X+\v \X+\X \X+\Z \X+\z \X+$/BZx
829:
830: /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/8WBZ
831:
832: /-- End of testinput7 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>