Annotation of embedaddon/pcre/testdata/testinput7, 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
1.1 misho 5:
1.1.1.2 misho 6: /[\p{^L}]/DZ
1.1 misho 7:
1.1.1.2 misho 8: /[\P{L}]/DZ
1.1 misho 9:
1.1.1.2 misho 10: /[\P{^L}]/DZ
1.1 misho 11:
1.1.1.2 misho 12: /[abc\p{L}\x{0660}]/8DZ
1.1 misho 13:
1.1.1.2 misho 14: /[\p{Nd}]/8DZ
15: 1234
1.1 misho 16:
1.1.1.2 misho 17: /[\p{Nd}+-]+/8DZ
18: 1234
19: 12-34
20: 12+\x{661}-34
21: ** Failers
22: abcd
1.1 misho 23:
1.1.1.2 misho 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
1.1 misho 46:
1.1.1.2 misho 47: /[z-\x{100}]/8DZi
1.1 misho 48:
1.1.1.2 misho 49: /(?:[\PPa*]*){8,}/
1.1 misho 50:
1.1.1.2 misho 51: /[\P{Any}]/BZ
1.1 misho 52:
1.1.1.2 misho 53: /[\P{Any}\E]/BZ
1.1 misho 54:
1.1.1.2 misho 55: /(\P{Yi}+\277)/
1.1 misho 56:
1.1.1.2 misho 57: /(\P{Yi}+\277)?/
1.1 misho 58:
1.1.1.2 misho 59: /(?<=\P{Yi}{3}A)X/
1.1 misho 60:
1.1.1.2 misho 61: /\p{Yi}+(\P{Yi}+)(?1)/
1.1 misho 62:
1.1.1.2 misho 63: /(\P{Yi}{2}\277)?/
1.1 misho 64:
1.1.1.2 misho 65: /[\P{Yi}A]/
1.1 misho 66:
1.1.1.2 misho 67: /[\P{Yi}\P{Yi}\P{Yi}A]/
1.1 misho 68:
1.1.1.2 misho 69: /[^\P{Yi}A]/
1.1 misho 70:
1.1.1.2 misho 71: /[^\P{Yi}\P{Yi}\P{Yi}A]/
1.1 misho 72:
1.1.1.2 misho 73: /(\P{Yi}*\277)*/
1.1 misho 74:
1.1.1.2 misho 75: /(\P{Yi}*?\277)*/
1.1 misho 76:
1.1.1.2 misho 77: /(\p{Yi}*+\277)*/
1.1 misho 78:
1.1.1.2 misho 79: /(\P{Yi}?\277)*/
1.1 misho 80:
1.1.1.2 misho 81: /(\P{Yi}??\277)*/
1.1 misho 82:
1.1.1.2 misho 83: /(\p{Yi}?+\277)*/
1.1 misho 84:
1.1.1.2 misho 85: /(\P{Yi}{0,3}\277)*/
1.1 misho 86:
1.1.1.2 misho 87: /(\P{Yi}{0,3}?\277)*/
1.1 misho 88:
1.1.1.2 misho 89: /(\p{Yi}{0,3}+\277)*/
1.1 misho 90:
1.1.1.2 misho 91: /\p{Zl}{2,3}+/8BZ
1.1.1.4 misho 92:
1.1.1.2 misho 93: \x{2028}\x{2028}\x{2028}
94:
95: /\p{Zl}/8BZ
1.1 misho 96:
1.1.1.2 misho 97: /\p{Lu}{3}+/8BZ
1.1 misho 98:
1.1.1.2 misho 99: /\pL{2}+/8BZ
1.1 misho 100:
1.1.1.2 misho 101: /\p{Cc}{2}+/8BZ
1.1 misho 102:
1.1.1.5 ! misho 103: /^\p{Cf}/8
! 104: \x{180e}
! 105: \x{061c}
! 106: \x{2066}
! 107: \x{2067}
! 108: \x{2068}
! 109: \x{2069}
! 110:
1.1.1.2 misho 111: /^\p{Cs}/8
112: \?\x{dfff}
113: ** Failers
114: \x{09f}
115:
1.1.1.5 ! misho 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:
1.1.1.2 misho 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:
1.1.1.5 ! misho 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. --/
1.1.1.2 misho 147:
148: /\p{^Lu}/8i
149: 1234
150: ** Failers
151: ABC
1.1 misho 152:
1.1.1.2 misho 153: /\P{Lu}/8i
154: 1234
155: ** Failers
156: ABC
1.1 misho 157:
1.1.1.2 misho 158: /\p{Ll}/8i
159: a
160: Az
161: ** Failers
162: ABC
1.1 misho 163:
1.1.1.2 misho 164: /\p{Lu}/8i
165: A
166: a\x{10a0}B
167: ** Failers
168: a
169: \x{1d00}
1.1 misho 170:
1.1.1.5 ! misho 171: /\p{Lu}/8i
! 172: A
! 173: aZ
! 174: ** Failers
! 175: abc
! 176:
1.1.1.2 misho 177: /[\x{c0}\x{391}]/8i
178: \x{c0}
179: \x{e0}
1.1 misho 180:
1.1.1.2 misho 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. --/
1.1 misho 184:
1.1.1.2 misho 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
1.1 misho 190:
1.1.1.2 misho 191: /\x{c0}+\x{116}+/8i
192: \x{c0}\x{e0}\x{116}\x{117}
1.1 misho 193:
1.1.1.2 misho 194: /[\x{c0}\x{116}]+/8i
195: \x{c0}\x{e0}\x{116}\x{117}
1.1 misho 196:
1.1.1.2 misho 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}
1.1 misho 202:
1.1.1.2 misho 203: /^\x{c0}$/8i
204: \x{c0}
205: \x{e0}
1.1 misho 206:
1.1.1.2 misho 207: /^\x{e0}$/8i
208: \x{c0}
209: \x{e0}
1.1 misho 210:
1.1.1.2 misho 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. --/
1.1 misho 214:
1.1.1.2 misho 215: /((?i)[\x{c0}])/8
216: \x{c0}
217: \x{e0}
1.1 misho 218:
1.1.1.2 misho 219: /(?i:[\x{c0}])/8
220: \x{c0}
221: \x{e0}
1.1 misho 222:
1.1.1.2 misho 223: /-- These are PCRE's extra properties to help with Unicodizing \d etc. --/
1.1 misho 224:
1.1.1.2 misho 225: /^\p{Xan}/8
226: ABCD
227: 1234
228: \x{6ca}
229: \x{a6c}
230: \x{10a7}
231: ** Failers
232: _ABC
1.1 misho 233:
1.1.1.2 misho 234: /^\p{Xan}+/8
235: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
236: ** Failers
237: _ABC
1.1 misho 238:
1.1.1.2 misho 239: /^\p{Xan}+?/8
240: \x{6ca}\x{a6c}\x{10a7}_
1.1 misho 241:
1.1.1.2 misho 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
1.1 misho 264:
1.1.1.2 misho 265: /^>\p{Xsp}/8
266: >\x{1680}\x{2028}\x{0b}
267: >\x{a0}
268: ** Failers
269: \x{0b}
1.1 misho 270:
1.1.1.2 misho 271: /^>\p{Xsp}+/8
272: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 273:
1.1.1.2 misho 274: /^>\p{Xsp}+?/8
275: >\x{1680}\x{2028}\x{0b}
1.1 misho 276:
1.1.1.2 misho 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}
1.1 misho 291:
1.1.1.2 misho 292: /^>\p{Xps}/8
293: >\x{1680}\x{2028}\x{0b}
294: >\x{a0}
295: ** Failers
296: \x{0b}
1.1 misho 297:
1.1.1.2 misho 298: /^>\p{Xps}+/8
299: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 300:
1.1.1.2 misho 301: /^>\p{Xps}+?/8
302: >\x{1680}\x{2028}\x{0b}
1.1 misho 303:
1.1.1.2 misho 304: /^>\p{Xps}*/8
305: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 306:
1.1.1.2 misho 307: /^>\p{Xps}{2,9}/8
308: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 309:
1.1.1.2 misho 310: /^>\p{Xps}{2,9}?/8
311: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
1.1 misho 312:
1.1.1.2 misho 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}
1.1 misho 318:
1.1.1.2 misho 319: /^\p{Xwd}/8
320: ABCD
321: 1234
322: \x{6ca}
323: \x{a6c}
324: \x{10a7}
325: _ABC
326: ** Failers
327: []
1.1 misho 328:
1.1.1.2 misho 329: /^\p{Xwd}+/8
330: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
1.1 misho 331:
1.1.1.2 misho 332: /^\p{Xwd}+?/8
333: \x{6ca}\x{a6c}\x{10a7}_
1.1 misho 334:
1.1.1.2 misho 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}_
1.1 misho 356:
1.1.1.2 misho 357: /-- A check not in UTF-8 mode --/
1.1 misho 358:
1.1.1.2 misho 359: /^[\p{Xwd}]+/
360: ABCD1234_
1.1 misho 361:
1.1.1.2 misho 362: /-- Some negative checks --/
1.1 misho 363:
1.1.1.2 misho 364: /^[\P{Xwd}]+/8
365: !.+\x{019}\x{35a}AB
1.1 misho 366:
1.1.1.2 misho 367: /^[\p{^Xwd}]+/8
368: !.+\x{019}\x{35a}AB
1.1 misho 369:
1.1.1.2 misho 370: /[\D]/WBZ8
371: 1\x{3c8}2
1.1 misho 372:
1.1.1.2 misho 373: /[\d]/WBZ8
374: >\x{6f4}<
1.1 misho 375:
1.1.1.2 misho 376: /[\S]/WBZ8
377: \x{1680}\x{6f4}\x{1680}
1.1 misho 378:
1.1.1.2 misho 379: /[\s]/WBZ8
380: >\x{1680}<
1.1 misho 381:
1.1.1.2 misho 382: /[\W]/WBZ8
383: A\x{1712}B
1.1 misho 384:
1.1.1.2 misho 385: /[\w]/WBZ8
386: >\x{1723}<
1.1 misho 387:
1.1.1.2 misho 388: /\D/WBZ8
389: 1\x{3c8}2
1.1 misho 390:
1.1.1.2 misho 391: /\d/WBZ8
392: >\x{6f4}<
1.1 misho 393:
1.1.1.2 misho 394: /\S/WBZ8
395: \x{1680}\x{6f4}\x{1680}
1.1 misho 396:
1.1.1.2 misho 397: /\s/WBZ8
398: >\x{1680}>
1.1 misho 399:
1.1.1.2 misho 400: /\W/WBZ8
401: A\x{1712}B
1.1 misho 402:
1.1.1.2 misho 403: /\w/WBZ8
404: >\x{1723}<
1.1 misho 405:
1.1.1.2 misho 406: /[[:alpha:]]/WBZ
1.1 misho 407:
1.1.1.2 misho 408: /[[:lower:]]/WBZ
1.1 misho 409:
1.1.1.2 misho 410: /[[:upper:]]/WBZ
1.1 misho 411:
1.1.1.2 misho 412: /[[:alnum:]]/WBZ
1.1 misho 413:
1.1.1.2 misho 414: /[[:ascii:]]/WBZ
1.1 misho 415:
1.1.1.2 misho 416: /[[:cntrl:]]/WBZ
1.1 misho 417:
1.1.1.2 misho 418: /[[:digit:]]/WBZ
1.1 misho 419:
1.1.1.2 misho 420: /[[:graph:]]/WBZ
1.1 misho 421:
1.1.1.2 misho 422: /[[:print:]]/WBZ
1.1 misho 423:
1.1.1.2 misho 424: /[[:punct:]]/WBZ
1.1 misho 425:
1.1.1.2 misho 426: /[[:space:]]/WBZ
1.1 misho 427:
1.1.1.2 misho 428: /[[:word:]]/WBZ
1.1 misho 429:
1.1.1.2 misho 430: /[[:xdigit:]]/WBZ
1.1 misho 431:
1.1.1.2 misho 432: /-- Unicode properties for \b abd \B --/
1.1 misho 433:
1.1.1.2 misho 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}+++++
1.1 misho 440:
1.1.1.2 misho 441: /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
1.1 misho 442:
1.1.1.2 misho 443: /\b...\B/8
444: abc_
1.1 misho 445: ** Failers
1.1.1.2 misho 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}+++++
1.1 misho 450:
1.1.1.2 misho 451: /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
1.1 misho 452:
1.1.1.2 misho 453: /\b...\B/W
454: abc_
455: !\x{c0}++\x{c1}\x{c2}
456: !\x{c0}+++++
1.1 misho 457:
1.1.1.2 misho 458: /-- Some of these are silly, but they check various combinations --/
1.1 misho 459:
1.1.1.2 misho 460: /[[:^alpha:][:^cntrl:]]+/8WBZ
461: 123
462: abc
1.1 misho 463:
1.1.1.2 misho 464: /[[:^cntrl:][:^alpha:]]+/8WBZ
465: 123
466: abc
1.1 misho 467:
1.1.1.2 misho 468: /[[:alpha:]]+/8WBZ
469: abc
1.1 misho 470:
1.1.1.2 misho 471: /[[:^alpha:]\S]+/8WBZ
472: 123
1.1 misho 473: abc
474:
1.1.1.2 misho 475: /[^\d]+/8WBZ
476: abc123
477: abc\x{123}
478: \x{660}abc
1.1 misho 479:
1.1.1.2 misho 480: /\p{Lu}+9\p{Lu}+B\p{Lu}+b/BZ
1.1 misho 481:
1.1.1.2 misho 482: /\p{^Lu}+9\p{^Lu}+B\p{^Lu}+b/BZ
1.1 misho 483:
1.1.1.2 misho 484: /\P{Lu}+9\P{Lu}+B\P{Lu}+b/BZ
1.1 misho 485:
1.1.1.2 misho 486: /\p{Han}+X\p{Greek}+\x{370}/BZ8
1.1 misho 487:
1.1.1.2 misho 488: /\p{Xan}+!\p{Xan}+A/BZ
1.1 misho 489:
1.1.1.2 misho 490: /\p{Xsp}+!\p{Xsp}\t/BZ
1.1 misho 491:
1.1.1.2 misho 492: /\p{Xps}+!\p{Xps}\t/BZ
1.1 misho 493:
1.1.1.2 misho 494: /\p{Xwd}+!\p{Xwd}_/BZ
1.1 misho 495:
1.1.1.2 misho 496: /A+\p{N}A+\dB+\p{N}*B+\d*/WBZ
1.1 misho 497:
1.1.1.2 misho 498: /-- These behaved oddly in Perl, so they are kept in this test --/
1.1 misho 499:
1.1.1.2 misho 500: /(\x{23a}\x{23a}\x{23a})?\1/8i
501: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1.1 misho 502:
1.1.1.2 misho 503: /(ȺȺȺ)?\1/8i
504: ȺȺȺⱥⱥ
1.1 misho 505:
1.1.1.2 misho 506: /(\x{23a}\x{23a}\x{23a})?\1/8i
507: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1.1 misho 508:
1.1.1.2 misho 509: /(ȺȺȺ)?\1/8i
510: ȺȺȺⱥⱥⱥ
1.1 misho 511:
1.1.1.2 misho 512: /(\x{23a}\x{23a}\x{23a})\1/8i
513: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}
1.1 misho 514:
1.1.1.2 misho 515: /(ȺȺȺ)\1/8i
516: ȺȺȺⱥⱥ
1.1 misho 517:
1.1.1.2 misho 518: /(\x{23a}\x{23a}\x{23a})\1/8i
519: \x{23a}\x{23a}\x{23a}\x{2c65}\x{2c65}\x{2c65}
1.1 misho 520:
1.1.1.2 misho 521: /(ȺȺȺ)\1/8i
522: ȺȺȺⱥⱥⱥ
1.1 misho 523:
1.1.1.2 misho 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
1.1 misho 532:
1.1.1.2 misho 533: /(\x{2c65}\x{2c65})\1Y/8i
534: X\x{2c65}\x{2c65}\x{23a}\x{23a}YZ
1.1 misho 535:
1.1.1.2 misho 536: /-- --/
1.1 misho 537:
1.1.1.2 misho 538: /-- These scripts weren't yet in Perl when I added Unicode 6.0.0 to PCRE --/
1.1 misho 539:
1.1.1.2 misho 540: /^[\p{Batak}]/8
541: \x{1bc0}
542: \x{1bff}
1.1 misho 543: ** Failers
1.1.1.2 misho 544: \x{1bf4}
1.1 misho 545:
1.1.1.2 misho 546: /^[\p{Brahmi}]/8
547: \x{11000}
548: \x{1106f}
1.1 misho 549: ** Failers
1.1.1.2 misho 550: \x{1104e}
1.1 misho 551:
1.1.1.2 misho 552: /^[\p{Mandaic}]/8
553: \x{840}
554: \x{85e}
1.1 misho 555: ** Failers
1.1.1.2 misho 556: \x{85c}
557: \x{85d}
1.1 misho 558:
1.1.1.2 misho 559: /-- --/
1.1 misho 560:
1.1.1.2 misho 561: /(\X*)(.)/s8
562: A\x{300}
1.1 misho 563:
1.1.1.2 misho 564: /^S(\X*)e(\X*)$/8
565: Stéréo
566:
567: /^\X/8
568: ́réo
1.1 misho 569:
1.1.1.2 misho 570: /^a\X41z/<JS>
571: aX41z
572: *** Failers
573: aAz
1.1 misho 574:
1.1.1.2 misho 575: /(?<=ab\Cde)X/8
1.1 misho 576:
1.1.1.3 misho 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:
1.1.1.4 misho 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
1.1.1.5 ! misho 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
1.1.1.4 misho 831:
1.1 misho 832: /-- End of testinput7 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>