Annotation of embedaddon/pcre/testdata/testoutput7, revision 1.1.1.5
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
1.1.1.5 ! misho 81: [+\-\p{Nd}]++
1.1.1.2 misho 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:
1.1.1.5 ! misho 273: /^\p{Cf}/8
! 274: \x{180e}
! 275: 0: \x{180e}
! 276: \x{061c}
! 277: 0: \x{61c}
! 278: \x{2066}
! 279: 0: \x{2066}
! 280: \x{2067}
! 281: 0: \x{2067}
! 282: \x{2068}
! 283: 0: \x{2068}
! 284: \x{2069}
! 285: 0: \x{2069}
! 286:
1.1.1.2 misho 287: /^\p{Cs}/8
288: \?\x{dfff}
289: 0: \x{dfff}
290: ** Failers
1.1 misho 291: No match
1.1.1.2 misho 292: \x{09f}
1.1 misho 293: No match
1.1.1.2 misho 294:
1.1.1.5 ! misho 295: /^\p{Mn}/8
! 296: \x{1a1b}
! 297: 0: \x{1a1b}
! 298:
! 299: /^\p{Pe}/8
! 300: \x{2309}
! 301: 0: \x{2309}
! 302: \x{230b}
! 303: 0: \x{230b}
! 304:
! 305: /^\p{Ps}/8
! 306: \x{2308}
! 307: 0: \x{2308}
! 308: \x{230a}
! 309: 0: \x{230a}
! 310:
1.1.1.2 misho 311: /^\p{Sc}+/8
312: $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
313: 0: $\x{a2}\x{a3}\x{a4}\x{a5}
314: \x{9f2}
315: 0: \x{9f2}
1.1 misho 316: ** Failers
317: No match
1.1.1.2 misho 318: X
1.1 misho 319: No match
1.1.1.2 misho 320: \x{2c2}
1.1 misho 321: No match
1.1.1.2 misho 322:
323: /^\p{Zs}/8
324: \ \
325: 0:
326: \x{a0}
327: 0: \x{a0}
328: \x{1680}
329: 0: \x{1680}
330: \x{2000}
331: 0: \x{2000}
332: \x{2001}
333: 0: \x{2001}
1.1 misho 334: ** Failers
335: No match
1.1.1.2 misho 336: \x{2028}
1.1 misho 337: No match
1.1.1.2 misho 338: \x{200d}
1.1 misho 339: No match
1.1.1.2 misho 340:
1.1.1.5 ! misho 341: /-- These are here rather than in test 6 because Perl has problems with
! 342: the negative versions of the properties and behaves has changed how
! 343: it behaves for caseless matching. --/
1.1.1.2 misho 344:
345: /\p{^Lu}/8i
346: 1234
347: 0: 1
1.1 misho 348: ** Failers
1.1.1.2 misho 349: 0: *
350: ABC
1.1 misho 351: No match
352:
1.1.1.2 misho 353: /\P{Lu}/8i
354: 1234
355: 0: 1
1.1 misho 356: ** Failers
1.1.1.2 misho 357: 0: *
358: ABC
1.1 misho 359: No match
360:
1.1.1.2 misho 361: /\p{Ll}/8i
362: a
363: 0: a
364: Az
365: 0: z
1.1 misho 366: ** Failers
1.1.1.2 misho 367: 0: a
368: ABC
1.1 misho 369: No match
370:
1.1.1.2 misho 371: /\p{Lu}/8i
372: A
373: 0: A
374: a\x{10a0}B
375: 0: \x{10a0}
1.1 misho 376: ** Failers
1.1.1.2 misho 377: 0: F
378: a
1.1 misho 379: No match
1.1.1.2 misho 380: \x{1d00}
1.1 misho 381: No match
1.1.1.2 misho 382:
1.1.1.5 ! misho 383: /\p{Lu}/8i
! 384: A
! 385: 0: A
! 386: aZ
! 387: 0: Z
! 388: ** Failers
! 389: 0: F
! 390: abc
! 391: No match
! 392:
1.1.1.2 misho 393: /[\x{c0}\x{391}]/8i
394: \x{c0}
395: 0: \x{c0}
396: \x{e0}
397: 0: \x{e0}
398:
399: /-- The next two are special cases where the lengths of the different cases of
400: the same character differ. The first went wrong with heap frame storage; the
401: second was broken in all cases. --/
402:
403: /^\x{023a}+?(\x{0130}+)/8i
404: \x{023a}\x{2c65}\x{0130}
405: 0: \x{23a}\x{2c65}\x{130}
406: 1: \x{130}
407:
408: /^\x{023a}+([^X])/8i
409: \x{023a}\x{2c65}X
410: 0: \x{23a}\x{2c65}
411: 1: \x{2c65}
412:
413: /\x{c0}+\x{116}+/8i
414: \x{c0}\x{e0}\x{116}\x{117}
415: 0: \x{c0}\x{e0}\x{116}\x{117}
416:
417: /[\x{c0}\x{116}]+/8i
418: \x{c0}\x{e0}\x{116}\x{117}
419: 0: \x{c0}\x{e0}\x{116}\x{117}
420:
421: /(\x{de})\1/8i
422: \x{de}\x{de}
423: 0: \x{de}\x{de}
424: 1: \x{de}
425: \x{de}\x{fe}
426: 0: \x{de}\x{fe}
427: 1: \x{de}
428: \x{fe}\x{fe}
429: 0: \x{fe}\x{fe}
430: 1: \x{fe}
431: \x{fe}\x{de}
432: 0: \x{fe}\x{de}
433: 1: \x{fe}
434:
435: /^\x{c0}$/8i
436: \x{c0}
437: 0: \x{c0}
438: \x{e0}
439: 0: \x{e0}
440:
441: /^\x{e0}$/8i
442: \x{c0}
443: 0: \x{c0}
444: \x{e0}
445: 0: \x{e0}
446:
447: /-- The next two should be Perl-compatible, but it fails to match \x{e0}. PCRE
448: will match it only with UCP support, because without that it has no notion
449: of case for anything other than the ASCII letters. --/
450:
451: /((?i)[\x{c0}])/8
452: \x{c0}
453: 0: \x{c0}
454: 1: \x{c0}
455: \x{e0}
456: 0: \x{e0}
457: 1: \x{e0}
458:
459: /(?i:[\x{c0}])/8
460: \x{c0}
461: 0: \x{c0}
462: \x{e0}
463: 0: \x{e0}
464:
465: /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
1.1 misho 466:
1.1.1.2 misho 467: /^\p{Xan}/8
468: ABCD
469: 0: A
470: 1234
471: 0: 1
472: \x{6ca}
473: 0: \x{6ca}
474: \x{a6c}
475: 0: \x{a6c}
476: \x{10a7}
477: 0: \x{10a7}
1.1 misho 478: ** Failers
479: No match
1.1.1.2 misho 480: _ABC
1.1 misho 481: No match
482:
1.1.1.2 misho 483: /^\p{Xan}+/8
484: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
485: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
1.1 misho 486: ** Failers
487: No match
1.1.1.2 misho 488: _ABC
1.1 misho 489: No match
490:
1.1.1.2 misho 491: /^\p{Xan}+?/8
492: \x{6ca}\x{a6c}\x{10a7}_
493: 0: \x{6ca}
1.1 misho 494:
1.1.1.2 misho 495: /^\p{Xan}*/8
496: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
497: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
498:
499: /^\p{Xan}{2,9}/8
500: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
501: 0: ABCD1234\x{6ca}
502:
503: /^\p{Xan}{2,9}?/8
504: \x{6ca}\x{a6c}\x{10a7}_
505: 0: \x{6ca}\x{a6c}
506:
507: /^[\p{Xan}]/8
508: ABCD1234_
509: 0: A
510: 1234abcd_
511: 0: 1
512: \x{6ca}
513: 0: \x{6ca}
514: \x{a6c}
515: 0: \x{a6c}
516: \x{10a7}
517: 0: \x{10a7}
1.1 misho 518: ** Failers
519: No match
1.1.1.2 misho 520: _ABC
1.1 misho 521: No match
1.1.1.2 misho 522:
523: /^[\p{Xan}]+/8
524: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
525: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}
1.1 misho 526: ** Failers
527: No match
1.1.1.2 misho 528: _ABC
1.1 misho 529: No match
530:
1.1.1.2 misho 531: /^>\p{Xsp}/8
532: >\x{1680}\x{2028}\x{0b}
533: 0: >\x{1680}
534: >\x{a0}
535: 0: >\x{a0}
536: ** Failers
1.1 misho 537: No match
1.1.1.2 misho 538: \x{0b}
1.1 misho 539: No match
540:
1.1.1.2 misho 541: /^>\p{Xsp}+/8
542: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1.1.5 ! misho 543: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 544:
1.1.1.2 misho 545: /^>\p{Xsp}+?/8
546: >\x{1680}\x{2028}\x{0b}
547: 0: >\x{1680}
1.1 misho 548:
1.1.1.2 misho 549: /^>\p{Xsp}*/8
550: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1.1.5 ! misho 551: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 552:
1.1.1.2 misho 553: /^>\p{Xsp}{2,9}/8
554: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1.1.5 ! misho 555: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 556:
1.1.1.2 misho 557: /^>\p{Xsp}{2,9}?/8
558: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
559: 0: > \x{09}
560:
561: /^>[\p{Xsp}]/8
562: >\x{2028}\x{0b}
563: 0: >\x{2028}
564:
565: /^>[\p{Xsp}]+/8
566: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1.1.5 ! misho 567: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 568:
1.1.1.2 misho 569: /^>\p{Xps}/8
570: >\x{1680}\x{2028}\x{0b}
571: 0: >\x{1680}
572: >\x{a0}
573: 0: >\x{a0}
1.1 misho 574: ** Failers
575: No match
1.1.1.2 misho 576: \x{0b}
1.1 misho 577: No match
578:
1.1.1.2 misho 579: /^>\p{Xps}+/8
580: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
581: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
582:
583: /^>\p{Xps}+?/8
584: >\x{1680}\x{2028}\x{0b}
585: 0: >\x{1680}
1.1 misho 586:
1.1.1.2 misho 587: /^>\p{Xps}*/8
588: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
589: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
590:
591: /^>\p{Xps}{2,9}/8
592: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
593: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
594:
595: /^>\p{Xps}{2,9}?/8
596: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
597: 0: > \x{09}
598:
599: /^>[\p{Xps}]/8
600: >\x{2028}\x{0b}
601: 0: >\x{2028}
602:
603: /^>[\p{Xps}]+/8
604: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
605: 0: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 606:
1.1.1.2 misho 607: /^\p{Xwd}/8
1.1 misho 608: ABCD
1.1.1.2 misho 609: 0: A
610: 1234
611: 0: 1
612: \x{6ca}
613: 0: \x{6ca}
614: \x{a6c}
615: 0: \x{a6c}
616: \x{10a7}
617: 0: \x{10a7}
618: _ABC
619: 0: _
1.1 misho 620: ** Failers
621: No match
1.1.1.2 misho 622: []
1.1 misho 623: No match
624:
1.1.1.2 misho 625: /^\p{Xwd}+/8
626: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
627: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
628:
629: /^\p{Xwd}+?/8
630: \x{6ca}\x{a6c}\x{10a7}_
631: 0: \x{6ca}
632:
633: /^\p{Xwd}*/8
634: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
635: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
636:
637: /^\p{Xwd}{2,9}/8
638: A_B12\x{6ca}\x{a6c}\x{10a7}
639: 0: A_B12\x{6ca}\x{a6c}\x{10a7}
640:
641: /^\p{Xwd}{2,9}?/8
642: \x{6ca}\x{a6c}\x{10a7}_
643: 0: \x{6ca}\x{a6c}
644:
645: /^[\p{Xwd}]/8
646: ABCD1234_
647: 0: A
648: 1234abcd_
649: 0: 1
650: \x{6ca}
651: 0: \x{6ca}
652: \x{a6c}
653: 0: \x{a6c}
654: \x{10a7}
655: 0: \x{10a7}
656: _ABC
657: 0: _
1.1 misho 658: ** Failers
659: No match
1.1.1.2 misho 660: []
1.1 misho 661: No match
1.1.1.2 misho 662:
663: /^[\p{Xwd}]+/8
664: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
665: 0: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
666:
667: /-- A check not in UTF-8 mode --/
668:
669: /^[\p{Xwd}]+/
670: ABCD1234_
671: 0: ABCD1234_
672:
673: /-- Some negative checks --/
674:
675: /^[\P{Xwd}]+/8
676: !.+\x{019}\x{35a}AB
677: 0: !.+\x{19}\x{35a}
678:
679: /^[\p{^Xwd}]+/8
680: !.+\x{019}\x{35a}AB
681: 0: !.+\x{19}\x{35a}
682:
683: /[\D]/WBZ8
684: ------------------------------------------------------------------
685: Bra
686: [\P{Nd}]
687: Ket
688: End
689: ------------------------------------------------------------------
690: 1\x{3c8}2
691: 0: \x{3c8}
692:
693: /[\d]/WBZ8
694: ------------------------------------------------------------------
695: Bra
696: [\p{Nd}]
697: Ket
698: End
699: ------------------------------------------------------------------
700: >\x{6f4}<
701: 0: \x{6f4}
702:
703: /[\S]/WBZ8
704: ------------------------------------------------------------------
705: Bra
706: [\P{Xsp}]
707: Ket
708: End
709: ------------------------------------------------------------------
710: \x{1680}\x{6f4}\x{1680}
711: 0: \x{6f4}
712:
713: /[\s]/WBZ8
714: ------------------------------------------------------------------
715: Bra
716: [\p{Xsp}]
717: Ket
718: End
719: ------------------------------------------------------------------
720: >\x{1680}<
721: 0: \x{1680}
722:
723: /[\W]/WBZ8
724: ------------------------------------------------------------------
725: Bra
726: [\P{Xwd}]
727: Ket
728: End
729: ------------------------------------------------------------------
730: A\x{1712}B
731: 0: \x{1712}
732:
733: /[\w]/WBZ8
734: ------------------------------------------------------------------
735: Bra
736: [\p{Xwd}]
737: Ket
738: End
739: ------------------------------------------------------------------
740: >\x{1723}<
741: 0: \x{1723}
742:
743: /\D/WBZ8
744: ------------------------------------------------------------------
745: Bra
746: notprop Nd
747: Ket
748: End
749: ------------------------------------------------------------------
750: 1\x{3c8}2
751: 0: \x{3c8}
752:
753: /\d/WBZ8
754: ------------------------------------------------------------------
755: Bra
756: prop Nd
757: Ket
758: End
759: ------------------------------------------------------------------
760: >\x{6f4}<
761: 0: \x{6f4}
762:
763: /\S/WBZ8
764: ------------------------------------------------------------------
765: Bra
766: notprop Xsp
767: Ket
768: End
769: ------------------------------------------------------------------
770: \x{1680}\x{6f4}\x{1680}
771: 0: \x{6f4}
772:
773: /\s/WBZ8
774: ------------------------------------------------------------------
775: Bra
776: prop Xsp
777: Ket
778: End
779: ------------------------------------------------------------------
780: >\x{1680}>
781: 0: \x{1680}
782:
783: /\W/WBZ8
784: ------------------------------------------------------------------
785: Bra
786: notprop Xwd
787: Ket
788: End
789: ------------------------------------------------------------------
790: A\x{1712}B
791: 0: \x{1712}
792:
793: /\w/WBZ8
794: ------------------------------------------------------------------
795: Bra
796: prop Xwd
797: Ket
798: End
799: ------------------------------------------------------------------
800: >\x{1723}<
801: 0: \x{1723}
802:
803: /[[:alpha:]]/WBZ
804: ------------------------------------------------------------------
805: Bra
806: [\p{L}]
807: Ket
808: End
809: ------------------------------------------------------------------
810:
811: /[[:lower:]]/WBZ
812: ------------------------------------------------------------------
813: Bra
814: [\p{Ll}]
815: Ket
816: End
817: ------------------------------------------------------------------
818:
819: /[[:upper:]]/WBZ
820: ------------------------------------------------------------------
821: Bra
822: [\p{Lu}]
823: Ket
824: End
825: ------------------------------------------------------------------
826:
827: /[[:alnum:]]/WBZ
828: ------------------------------------------------------------------
829: Bra
830: [\p{Xan}]
831: Ket
832: End
833: ------------------------------------------------------------------
834:
835: /[[:ascii:]]/WBZ
836: ------------------------------------------------------------------
837: Bra
838: [\x00-\x7f]
839: Ket
840: End
841: ------------------------------------------------------------------
842:
843: /[[:cntrl:]]/WBZ
844: ------------------------------------------------------------------
845: Bra
846: [\x00-\x1f\x7f]
847: Ket
848: End
849: ------------------------------------------------------------------
850:
851: /[[:digit:]]/WBZ
852: ------------------------------------------------------------------
853: Bra
854: [\p{Nd}]
855: Ket
856: End
857: ------------------------------------------------------------------
858:
859: /[[:graph:]]/WBZ
860: ------------------------------------------------------------------
861: Bra
1.1.1.5 ! misho 862: [[:graph:]]
1.1.1.2 misho 863: Ket
864: End
865: ------------------------------------------------------------------
866:
867: /[[:print:]]/WBZ
868: ------------------------------------------------------------------
869: Bra
1.1.1.5 ! misho 870: [[:print:]]
1.1.1.2 misho 871: Ket
872: End
873: ------------------------------------------------------------------
874:
875: /[[:punct:]]/WBZ
876: ------------------------------------------------------------------
877: Bra
1.1.1.5 ! misho 878: [[:punct:]]
1.1.1.2 misho 879: Ket
880: End
881: ------------------------------------------------------------------
882:
883: /[[:space:]]/WBZ
884: ------------------------------------------------------------------
885: Bra
886: [\p{Xps}]
887: Ket
888: End
889: ------------------------------------------------------------------
890:
891: /[[:word:]]/WBZ
892: ------------------------------------------------------------------
893: Bra
894: [\p{Xwd}]
895: Ket
896: End
897: ------------------------------------------------------------------
898:
899: /[[:xdigit:]]/WBZ
900: ------------------------------------------------------------------
901: Bra
902: [0-9A-Fa-f]
903: Ket
904: End
905: ------------------------------------------------------------------
906:
907: /-- Unicode properties for \b abd \B --/
908:
909: /\b...\B/8W
910: abc_
911: 0: abc
912: \x{37e}abc\x{376}
913: 0: abc
914: \x{37e}\x{376}\x{371}\x{393}\x{394}
915: 0: \x{376}\x{371}\x{393}
916: !\x{c0}++\x{c1}\x{c2}
917: 0: ++\x{c1}
918: !\x{c0}+++++
919: 0: \x{c0}++
920:
921: /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
922:
923: /\b...\B/8
924: abc_
925: 0: abc
926: ** Failers
927: 0: Fai
928: \x{37e}abc\x{376}
1.1 misho 929: No match
1.1.1.2 misho 930: \x{37e}\x{376}\x{371}\x{393}\x{394}
1.1 misho 931: No match
1.1.1.2 misho 932: !\x{c0}++\x{c1}\x{c2}
1.1 misho 933: No match
1.1.1.2 misho 934: !\x{c0}+++++
1.1 misho 935: No match
936:
1.1.1.2 misho 937: /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
1.1 misho 938:
1.1.1.2 misho 939: /\b...\B/W
940: abc_
1.1 misho 941: 0: abc
1.1.1.2 misho 942: !\x{c0}++\x{c1}\x{c2}
943: 0: ++\xc1
944: !\x{c0}+++++
945: 0: \xc0++
1.1 misho 946:
1.1.1.2 misho 947: /-- Some of these are silly, but they check various combinations --/
1.1 misho 948:
1.1.1.2 misho 949: /[[:^alpha:][:^cntrl:]]+/8WBZ
950: ------------------------------------------------------------------
951: Bra
1.1.1.5 ! misho 952: [ -~\x80-\xff\P{L}]++
1.1.1.2 misho 953: Ket
954: End
955: ------------------------------------------------------------------
956: 123
957: 0: 123
958: abc
1.1 misho 959: 0: abc
960:
1.1.1.2 misho 961: /[[:^cntrl:][:^alpha:]]+/8WBZ
962: ------------------------------------------------------------------
963: Bra
1.1.1.5 ! misho 964: [ -~\x80-\xff\P{L}]++
1.1.1.2 misho 965: Ket
966: End
967: ------------------------------------------------------------------
968: 123
969: 0: 123
970: abc
1.1 misho 971: 0: abc
972:
1.1.1.2 misho 973: /[[:alpha:]]+/8WBZ
974: ------------------------------------------------------------------
975: Bra
1.1.1.5 ! misho 976: [\p{L}]++
1.1.1.2 misho 977: Ket
978: End
979: ------------------------------------------------------------------
1.1 misho 980: abc
981: 0: abc
982:
1.1.1.2 misho 983: /[[:^alpha:]\S]+/8WBZ
984: ------------------------------------------------------------------
985: Bra
1.1.1.5 ! misho 986: [\P{L}\P{Xsp}]++
1.1.1.2 misho 987: Ket
988: End
989: ------------------------------------------------------------------
990: 123
991: 0: 123
992: abc
1.1 misho 993: 0: abc
994:
1.1.1.2 misho 995: /[^\d]+/8WBZ
996: ------------------------------------------------------------------
997: Bra
1.1.1.5 ! misho 998: [^\p{Nd}]++
1.1.1.2 misho 999: Ket
1000: End
1001: ------------------------------------------------------------------
1002: abc123
1003: 0: abc
1004: abc\x{123}
1005: 0: abc\x{123}
1006: \x{660}abc
1007: 0: abc
1008:
1009: /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
1010: ------------------------------------------------------------------
1011: Bra
1012: prop Lu ++
1013: 9
1014: prop Lu +
1015: B
1016: prop Lu ++
1017: b
1018: Ket
1019: End
1020: ------------------------------------------------------------------
1021:
1022: /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
1023: ------------------------------------------------------------------
1024: Bra
1025: notprop Lu +
1026: 9
1027: notprop Lu ++
1028: B
1029: notprop Lu +
1030: b
1031: Ket
1032: End
1033: ------------------------------------------------------------------
1034:
1035: /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
1036: ------------------------------------------------------------------
1037: Bra
1038: notprop Lu +
1039: 9
1040: notprop Lu ++
1041: B
1042: notprop Lu +
1043: b
1044: Ket
1045: End
1046: ------------------------------------------------------------------
1047:
1048: /\p{Han}+X\p{Greek}+\x{370}/BZ8
1049: ------------------------------------------------------------------
1050: Bra
1051: prop Han ++
1052: X
1053: prop Greek +
1054: \x{370}
1055: Ket
1056: End
1057: ------------------------------------------------------------------
1058:
1059: /\p{Xan}+!\p{Xan}+A/BZ
1060: ------------------------------------------------------------------
1061: Bra
1062: prop Xan ++
1063: !
1064: prop Xan +
1065: A
1066: Ket
1067: End
1068: ------------------------------------------------------------------
1069:
1070: /\p{Xsp}+!\p{Xsp}\t/BZ
1071: ------------------------------------------------------------------
1072: Bra
1073: prop Xsp ++
1074: !
1075: prop Xsp
1076: \x09
1077: Ket
1078: End
1079: ------------------------------------------------------------------
1080:
1081: /\p{Xps}+!\p{Xps}\t/BZ
1082: ------------------------------------------------------------------
1083: Bra
1084: prop Xps ++
1085: !
1086: prop Xps
1087: \x09
1088: Ket
1089: End
1090: ------------------------------------------------------------------
1091:
1092: /\p{Xwd}+!\p{Xwd}_/BZ
1093: ------------------------------------------------------------------
1094: Bra
1095: prop Xwd ++
1096: !
1097: prop Xwd
1098: _
1099: Ket
1100: End
1101: ------------------------------------------------------------------
1102:
1103: /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
1104: ------------------------------------------------------------------
1105: Bra
1106: A++
1107: prop N
1108: A++
1109: prop Nd
1110: B+
1111: prop N *+
1.1.1.5 ! misho 1112: B++
! 1113: prop Nd *+
1.1.1.2 misho 1114: Ket
1115: End
1116: ------------------------------------------------------------------
1117:
1118: /-- These behaved oddly in Perl, so they are kept in this test --/
1119:
1120: /(\x{23a}\x{23a}\x{23a})?\1/8i
1121: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1122: No match
1123:
1124: /(ȺȺȺ)?\1/8i
1125: ȺȺȺⱥⱥ
1126: No match
1127:
1128: /(\x{23a}\x{23a}\x{23a})?\1/8i
1129: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1130: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1131: 1: \x{23a}\x{23a}\x{23a}
1132:
1133: /(ȺȺȺ)?\1/8i
1134: ȺȺȺⱥⱥⱥ
1135: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1136: 1: \x{23a}\x{23a}\x{23a}
1137:
1138: /(\x{23a}\x{23a}\x{23a})\1/8i
1139: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1140: No match
1141:
1142: /(ȺȺȺ)\1/8i
1143: ȺȺȺⱥⱥ
1144: No match
1145:
1146: /(\x{23a}\x{23a}\x{23a})\1/8i
1147: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1148: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1149: 1: \x{23a}\x{23a}\x{23a}
1150:
1151: /(ȺȺȺ)\1/8i
1152: ȺȺȺⱥⱥⱥ
1153: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1154: 1: \x{23a}\x{23a}\x{23a}
1155:
1156: /(\x{2c65}\x{2c65})\1/8i
1157: \x{2c65}\x{2c65}\x{23a}\x{23a}
1158: 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
1159: 1: \x{2c65}\x{2c65}
1160:
1161: /(ⱥⱥ)\1/8i
1162: ⱥⱥȺȺ
1163: 0: \x{2c65}\x{2c65}\x{23a}\x{23a}
1164: 1: \x{2c65}\x{2c65}
1165:
1166: /(\x{23a}\x{23a}\x{23a})\1Y/8i
1167: X\x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}YZ
1168: 0: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}Y
1169: 1: \x{23a}\x{23a}\x{23a}
1170:
1171: /(\x{2c65}\x{2c65})\1Y/8i
1172: X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
1173: 0: \x{2c65}\x{2c65}\x{23a}\x{23a}Y
1174: 1: \x{2c65}\x{2c65}
1175:
1176: /-- --/
1177:
1178: /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
1179:
1180: /^[\p{Batak}]/8
1181: \x{1bc0}
1182: 0: \x{1bc0}
1183: \x{1bff}
1184: 0: \x{1bff}
1185: ** Failers
1186: No match
1187: \x{1bf4}
1188: No match
1189:
1190: /^[\p{Brahmi}]/8
1191: \x{11000}
1192: 0: \x{11000}
1193: \x{1106f}
1194: 0: \x{1106f}
1195: ** Failers
1196: No match
1197: \x{1104e}
1198: No match
1199:
1200: /^[\p{Mandaic}]/8
1201: \x{840}
1202: 0: \x{840}
1203: \x{85e}
1204: 0: \x{85e}
1205: ** Failers
1206: No match
1207: \x{85c}
1.1 misho 1208: No match
1.1.1.2 misho 1209: \x{85d}
1.1 misho 1210: No match
1211:
1.1.1.2 misho 1212: /-- --/
1.1 misho 1213:
1.1.1.2 misho 1214: /(\X*)(.)/s8
1215: A\x{300}
1216: 0: A
1217: 1:
1218: 2: A
1.1 misho 1219:
1.1.1.2 misho 1220: /^S(\X*)e(\X*)$/8
1221: Stéréo
1.1.1.4 misho 1222: 0: Ste\x{301}re\x{301}o
1223: 1: te\x{301}r
1224: 2: \x{301}o
1.1 misho 1225:
1.1.1.2 misho 1226: /^\X/8
1227: ́réo
1.1.1.4 misho 1228: 0: \x{301}
1.1 misho 1229:
1.1.1.2 misho 1230: /^a\X41z/<JS>
1231: aX41z
1232: 0: aX41z
1233: *** Failers
1.1 misho 1234: No match
1.1.1.2 misho 1235: aAz
1.1 misho 1236: No match
1237:
1.1.1.2 misho 1238: /(?<=ab\Cde)X/8
1239: Failed: \C not allowed in lookbehind assertion at offset 10
1.1 misho 1240:
1.1.1.3 misho 1241: /\X/
1242: a\P
1243: 0: a
1244: a\P\P
1245: Partial match: a
1246:
1247: /\Xa/
1248: aa\P
1249: 0: aa
1250: aa\P\P
1251: 0: aa
1252:
1253: /\X{2}/
1254: aa\P
1255: 0: aa
1256: aa\P\P
1257: Partial match: aa
1258:
1259: /\X+a/
1260: a\P
1261: Partial match: a
1262: aa\P
1263: 0: aa
1264: aa\P\P
1265: Partial match: aa
1266:
1267: /\X+?a/
1268: a\P
1269: Partial match: a
1270: ab\P
1271: Partial match: ab
1272: aa\P
1273: 0: aa
1274: aa\P\P
1275: 0: aa
1276: aba\P
1277: 0: aba
1278:
1279: /-- These Unicode 6.1.0 scripts are not known to Perl. --/
1280:
1281: /\p{Chakma}\d/8W
1282: \x{11100}\x{1113c}
1283: 0: \x{11100}\x{1113c}
1284:
1285: /\p{Takri}\d/8W
1286: \x{11680}\x{116c0}
1287: 0: \x{11680}\x{116c0}
1288:
1289: /^\X/8
1290: A\P
1291: 0: A
1292: A\P\P
1293: Partial match: A
1294: A\x{300}\x{301}\P
1295: 0: A\x{300}\x{301}
1296: A\x{300}\x{301}\P\P
1297: Partial match: A\x{300}\x{301}
1298: A\x{301}\P
1299: 0: A\x{301}
1300: A\x{301}\P\P
1301: Partial match: A\x{301}
1302:
1303: /^\X{2,3}/8
1304: A\P
1305: Partial match: A
1306: A\P\P
1307: Partial match: A
1308: AA\P
1309: 0: AA
1310: AA\P\P
1311: Partial match: AA
1312: A\x{300}\x{301}\P
1313: Partial match: A\x{300}\x{301}
1314: A\x{300}\x{301}\P\P
1315: Partial match: A\x{300}\x{301}
1316: A\x{300}\x{301}A\x{300}\x{301}\P
1317: 0: A\x{300}\x{301}A\x{300}\x{301}
1318: A\x{300}\x{301}A\x{300}\x{301}\P\P
1319: Partial match: A\x{300}\x{301}A\x{300}\x{301}
1320:
1321: /^\X{2}/8
1322: AA\P
1323: 0: AA
1324: AA\P\P
1325: Partial match: AA
1326: A\x{300}\x{301}A\x{300}\x{301}\P
1327: 0: A\x{300}\x{301}A\x{300}\x{301}
1328: A\x{300}\x{301}A\x{300}\x{301}\P\P
1329: Partial match: A\x{300}\x{301}A\x{300}\x{301}
1330:
1331: /^\X+/8
1332: AA\P
1333: 0: AA
1334: AA\P\P
1335: Partial match: AA
1336:
1337: /^\X+?Z/8
1338: AA\P
1339: Partial match: AA
1340: AA\P\P
1341: Partial match: AA
1342:
1.1.1.4 misho 1343: /A\x{3a3}B/8iDZ
1344: ------------------------------------------------------------------
1345: Bra
1346: /i A
1347: clist 03a3 03c2 03c3
1348: /i B
1349: Ket
1350: End
1351: ------------------------------------------------------------------
1352: Capturing subpattern count = 0
1353: Options: caseless utf
1354: First char = 'A' (caseless)
1355: Need char = 'B' (caseless)
1356:
1357: /\x{3a3}B/8iDZ
1358: ------------------------------------------------------------------
1359: Bra
1360: clist 03a3 03c2 03c3
1361: /i B
1362: Ket
1363: End
1364: ------------------------------------------------------------------
1365: Capturing subpattern count = 0
1366: Options: caseless utf
1367: No first char
1368: Need char = 'B' (caseless)
1369:
1370: /[\x{3a3}]/8iBZ
1371: ------------------------------------------------------------------
1372: Bra
1373: clist 03a3 03c2 03c3
1374: Ket
1375: End
1376: ------------------------------------------------------------------
1377:
1378: /[^\x{3a3}]/8iBZ
1379: ------------------------------------------------------------------
1380: Bra
1381: not clist 03a3 03c2 03c3
1382: Ket
1383: End
1384: ------------------------------------------------------------------
1385:
1386: /[\x{3a3}]+/8iBZ
1387: ------------------------------------------------------------------
1388: Bra
1.1.1.5 ! misho 1389: clist 03a3 03c2 03c3 ++
1.1.1.4 misho 1390: Ket
1391: End
1392: ------------------------------------------------------------------
1393:
1394: /[^\x{3a3}]+/8iBZ
1395: ------------------------------------------------------------------
1396: Bra
1.1.1.5 ! misho 1397: not clist 03a3 03c2 03c3 ++
1.1.1.4 misho 1398: Ket
1399: End
1400: ------------------------------------------------------------------
1401:
1402: /a*\x{3a3}/8iBZ
1403: ------------------------------------------------------------------
1404: Bra
1405: /i a*+
1406: clist 03a3 03c2 03c3
1407: Ket
1408: End
1409: ------------------------------------------------------------------
1410:
1411: /\x{3a3}+a/8iBZ
1412: ------------------------------------------------------------------
1413: Bra
1414: clist 03a3 03c2 03c3 ++
1415: /i a
1416: Ket
1417: End
1418: ------------------------------------------------------------------
1419:
1420: /\x{3a3}*\x{3c2}/8iBZ
1421: ------------------------------------------------------------------
1422: Bra
1423: clist 03a3 03c2 03c3 *
1424: clist 03a3 03c2 03c3
1425: Ket
1426: End
1427: ------------------------------------------------------------------
1428:
1429: /\x{3a3}{3}/8i+
1430: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1431: 0: \x{3a3}\x{3c3}\x{3c2}
1432: 0+ \x{3a3}\x{3c3}\x{3c2}
1433:
1434: /\x{3a3}{2,4}/8i+
1435: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1436: 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}
1437: 0+ \x{3c3}\x{3c2}
1438:
1439: /\x{3a3}{2,4}?/8i+
1440: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1441: 0: \x{3a3}\x{3c3}
1442: 0+ \x{3c2}\x{3a3}\x{3c3}\x{3c2}
1443:
1444: /\x{3a3}+./8i+
1445: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1446: 0: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1447: 0+
1448:
1449: /\x{3a3}++./8i+
1450: ** Failers
1451: No match
1452: \x{3a3}\x{3c3}\x{3c2}\x{3a3}\x{3c3}\x{3c2}
1453: No match
1454:
1455: /\x{3a3}*\x{3c2}/8iBZ
1456: ------------------------------------------------------------------
1457: Bra
1458: clist 03a3 03c2 03c3 *
1459: clist 03a3 03c2 03c3
1460: Ket
1461: End
1462: ------------------------------------------------------------------
1463:
1464: /[^\x{3a3}]*\x{3c2}/8iBZ
1465: ------------------------------------------------------------------
1466: Bra
1467: not clist 03a3 03c2 03c3 *+
1468: clist 03a3 03c2 03c3
1469: Ket
1470: End
1471: ------------------------------------------------------------------
1472:
1473: /[^a]*\x{3c2}/8iBZ
1474: ------------------------------------------------------------------
1475: Bra
1476: /i [^a]*
1477: clist 03a3 03c2 03c3
1478: Ket
1479: End
1480: ------------------------------------------------------------------
1481:
1482: /ist/8iBZ
1483: ------------------------------------------------------------------
1484: Bra
1485: /i i
1486: clist 0053 0073 017f
1487: /i t
1488: Ket
1489: End
1490: ------------------------------------------------------------------
1491: ikt
1492: No match
1493:
1494: /is+t/8i
1495: iSs\x{17f}t
1496: 0: iSs\x{17f}t
1497: ikt
1498: No match
1499:
1500: /is+?t/8i
1501: ikt
1502: No match
1503:
1504: /is?t/8i
1505: ikt
1506: No match
1507:
1508: /is{2}t/8i
1509: iskt
1510: No match
1511:
1512: /-- This property is a PCRE special --/
1513:
1514: /^\p{Xuc}/8
1515: $abc
1516: 0: $
1517: @abc
1518: 0: @
1519: `abc
1520: 0: `
1521: \x{1234}abc
1522: 0: \x{1234}
1523: ** Failers
1524: No match
1525: abc
1526: No match
1527:
1528: /^\p{Xuc}+/8
1529: $@`\x{a0}\x{1234}\x{e000}**
1530: 0: $@`\x{a0}\x{1234}\x{e000}
1531: ** Failers
1532: No match
1533: \x{9f}
1534: No match
1535:
1536: /^\p{Xuc}+?/8
1537: $@`\x{a0}\x{1234}\x{e000}**
1538: 0: $
1539: ** Failers
1540: No match
1541: \x{9f}
1542: No match
1543:
1544: /^\p{Xuc}+?\*/8
1545: $@`\x{a0}\x{1234}\x{e000}**
1546: 0: $@`\x{a0}\x{1234}\x{e000}*
1547: ** Failers
1548: No match
1549: \x{9f}
1550: No match
1551:
1552: /^\p{Xuc}++/8
1553: $@`\x{a0}\x{1234}\x{e000}**
1554: 0: $@`\x{a0}\x{1234}\x{e000}
1555: ** Failers
1556: No match
1557: \x{9f}
1558: No match
1559:
1560: /^\p{Xuc}{3,5}/8
1561: $@`\x{a0}\x{1234}\x{e000}**
1562: 0: $@`\x{a0}\x{1234}
1563: ** Failers
1564: No match
1565: \x{9f}
1566: No match
1567:
1568: /^\p{Xuc}{3,5}?/8
1569: $@`\x{a0}\x{1234}\x{e000}**
1570: 0: $@`
1571: ** Failers
1572: No match
1573: \x{9f}
1574: No match
1575:
1576: /^[\p{Xuc}]/8
1577: $@`\x{a0}\x{1234}\x{e000}**
1578: 0: $
1579: ** Failers
1580: No match
1581: \x{9f}
1582: No match
1583:
1584: /^[\p{Xuc}]+/8
1585: $@`\x{a0}\x{1234}\x{e000}**
1586: 0: $@`\x{a0}\x{1234}\x{e000}
1587: ** Failers
1588: No match
1589: \x{9f}
1590: No match
1591:
1592: /^\P{Xuc}/8
1593: abc
1594: 0: a
1595: ** Failers
1596: 0: *
1597: $abc
1598: No match
1599: @abc
1600: No match
1601: `abc
1602: No match
1603: \x{1234}abc
1604: No match
1605:
1606: /^[\P{Xuc}]/8
1607: abc
1608: 0: a
1609: ** Failers
1610: 0: *
1611: $abc
1612: No match
1613: @abc
1614: No match
1615: `abc
1616: No match
1617: \x{1234}abc
1618: No match
1.1.1.5 ! misho 1619:
! 1620: /-- Some auto-possessification tests --/
! 1621:
! 1622: /\pN+\z/BZ
! 1623: ------------------------------------------------------------------
! 1624: Bra
! 1625: prop N ++
! 1626: \z
! 1627: Ket
! 1628: End
! 1629: ------------------------------------------------------------------
! 1630:
! 1631: /\PN+\z/BZ
! 1632: ------------------------------------------------------------------
! 1633: Bra
! 1634: notprop N ++
! 1635: \z
! 1636: Ket
! 1637: End
! 1638: ------------------------------------------------------------------
! 1639:
! 1640: /\pN+/BZ
! 1641: ------------------------------------------------------------------
! 1642: Bra
! 1643: prop N ++
! 1644: Ket
! 1645: End
! 1646: ------------------------------------------------------------------
! 1647:
! 1648: /\PN+/BZ
! 1649: ------------------------------------------------------------------
! 1650: Bra
! 1651: notprop N ++
! 1652: Ket
! 1653: End
! 1654: ------------------------------------------------------------------
! 1655:
! 1656: /\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
! 1657: ------------------------------------------------------------------
! 1658: Bra
! 1659: prop Any +
! 1660: prop Any
! 1661: prop Any +
! 1662: notprop Any
! 1663: prop Any +
! 1664: prop L&
! 1665: prop Any +
! 1666: prop L
! 1667: prop Any +
! 1668: prop Lu
! 1669: prop Any +
! 1670: prop Han
! 1671: prop Any +
! 1672: prop Xan
! 1673: prop Any +
! 1674: prop Xsp
! 1675: prop Any +
! 1676: prop Xps
! 1677: prop Xwd +
! 1678: prop Any
! 1679: prop Any +
! 1680: prop Xuc
! 1681: Ket
! 1682: End
! 1683: ------------------------------------------------------------------
! 1684:
! 1685: /\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
! 1686: ------------------------------------------------------------------
! 1687: Bra
! 1688: prop L& +
! 1689: prop Any
! 1690: prop L& +
! 1691: prop L&
! 1692: notprop L& ++
! 1693: prop L&
! 1694: prop L& +
! 1695: prop L
! 1696: prop L& +
! 1697: prop Lu
! 1698: prop L& +
! 1699: prop Han
! 1700: prop L& +
! 1701: prop Xan
! 1702: prop L& ++
! 1703: notprop Xan
! 1704: prop L& ++
! 1705: prop Xsp
! 1706: prop L& ++
! 1707: prop Xps
! 1708: prop Xwd +
! 1709: prop L&
! 1710: prop L& +
! 1711: prop Xuc
! 1712: Ket
! 1713: End
! 1714: ------------------------------------------------------------------
! 1715:
! 1716: /\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
! 1717: ------------------------------------------------------------------
! 1718: Bra
! 1719: prop N +
! 1720: prop Any
! 1721: prop N +
! 1722: prop L&
! 1723: prop N ++
! 1724: prop L
! 1725: prop N +
! 1726: notprop L
! 1727: prop N ++
! 1728: notprop N
! 1729: prop N ++
! 1730: prop Lu
! 1731: prop N +
! 1732: prop Han
! 1733: prop N +
! 1734: prop Xan
! 1735: prop N ++
! 1736: prop Xsp
! 1737: prop N ++
! 1738: prop Xps
! 1739: prop Xwd +
! 1740: prop N
! 1741: prop N +
! 1742: prop Xuc
! 1743: Ket
! 1744: End
! 1745: ------------------------------------------------------------------
! 1746:
! 1747: /\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
! 1748: ------------------------------------------------------------------
! 1749: Bra
! 1750: prop Lu +
! 1751: prop Any
! 1752: prop Lu +
! 1753: prop L&
! 1754: prop Lu +
! 1755: prop L
! 1756: prop Lu +
! 1757: prop Lu
! 1758: notprop Lu ++
! 1759: prop Lu
! 1760: prop Lu ++
! 1761: prop Nd
! 1762: prop Lu +
! 1763: notprop Nd
! 1764: prop Lu +
! 1765: prop Han
! 1766: prop Lu +
! 1767: prop Xan
! 1768: prop Lu ++
! 1769: prop Xsp
! 1770: prop Lu ++
! 1771: prop Xps
! 1772: prop Xwd +
! 1773: prop Lu
! 1774: prop Lu +
! 1775: prop Xuc
! 1776: Ket
! 1777: End
! 1778: ------------------------------------------------------------------
! 1779:
! 1780: /\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
! 1781: ------------------------------------------------------------------
! 1782: Bra
! 1783: prop Han +
! 1784: prop Lu
! 1785: prop Han +
! 1786: prop L&
! 1787: prop Han +
! 1788: prop L
! 1789: prop Han +
! 1790: prop Lu
! 1791: prop Han ++
! 1792: prop Arabic
! 1793: prop Arabic +
! 1794: prop Arabic
! 1795: prop Han +
! 1796: prop Xan
! 1797: prop Han +
! 1798: prop Xsp
! 1799: prop Han +
! 1800: prop Xps
! 1801: prop Xwd +
! 1802: prop Han
! 1803: prop Han +
! 1804: prop Xuc
! 1805: Ket
! 1806: End
! 1807: ------------------------------------------------------------------
! 1808:
! 1809: /\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
! 1810: ------------------------------------------------------------------
! 1811: Bra
! 1812: prop Xan +
! 1813: prop Any
! 1814: prop Xan +
! 1815: prop L&
! 1816: notprop Xan ++
! 1817: prop L&
! 1818: prop Xan +
! 1819: prop L
! 1820: prop Xan +
! 1821: prop Lu
! 1822: prop Xan +
! 1823: prop Han
! 1824: prop Xan +
! 1825: prop Xan
! 1826: prop Xan ++
! 1827: notprop Xan
! 1828: prop Xan ++
! 1829: prop Xsp
! 1830: prop Xan ++
! 1831: prop Xps
! 1832: prop Xwd +
! 1833: prop Xan
! 1834: prop Xan +
! 1835: prop Xuc
! 1836: Ket
! 1837: End
! 1838: ------------------------------------------------------------------
! 1839:
! 1840: /\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
! 1841: ------------------------------------------------------------------
! 1842: Bra
! 1843: prop Xsp +
! 1844: prop Any
! 1845: prop Xsp ++
! 1846: prop L&
! 1847: prop Xsp ++
! 1848: prop L
! 1849: prop Xsp ++
! 1850: prop Lu
! 1851: prop Xsp +
! 1852: prop Han
! 1853: prop Xsp ++
! 1854: prop Xan
! 1855: prop Xsp +
! 1856: prop Xsp
! 1857: notprop Xsp ++
! 1858: prop Xsp
! 1859: prop Xsp +
! 1860: prop Xps
! 1861: prop Xwd ++
! 1862: prop Xsp
! 1863: prop Xsp +
! 1864: prop Xuc
! 1865: Ket
! 1866: End
! 1867: ------------------------------------------------------------------
! 1868:
! 1869: /\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
! 1870: ------------------------------------------------------------------
! 1871: Bra
! 1872: prop Xwd +
! 1873: prop Any
! 1874: prop Xwd +
! 1875: prop L&
! 1876: prop Xwd +
! 1877: prop L
! 1878: prop Xwd +
! 1879: prop Lu
! 1880: prop Xwd +
! 1881: prop Han
! 1882: prop Xwd +
! 1883: prop Xan
! 1884: prop Xwd ++
! 1885: prop Xsp
! 1886: prop Xwd ++
! 1887: prop Xps
! 1888: prop Xwd +
! 1889: prop Xwd
! 1890: prop Xwd ++
! 1891: notprop Xwd
! 1892: prop Xwd +
! 1893: prop Xuc
! 1894: Ket
! 1895: End
! 1896: ------------------------------------------------------------------
! 1897:
! 1898: /\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
! 1899: ------------------------------------------------------------------
! 1900: Bra
! 1901: prop Xuc +
! 1902: prop Any
! 1903: prop Xuc +
! 1904: prop L&
! 1905: prop Xuc +
! 1906: prop L
! 1907: prop Xuc +
! 1908: prop Lu
! 1909: prop Xuc +
! 1910: prop Han
! 1911: prop Xuc +
! 1912: prop Xan
! 1913: prop Xuc +
! 1914: prop Xsp
! 1915: prop Xuc +
! 1916: prop Xps
! 1917: prop Xwd +
! 1918: prop Xuc
! 1919: prop Xuc +
! 1920: prop Xuc
! 1921: prop Xuc ++
! 1922: notprop Xuc
! 1923: Ket
! 1924: End
! 1925: ------------------------------------------------------------------
! 1926:
! 1927: /\p{N}+\p{Ll} \p{N}+\p{Nd} \p{N}+\P{Nd}/BWZx
! 1928: ------------------------------------------------------------------
! 1929: Bra
! 1930: prop N ++
! 1931: prop Ll
! 1932: prop N +
! 1933: prop Nd
! 1934: prop N +
! 1935: notprop Nd
! 1936: Ket
! 1937: End
! 1938: ------------------------------------------------------------------
! 1939:
! 1940: /\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
! 1941: ------------------------------------------------------------------
! 1942: Bra
! 1943: prop Xan +
! 1944: prop L
! 1945: prop Xan +
! 1946: prop N
! 1947: prop Xan ++
! 1948: prop C
! 1949: prop Xan +
! 1950: notprop L
! 1951: notprop Xan ++
! 1952: prop N
! 1953: prop Xan +
! 1954: notprop C
! 1955: Ket
! 1956: End
! 1957: ------------------------------------------------------------------
! 1958:
! 1959: /\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
! 1960: ------------------------------------------------------------------
! 1961: Bra
! 1962: prop L +
! 1963: prop Xan
! 1964: prop N +
! 1965: prop Xan
! 1966: prop C ++
! 1967: prop Xan
! 1968: notprop L +
! 1969: prop Xan
! 1970: prop N +
! 1971: prop Xan
! 1972: notprop C +
! 1973: prop Xan
! 1974: prop L ++
! 1975: notprop Xan
! 1976: Ket
! 1977: End
! 1978: ------------------------------------------------------------------
! 1979:
! 1980: /\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
! 1981: ------------------------------------------------------------------
! 1982: Bra
! 1983: prop Xan +
! 1984: prop Lu
! 1985: prop Xan +
! 1986: prop Nd
! 1987: prop Xan ++
! 1988: prop Cc
! 1989: prop Xan +
! 1990: notprop Ll
! 1991: notprop Xan ++
! 1992: prop No
! 1993: prop Xan +
! 1994: notprop Cf
! 1995: Ket
! 1996: End
! 1997: ------------------------------------------------------------------
! 1998:
! 1999: /\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
! 2000: ------------------------------------------------------------------
! 2001: Bra
! 2002: prop Lu +
! 2003: prop Xan
! 2004: prop Nd +
! 2005: prop Xan
! 2006: prop Cs ++
! 2007: prop Xan
! 2008: notprop Lt +
! 2009: prop Xan
! 2010: prop Nl +
! 2011: prop Xan
! 2012: notprop Cc +
! 2013: prop Xan
! 2014: prop Lt ++
! 2015: notprop Xan
! 2016: Ket
! 2017: End
! 2018: ------------------------------------------------------------------
! 2019:
! 2020: /\w+\p{P} \w+\p{Po} \w+\s \p{Xan}+\s \s+\p{Xan} \s+\w/BWZx
! 2021: ------------------------------------------------------------------
! 2022: Bra
! 2023: prop Xwd +
! 2024: prop P
! 2025: prop Xwd +
! 2026: prop Po
! 2027: prop Xwd ++
! 2028: prop Xsp
! 2029: prop Xan ++
! 2030: prop Xsp
! 2031: prop Xsp ++
! 2032: prop Xan
! 2033: prop Xsp ++
! 2034: prop Xwd
! 2035: Ket
! 2036: End
! 2037: ------------------------------------------------------------------
! 2038:
! 2039: /\w+\P{P} \W+\p{Po} \w+\S \P{Xan}+\s \s+\P{Xan} \s+\W/BWZx
! 2040: ------------------------------------------------------------------
! 2041: Bra
! 2042: prop Xwd +
! 2043: notprop P
! 2044: notprop Xwd +
! 2045: prop Po
! 2046: prop Xwd +
! 2047: notprop Xsp
! 2048: notprop Xan +
! 2049: prop Xsp
! 2050: prop Xsp +
! 2051: notprop Xan
! 2052: prop Xsp +
! 2053: notprop Xwd
! 2054: Ket
! 2055: End
! 2056: ------------------------------------------------------------------
! 2057:
! 2058: /\w+\p{Po} \w+\p{Pc} \W+\p{Po} \W+\p{Pc} \w+\P{Po} \w+\P{Pc}/BWZx
! 2059: ------------------------------------------------------------------
! 2060: Bra
! 2061: prop Xwd +
! 2062: prop Po
! 2063: prop Xwd ++
! 2064: prop Pc
! 2065: notprop Xwd +
! 2066: prop Po
! 2067: notprop Xwd +
! 2068: prop Pc
! 2069: prop Xwd +
! 2070: notprop Po
! 2071: prop Xwd +
! 2072: notprop Pc
! 2073: Ket
! 2074: End
! 2075: ------------------------------------------------------------------
! 2076:
! 2077: /\p{Nl}+\p{Xan} \P{Nl}+\p{Xan} \p{Nl}+\P{Xan} \P{Nl}+\P{Xan}/BWZx
! 2078: ------------------------------------------------------------------
! 2079: Bra
! 2080: prop Nl +
! 2081: prop Xan
! 2082: notprop Nl +
! 2083: prop Xan
! 2084: prop Nl ++
! 2085: notprop Xan
! 2086: notprop Nl +
! 2087: notprop Xan
! 2088: Ket
! 2089: End
! 2090: ------------------------------------------------------------------
! 2091:
! 2092: /\p{Xan}+\p{Nl} \P{Xan}+\p{Nl} \p{Xan}+\P{Nl} \P{Xan}+\P{Nl}/BWZx
! 2093: ------------------------------------------------------------------
! 2094: Bra
! 2095: prop Xan +
! 2096: prop Nl
! 2097: notprop Xan ++
! 2098: prop Nl
! 2099: prop Xan +
! 2100: notprop Nl
! 2101: notprop Xan +
! 2102: notprop Nl
! 2103: Ket
! 2104: End
! 2105: ------------------------------------------------------------------
! 2106:
! 2107: /\p{Xan}+\p{Nd} \P{Xan}+\p{Nd} \p{Xan}+\P{Nd} \P{Xan}+\P{Nd}/BWZx
! 2108: ------------------------------------------------------------------
! 2109: Bra
! 2110: prop Xan +
! 2111: prop Nd
! 2112: notprop Xan ++
! 2113: prop Nd
! 2114: prop Xan +
! 2115: notprop Nd
! 2116: notprop Xan +
! 2117: notprop Nd
! 2118: Ket
! 2119: End
! 2120: ------------------------------------------------------------------
! 2121:
! 2122: /-- End auto-possessification tests --/
! 2123:
! 2124: /\w+/8CWBZ
! 2125: ------------------------------------------------------------------
! 2126: Bra
! 2127: Callout 255 0 3
! 2128: prop Xwd ++
! 2129: Callout 255 3 0
! 2130: Ket
! 2131: End
! 2132: ------------------------------------------------------------------
! 2133: abcd
! 2134: --->abcd
! 2135: +0 ^ \w+
! 2136: +3 ^ ^
! 2137: 0: abcd
! 2138:
! 2139: /[\p{N}]?+/BZO
! 2140: ------------------------------------------------------------------
! 2141: Bra
! 2142: [\p{N}]?+
! 2143: Ket
! 2144: End
! 2145: ------------------------------------------------------------------
! 2146:
! 2147: /[\p{L}ab]{2,3}+/BZO
! 2148: ------------------------------------------------------------------
! 2149: Bra
! 2150: [ab\p{L}]{2,3}+
! 2151: Ket
! 2152: End
! 2153: ------------------------------------------------------------------
! 2154:
! 2155: /\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
! 2156: ------------------------------------------------------------------
! 2157: Bra
! 2158: \D+
! 2159: extuni
! 2160: \d+
! 2161: extuni
! 2162: \S+
! 2163: extuni
! 2164: \s+
! 2165: extuni
! 2166: \W+
! 2167: extuni
! 2168: \w+
! 2169: extuni
! 2170: AllAny+
! 2171: extuni
! 2172: \R+
! 2173: extuni
! 2174: \H+
! 2175: extuni
! 2176: \h+
! 2177: extuni
! 2178: \V+
! 2179: extuni
! 2180: \v+
! 2181: extuni
! 2182: a+
! 2183: extuni
! 2184: \x0a+
! 2185: extuni
! 2186: Any+
! 2187: extuni
! 2188: Ket
! 2189: End
! 2190: ------------------------------------------------------------------
! 2191:
! 2192: /.+\X/BZxs
! 2193: ------------------------------------------------------------------
! 2194: Bra
! 2195: AllAny+
! 2196: extuni
! 2197: Ket
! 2198: End
! 2199: ------------------------------------------------------------------
! 2200:
! 2201: /\X+$/BZxm
! 2202: ------------------------------------------------------------------
! 2203: Bra
! 2204: extuni+
! 2205: /m $
! 2206: Ket
! 2207: End
! 2208: ------------------------------------------------------------------
! 2209:
! 2210: /\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
! 2211: ------------------------------------------------------------------
! 2212: Bra
! 2213: extuni+
! 2214: \D
! 2215: extuni+
! 2216: \d
! 2217: extuni+
! 2218: \S
! 2219: extuni+
! 2220: \s
! 2221: extuni+
! 2222: \W
! 2223: extuni+
! 2224: \w
! 2225: extuni+
! 2226: Any
! 2227: extuni+
! 2228: AllAny
! 2229: extuni+
! 2230: \R
! 2231: extuni+
! 2232: \H
! 2233: extuni+
! 2234: \h
! 2235: extuni+
! 2236: \V
! 2237: extuni+
! 2238: \v
! 2239: extuni+
! 2240: extuni
! 2241: extuni+
! 2242: \Z
! 2243: extuni++
! 2244: \z
! 2245: extuni+
! 2246: $
! 2247: Ket
! 2248: End
! 2249: ------------------------------------------------------------------
! 2250:
! 2251: /\d+\s{0,5}=\s*\S?=\w{0,4}\W*/8WBZ
! 2252: ------------------------------------------------------------------
! 2253: Bra
! 2254: prop Nd ++
! 2255: prop Xsp {0,5}+
! 2256: =
! 2257: prop Xsp *+
! 2258: notprop Xsp ?
! 2259: =
! 2260: prop Xwd {0,4}+
! 2261: notprop Xwd *+
! 2262: Ket
! 2263: End
! 2264: ------------------------------------------------------------------
1.1.1.4 misho 2265:
1.1 misho 2266: /-- End of testinput7 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>