/[pcre2]/code/trunk/testdata/testoutput4
ViewVC logotype

Contents of /code/trunk/testdata/testoutput4

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1091 - (show annotations)
Mon May 13 16:26:17 2019 UTC (21 months, 2 weeks ago) by ph10
File size: 77680 byte(s)
Fix crash when \X is used without UTF in JIT.
1 # This set of tests is for UTF support, including Unicode properties. The
2 # Unicode tests are all compatible with all versions of Perl >= 5.10, but
3 # some of the property tests may differ because of different versions of
4 # Unicode in use by PCRE2 and Perl.
5
6 #newline_default lf anycrlf any
7 #perltest
8
9 /a.b/utf
10 acb
11 0: acb
12 a\x7fb
13 0: a\x{7f}b
14 a\x{100}b
15 0: a\x{100}b
16 \= Expect no match
17 a\nb
18 No match
19
20 /a(.{3})b/utf
21 a\x{4000}xyb
22 0: a\x{4000}xyb
23 1: \x{4000}xy
24 a\x{4000}\x7fyb
25 0: a\x{4000}\x{7f}yb
26 1: \x{4000}\x{7f}y
27 a\x{4000}\x{100}yb
28 0: a\x{4000}\x{100}yb
29 1: \x{4000}\x{100}y
30 \= Expect no match
31 a\x{4000}b
32 No match
33 ac\ncb
34 No match
35
36 /a(.*?)(.)/
37 a\xc0\x88b
38 0: a\xc0
39 1:
40 2: \xc0
41
42 /a(.*?)(.)/utf
43 a\x{100}b
44 0: a\x{100}
45 1:
46 2: \x{100}
47
48 /a(.*)(.)/
49 a\xc0\x88b
50 0: a\xc0\x88b
51 1: \xc0\x88
52 2: b
53
54 /a(.*)(.)/utf
55 a\x{100}b
56 0: a\x{100}b
57 1: \x{100}
58 2: b
59
60 /a(.)(.)/
61 a\xc0\x92bcd
62 0: a\xc0\x92
63 1: \xc0
64 2: \x92
65
66 /a(.)(.)/utf
67 a\x{240}bcd
68 0: a\x{240}b
69 1: \x{240}
70 2: b
71
72 /a(.?)(.)/
73 a\xc0\x92bcd
74 0: a\xc0\x92
75 1: \xc0
76 2: \x92
77
78 /a(.?)(.)/utf
79 a\x{240}bcd
80 0: a\x{240}b
81 1: \x{240}
82 2: b
83
84 /a(.??)(.)/
85 a\xc0\x92bcd
86 0: a\xc0
87 1:
88 2: \xc0
89
90 /a(.??)(.)/utf
91 a\x{240}bcd
92 0: a\x{240}
93 1:
94 2: \x{240}
95
96 /a(.{3})b/utf
97 a\x{1234}xyb
98 0: a\x{1234}xyb
99 1: \x{1234}xy
100 a\x{1234}\x{4321}yb
101 0: a\x{1234}\x{4321}yb
102 1: \x{1234}\x{4321}y
103 a\x{1234}\x{4321}\x{3412}b
104 0: a\x{1234}\x{4321}\x{3412}b
105 1: \x{1234}\x{4321}\x{3412}
106 \= Expect no match
107 a\x{1234}b
108 No match
109 ac\ncb
110 No match
111
112 /a(.{3,})b/utf
113 a\x{1234}xyb
114 0: a\x{1234}xyb
115 1: \x{1234}xy
116 a\x{1234}\x{4321}yb
117 0: a\x{1234}\x{4321}yb
118 1: \x{1234}\x{4321}y
119 a\x{1234}\x{4321}\x{3412}b
120 0: a\x{1234}\x{4321}\x{3412}b
121 1: \x{1234}\x{4321}\x{3412}
122 axxxxbcdefghijb
123 0: axxxxbcdefghijb
124 1: xxxxbcdefghij
125 a\x{1234}\x{4321}\x{3412}\x{3421}b
126 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
127 1: \x{1234}\x{4321}\x{3412}\x{3421}
128 \= Expect no match
129 a\x{1234}b
130 No match
131
132 /a(.{3,}?)b/utf
133 a\x{1234}xyb
134 0: a\x{1234}xyb
135 1: \x{1234}xy
136 a\x{1234}\x{4321}yb
137 0: a\x{1234}\x{4321}yb
138 1: \x{1234}\x{4321}y
139 a\x{1234}\x{4321}\x{3412}b
140 0: a\x{1234}\x{4321}\x{3412}b
141 1: \x{1234}\x{4321}\x{3412}
142 axxxxbcdefghijb
143 0: axxxxb
144 1: xxxx
145 a\x{1234}\x{4321}\x{3412}\x{3421}b
146 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
147 1: \x{1234}\x{4321}\x{3412}\x{3421}
148 \= Expect no match
149 a\x{1234}b
150 No match
151
152 /a(.{3,5})b/utf
153 a\x{1234}xyb
154 0: a\x{1234}xyb
155 1: \x{1234}xy
156 a\x{1234}\x{4321}yb
157 0: a\x{1234}\x{4321}yb
158 1: \x{1234}\x{4321}y
159 a\x{1234}\x{4321}\x{3412}b
160 0: a\x{1234}\x{4321}\x{3412}b
161 1: \x{1234}\x{4321}\x{3412}
162 axxxxbcdefghijb
163 0: axxxxb
164 1: xxxx
165 a\x{1234}\x{4321}\x{3412}\x{3421}b
166 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
167 1: \x{1234}\x{4321}\x{3412}\x{3421}
168 axbxxbcdefghijb
169 0: axbxxb
170 1: xbxx
171 axxxxxbcdefghijb
172 0: axxxxxb
173 1: xxxxx
174 \= Expect no match
175 a\x{1234}b
176 No match
177 axxxxxxbcdefghijb
178 No match
179
180 /a(.{3,5}?)b/utf
181 a\x{1234}xyb
182 0: a\x{1234}xyb
183 1: \x{1234}xy
184 a\x{1234}\x{4321}yb
185 0: a\x{1234}\x{4321}yb
186 1: \x{1234}\x{4321}y
187 a\x{1234}\x{4321}\x{3412}b
188 0: a\x{1234}\x{4321}\x{3412}b
189 1: \x{1234}\x{4321}\x{3412}
190 axxxxbcdefghijb
191 0: axxxxb
192 1: xxxx
193 a\x{1234}\x{4321}\x{3412}\x{3421}b
194 0: a\x{1234}\x{4321}\x{3412}\x{3421}b
195 1: \x{1234}\x{4321}\x{3412}\x{3421}
196 axbxxbcdefghijb
197 0: axbxxb
198 1: xbxx
199 axxxxxbcdefghijb
200 0: axxxxxb
201 1: xxxxx
202 \= Expect no match
203 a\x{1234}b
204 No match
205 axxxxxxbcdefghijb
206 No match
207
208 /^[a\x{c0}]/utf
209 \= Expect no match
210 \x{100}
211 No match
212
213 /(?<=aXb)cd/utf
214 aXbcd
215 0: cd
216
217 /(?<=a\x{100}b)cd/utf
218 a\x{100}bcd
219 0: cd
220
221 /(?<=a\x{100000}b)cd/utf
222 a\x{100000}bcd
223 0: cd
224
225 /(?:\x{100}){3}b/utf
226 \x{100}\x{100}\x{100}b
227 0: \x{100}\x{100}\x{100}b
228 \= Expect no match
229 \x{100}\x{100}b
230 No match
231
232 /\x{ab}/utf
233 \x{ab}
234 0: \x{ab}
235 \xc2\xab
236 0: \x{ab}
237 \= Expect no match
238 \x00{ab}
239 No match
240
241 /(?<=(.))X/utf
242 WXYZ
243 0: X
244 1: W
245 \x{256}XYZ
246 0: X
247 1: \x{256}
248 \= Expect no match
249 XYZ
250 No match
251
252 /[^a]+/g,utf
253 bcd
254 0: bcd
255 \x{100}aY\x{256}Z
256 0: \x{100}
257 0: Y\x{256}Z
258
259 /^[^a]{2}/utf
260 \x{100}bc
261 0: \x{100}b
262
263 /^[^a]{2,}/utf
264 \x{100}bcAa
265 0: \x{100}bcA
266
267 /^[^a]{2,}?/utf
268 \x{100}bca
269 0: \x{100}b
270
271 /[^a]+/gi,utf
272 bcd
273 0: bcd
274 \x{100}aY\x{256}Z
275 0: \x{100}
276 0: Y\x{256}Z
277
278 /^[^a]{2}/i,utf
279 \x{100}bc
280 0: \x{100}b
281
282 /^[^a]{2,}/i,utf
283 \x{100}bcAa
284 0: \x{100}bc
285
286 /^[^a]{2,}?/i,utf
287 \x{100}bca
288 0: \x{100}b
289
290 /\x{100}{0,0}/utf
291 abcd
292 0:
293
294 /\x{100}?/utf
295 abcd
296 0:
297 \x{100}\x{100}
298 0: \x{100}
299
300 /\x{100}{0,3}/utf
301 \x{100}\x{100}
302 0: \x{100}\x{100}
303 \x{100}\x{100}\x{100}\x{100}
304 0: \x{100}\x{100}\x{100}
305
306 /\x{100}*/utf
307 abce
308 0:
309 \x{100}\x{100}\x{100}\x{100}
310 0: \x{100}\x{100}\x{100}\x{100}
311
312 /\x{100}{1,1}/utf
313 abcd\x{100}\x{100}\x{100}\x{100}
314 0: \x{100}
315
316 /\x{100}{1,3}/utf
317 abcd\x{100}\x{100}\x{100}\x{100}
318 0: \x{100}\x{100}\x{100}
319
320 /\x{100}+/utf
321 abcd\x{100}\x{100}\x{100}\x{100}
322 0: \x{100}\x{100}\x{100}\x{100}
323
324 /\x{100}{3}/utf
325 abcd\x{100}\x{100}\x{100}XX
326 0: \x{100}\x{100}\x{100}
327
328 /\x{100}{3,5}/utf
329 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
330 0: \x{100}\x{100}\x{100}\x{100}\x{100}
331
332 /\x{100}{3,}/utf
333 abcd\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}XX
334 0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
335
336 /(?<=a\x{100}{2}b)X/utf,aftertext
337 Xyyya\x{100}\x{100}bXzzz
338 0: X
339 0+ zzz
340
341 /\D*/utf
342 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
343 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
344
345 /\D*/utf
346 \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
347 0: \x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}\x{100}
348
349 /\D/utf
350 1X2
351 0: X
352 1\x{100}2
353 0: \x{100}
354
355 />\S/utf
356 > >X Y
357 0: >X
358 > >\x{100} Y
359 0: >\x{100}
360
361 /\d/utf
362 \x{100}3
363 0: 3
364
365 /\s/utf
366 \x{100} X
367 0:
368
369 /\D+/utf
370 12abcd34
371 0: abcd
372 \= Expect no match
373 1234
374 No match
375
376 /\D{2,3}/utf
377 12abcd34
378 0: abc
379 12ab34
380 0: ab
381 \= Expect no match
382 1234
383 No match
384 12a34
385 No match
386
387 /\D{2,3}?/utf
388 12abcd34
389 0: ab
390 12ab34
391 0: ab
392 \= Expect no match
393 1234
394 No match
395 12a34
396 No match
397
398 /\d+/utf
399 12abcd34
400 0: 12
401
402 /\d{2,3}/utf
403 12abcd34
404 0: 12
405 1234abcd
406 0: 123
407 \= Expect no match
408 1.4
409 No match
410
411 /\d{2,3}?/utf
412 12abcd34
413 0: 12
414 1234abcd
415 0: 12
416 \= Expect no match
417 1.4
418 No match
419
420 /\S+/utf
421 12abcd34
422 0: 12abcd34
423 \= Expect no match
424 \ \
425 No match
426
427 /\S{2,3}/utf
428 12abcd34
429 0: 12a
430 1234abcd
431 0: 123
432 \= Expect no match
433 \ \
434 No match
435
436 /\S{2,3}?/utf
437 12abcd34
438 0: 12
439 1234abcd
440 0: 12
441 \= Expect no match
442 \ \
443 No match
444
445 />\s+</utf,aftertext
446 12> <34
447 0: > <
448 0+ 34
449
450 />\s{2,3}</utf,aftertext
451 ab> <cd
452 0: > <
453 0+ cd
454 ab> <ce
455 0: > <
456 0+ ce
457 \= Expect no match
458 ab> <cd
459 No match
460
461 />\s{2,3}?</utf,aftertext
462 ab> <cd
463 0: > <
464 0+ cd
465 ab> <ce
466 0: > <
467 0+ ce
468 \= Expect no match
469 ab> <cd
470 No match
471
472 /\w+/utf
473 12 34
474 0: 12
475 \= Expect no match
476 +++=*!
477 No match
478
479 /\w{2,3}/utf
480 ab cd
481 0: ab
482 abcd ce
483 0: abc
484 \= Expect no match
485 a.b.c
486 No match
487
488 /\w{2,3}?/utf
489 ab cd
490 0: ab
491 abcd ce
492 0: ab
493 \= Expect no match
494 a.b.c
495 No match
496
497 /\W+/utf
498 12====34
499 0: ====
500 \= Expect no match
501 abcd
502 No match
503
504 /\W{2,3}/utf
505 ab====cd
506 0: ===
507 ab==cd
508 0: ==
509 \= Expect no match
510 a.b.c
511 No match
512
513 /\W{2,3}?/utf
514 ab====cd
515 0: ==
516 ab==cd
517 0: ==
518 \= Expect no match
519 a.b.c
520 No match
521
522 /[\x{100}]/utf
523 \x{100}
524 0: \x{100}
525 Z\x{100}
526 0: \x{100}
527 \x{100}Z
528 0: \x{100}
529
530 /[Z\x{100}]/utf
531 Z\x{100}
532 0: Z
533 \x{100}
534 0: \x{100}
535 \x{100}Z
536 0: \x{100}
537
538 /[\x{100}\x{200}]/utf
539 ab\x{100}cd
540 0: \x{100}
541 ab\x{200}cd
542 0: \x{200}
543
544 /[\x{100}-\x{200}]/utf
545 ab\x{100}cd
546 0: \x{100}
547 ab\x{200}cd
548 0: \x{200}
549 ab\x{111}cd
550 0: \x{111}
551
552 /[z-\x{200}]/utf
553 ab\x{100}cd
554 0: \x{100}
555 ab\x{200}cd
556 0: \x{200}
557 ab\x{111}cd
558 0: \x{111}
559 abzcd
560 0: z
561 ab|cd
562 0: |
563
564 /[Q\x{100}\x{200}]/utf
565 ab\x{100}cd
566 0: \x{100}
567 ab\x{200}cd
568 0: \x{200}
569 Q?
570 0: Q
571
572 /[Q\x{100}-\x{200}]/utf
573 ab\x{100}cd
574 0: \x{100}
575 ab\x{200}cd
576 0: \x{200}
577 ab\x{111}cd
578 0: \x{111}
579 Q?
580 0: Q
581
582 /[Qz-\x{200}]/utf
583 ab\x{100}cd
584 0: \x{100}
585 ab\x{200}cd
586 0: \x{200}
587 ab\x{111}cd
588 0: \x{111}
589 abzcd
590 0: z
591 ab|cd
592 0: |
593 Q?
594 0: Q
595
596 /[\x{100}\x{200}]{1,3}/utf
597 ab\x{100}cd
598 0: \x{100}
599 ab\x{200}cd
600 0: \x{200}
601 ab\x{200}\x{100}\x{200}\x{100}cd
602 0: \x{200}\x{100}\x{200}
603
604 /[\x{100}\x{200}]{1,3}?/utf
605 ab\x{100}cd
606 0: \x{100}
607 ab\x{200}cd
608 0: \x{200}
609 ab\x{200}\x{100}\x{200}\x{100}cd
610 0: \x{200}
611
612 /[Q\x{100}\x{200}]{1,3}/utf
613 ab\x{100}cd
614 0: \x{100}
615 ab\x{200}cd
616 0: \x{200}
617 ab\x{200}\x{100}\x{200}\x{100}cd
618 0: \x{200}\x{100}\x{200}
619
620 /[Q\x{100}\x{200}]{1,3}?/utf
621 ab\x{100}cd
622 0: \x{100}
623 ab\x{200}cd
624 0: \x{200}
625 ab\x{200}\x{100}\x{200}\x{100}cd
626 0: \x{200}
627
628 /(?<=[\x{100}\x{200}])X/utf
629 abc\x{200}X
630 0: X
631 abc\x{100}X
632 0: X
633 \= Expect no match
634 X
635 No match
636
637 /(?<=[Q\x{100}\x{200}])X/utf
638 abc\x{200}X
639 0: X
640 abc\x{100}X
641 0: X
642 abQX
643 0: X
644 \= Expect no match
645 X
646 No match
647
648 /(?<=[\x{100}\x{200}]{3})X/utf
649 abc\x{100}\x{200}\x{100}X
650 0: X
651 \= Expect no match
652 abc\x{200}X
653 No match
654 X
655 No match
656
657 /[^\x{100}\x{200}]X/utf
658 AX
659 0: AX
660 \x{150}X
661 0: \x{150}X
662 \x{500}X
663 0: \x{500}X
664 \= Expect no match
665 \x{100}X
666 No match
667 \x{200}X
668 No match
669
670 /[^Q\x{100}\x{200}]X/utf
671 AX
672 0: AX
673 \x{150}X
674 0: \x{150}X
675 \x{500}X
676 0: \x{500}X
677 \= Expect no match
678 \x{100}X
679 No match
680 \x{200}X
681 No match
682 QX
683 No match
684
685 /[^\x{100}-\x{200}]X/utf
686 AX
687 0: AX
688 \x{500}X
689 0: \x{500}X
690 \= Expect no match
691 \x{100}X
692 No match
693 \x{150}X
694 No match
695 \x{200}X
696 No match
697
698 /[z-\x{100}]/i,utf
699 z
700 0: z
701 Z
702 0: Z
703 \x{100}
704 0: \x{100}
705 \= Expect no match
706 \x{102}
707 No match
708 y
709 No match
710
711 /[\xFF]/
712 >\xff<
713 0: \xff
714
715 /[\xff]/utf
716 >\x{ff}<
717 0: \x{ff}
718
719 /[^\xFF]/
720 XYZ
721 0: X
722
723 /[^\xff]/utf
724 XYZ
725 0: X
726 \x{123}
727 0: \x{123}
728
729 /^[ac]*b/utf
730 \= Expect no match
731 xb
732 No match
733
734 /^[ac\x{100}]*b/utf
735 \= Expect no match
736 xb
737 No match
738
739 /^[^x]*b/i,utf
740 \= Expect no match
741 xb
742 No match
743
744 /^[^x]*b/utf
745 \= Expect no match
746 xb
747 No match
748
749 /^\d*b/utf
750 \= Expect no match
751 xb
752 No match
753
754 /(|a)/g,utf
755 catac
756 0:
757 1:
758 0:
759 1:
760 0: a
761 1: a
762 0:
763 1:
764 0:
765 1:
766 0: a
767 1: a
768 0:
769 1:
770 0:
771 1:
772 a\x{256}a
773 0:
774 1:
775 0: a
776 1: a
777 0:
778 1:
779 0:
780 1:
781 0: a
782 1: a
783 0:
784 1:
785
786 /^\x{85}$/i,utf
787 \x{85}
788 0: \x{85}
789
790 /^ሴ/utf
791
792 0: \x{1234}
793
794 /^\ሴ/utf
795
796 0: \x{1234}
797
798 "(?s)(.{1,5})"utf
799 abcdefg
800 0: abcde
801 1: abcde
802 ab
803 0: ab
804 1: ab
805
806 /a*\x{100}*\w/utf
807 a
808 0: a
809
810 /\S\S/g,utf
811 A\x{a3}BC
812 0: A\x{a3}
813 0: BC
814
815 /\S{2}/g,utf
816 A\x{a3}BC
817 0: A\x{a3}
818 0: BC
819
820 /\W\W/g,utf
821 +\x{a3}==
822 0: +\x{a3}
823 0: ==
824
825 /\W{2}/g,utf
826 +\x{a3}==
827 0: +\x{a3}
828 0: ==
829
830 /\S/g,utf
831 \x{442}\x{435}\x{441}\x{442}
832 0: \x{442}
833 0: \x{435}
834 0: \x{441}
835 0: \x{442}
836
837 /[\S]/g,utf
838 \x{442}\x{435}\x{441}\x{442}
839 0: \x{442}
840 0: \x{435}
841 0: \x{441}
842 0: \x{442}
843
844 /\D/g,utf
845 \x{442}\x{435}\x{441}\x{442}
846 0: \x{442}
847 0: \x{435}
848 0: \x{441}
849 0: \x{442}
850
851 /[\D]/g,utf
852 \x{442}\x{435}\x{441}\x{442}
853 0: \x{442}
854 0: \x{435}
855 0: \x{441}
856 0: \x{442}
857
858 /\W/g,utf
859 \x{2442}\x{2435}\x{2441}\x{2442}
860 0: \x{2442}
861 0: \x{2435}
862 0: \x{2441}
863 0: \x{2442}
864
865 /[\W]/g,utf
866 \x{2442}\x{2435}\x{2441}\x{2442}
867 0: \x{2442}
868 0: \x{2435}
869 0: \x{2441}
870 0: \x{2442}
871
872 /[\S\s]*/utf
873 abc\n\r\x{442}\x{435}\x{441}\x{442}xyz
874 0: abc\x{0a}\x{0d}\x{442}\x{435}\x{441}\x{442}xyz
875
876 /[\x{41f}\S]/g,utf
877 \x{442}\x{435}\x{441}\x{442}
878 0: \x{442}
879 0: \x{435}
880 0: \x{441}
881 0: \x{442}
882
883 /.[^\S]./g,utf
884 abc def\x{442}\x{443}xyz\npqr
885 0: c d
886 0: z\x{0a}p
887
888 /.[^\S\n]./g,utf
889 abc def\x{442}\x{443}xyz\npqr
890 0: c d
891
892 /[[:^alnum:]]/g,utf
893 +\x{2442}
894 0: +
895 0: \x{2442}
896
897 /[[:^alpha:]]/g,utf
898 +\x{2442}
899 0: +
900 0: \x{2442}
901
902 /[[:^ascii:]]/g,utf
903 A\x{442}
904 0: \x{442}
905
906 /[[:^blank:]]/g,utf
907 A\x{442}
908 0: A
909 0: \x{442}
910
911 /[[:^cntrl:]]/g,utf
912 A\x{442}
913 0: A
914 0: \x{442}
915
916 /[[:^digit:]]/g,utf
917 A\x{442}
918 0: A
919 0: \x{442}
920
921 /[[:^graph:]]/g,utf
922 \x19\x{e01ff}
923 0: \x{19}
924 0: \x{e01ff}
925
926 /[[:^lower:]]/g,utf
927 A\x{422}
928 0: A
929 0: \x{422}
930
931 /[[:^print:]]/g,utf
932 \x{19}\x{e01ff}
933 0: \x{19}
934 0: \x{e01ff}
935
936 /[[:^punct:]]/g,utf
937 A\x{442}
938 0: A
939 0: \x{442}
940
941 /[[:^space:]]/g,utf
942 A\x{442}
943 0: A
944 0: \x{442}
945
946 /[[:^upper:]]/g,utf
947 a\x{442}
948 0: a
949 0: \x{442}
950
951 /[[:^word:]]/g,utf
952 +\x{2442}
953 0: +
954 0: \x{2442}
955
956 /[[:^xdigit:]]/g,utf
957 M\x{442}
958 0: M
959 0: \x{442}
960
961 /[^ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸŹŻŽƁƂƄƆƇƉƊƋƎƏƐƑƓƔƖƗƘƜƝƟƠƢƤƦƧƩƬƮƯƱƲƳƵƷƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶǷǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺȻȽȾɁΆΈΉΊΌΎΏΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϒϓϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹϺϽϾϿЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸԀԂԄԆԈԊԌԎԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸἈἉἊἋἌἍἎἏἘἙἚἛἜἝἨἩἪἫἬἭἮἯἸἹἺἻἼἽἾἿὈὉὊὋὌὍὙὛὝὟὨὩὪὫὬὭὮὯᾸᾹᾺΆῈΈῊΉῘῙῚΊῨῩῪΎῬῸΌῺΏabcdefghijklmnopqrstuvwxyzªµºßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıijĵķĸĺļľŀłńņňʼnŋōŏőœŕŗřśŝşšţťŧũūŭůűųŵŷźżžſƀƃƅƈƌƍƒƕƙƚƛƞơƣƥƨƪƫƭưƴƶƹƺƽƾƿdžljnjǎǐǒǔǖǘǚǜǝǟǡǣǥǧǩǫǭǯǰdzǵǹǻǽǿȁȃȅȇȉȋȍȏȑȓȕȗșțȝȟȡȣȥȧȩȫȭȯȱȳȴȵȶȷȸȹȼȿɀɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨʩʪʫʬʭʮʯΐάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϐϑϕϖϗϙϛϝϟϡϣϥϧϩϫϭϯϰϱϲϳϵϸϻϼабвгдежзийклмнопрстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџѡѣѥѧѩѫѭѯѱѳѵѷѹѻѽѿҁҋҍҏґғҕҗҙқҝҟҡңҥҧҩҫҭүұҳҵҷҹһҽҿӂӄӆӈӊӌӎӑӓӕӗәӛӝӟӡӣӥӧөӫӭӯӱӳӵӷӹԁԃԅԇԉԋԍԏաբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆևᴀᴁᴂᴃᴄᴅᴆᴇᴈᴉᴊᴋᴌᴍᴎᴏᴐᴑᴒᴓᴔᴕᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟᴠᴡᴢᴣᴤᴥᴦᴧᴨᴩᴪᴫᵢᵣᵤᵥᵦᵧᵨᵩᵪᵫᵬᵭᵮᵯᵰᵱᵲᵳᵴᵵᵶᵷᵹᵺᵻᵼᵽᵾᵿᶀᶁᶂᶃᶄᶅᶆᶇᶈᶉᶊᶋᶌᶍᶎᶏᶐᶑᶒᶓᶔᶕᶖᶗᶘᶙᶚḁḃḅḇḉḋḍḏḑḓḕḗḙḛḝḟḡḣḥḧḩḫḭḯḱḳḵḷḹḻḽḿṁṃṅṇṉṋṍṏṑṓṕṗṙṛṝṟṡṣṥṧṩṫṭṯṱṳṵṷṹṻṽṿẁẃẅẇẉẋẍẏẑẓẕẖẗẘẙẚẛạảấầẩẫậắằẳẵặẹẻẽếềểễệỉịọỏốồổỗộớờởỡợụủứừửữựỳỵỷỹἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰάὲέὴήὶίὸόὺύὼώᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾰᾱᾲᾳᾴᾶᾷιῂῃῄῆῇῐῑῒΐῖῗῠῡῢΰῤῥῦῧῲῳῴῶῷⲁⲃⲅⲇⲉⲋⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⲳⲵⲷⲹⲻⲽⲿⳁⳃⳅⳇⳉⳋⳍⳏⳑⳓⳕⳗⳙⳛⳝⳟⳡⳣⳤⴀⴁⴂⴃⴄⴅⴆⴇⴈⴉⴊⴋⴌⴍⴎⴏⴐⴑⴒⴓⴔⴕⴖⴗⴘⴙⴚⴛⴜⴝⴞⴟⴠⴡⴢⴣⴤⴥfffiflffifflſtstﬓﬔﬕﬖﬗ\d_^]/utf
962
963 /^[^d]*?$/
964 abc
965 0: abc
966
967 /^[^d]*?$/utf
968 abc
969 0: abc
970
971 /^[^d]*?$/i
972 abc
973 0: abc
974
975 /^[^d]*?$/i,utf
976 abc
977 0: abc
978
979 /(?i)[\xc3\xa9\xc3\xbd]|[\xc3\xa9\xc3\xbdA]/utf
980
981 /^[a\x{c0}]b/utf
982 \x{c0}b
983 0: \x{c0}b
984
985 /^([a\x{c0}]*?)aa/utf
986 a\x{c0}aaaa/
987 0: a\x{c0}aa
988 1: a\x{c0}
989
990 /^([a\x{c0}]*?)aa/utf
991 a\x{c0}aaaa/
992 0: a\x{c0}aa
993 1: a\x{c0}
994 a\x{c0}a\x{c0}aaa/
995 0: a\x{c0}a\x{c0}aa
996 1: a\x{c0}a\x{c0}
997
998 /^([a\x{c0}]*)aa/utf
999 a\x{c0}aaaa/
1000 0: a\x{c0}aaaa
1001 1: a\x{c0}aa
1002 a\x{c0}a\x{c0}aaa/
1003 0: a\x{c0}a\x{c0}aaa
1004 1: a\x{c0}a\x{c0}a
1005
1006 /^([a\x{c0}]*)a\x{c0}/utf
1007 a\x{c0}aaaa/
1008 0: a\x{c0}
1009 1:
1010 a\x{c0}a\x{c0}aaa/
1011 0: a\x{c0}a\x{c0}
1012 1: a\x{c0}
1013
1014 /A*/g,utf
1015 AAB\x{123}BAA
1016 0: AA
1017 0:
1018 0:
1019 0:
1020 0: AA
1021 0:
1022
1023 /(abc)\1/i,utf
1024 \= Expect no match
1025 abc
1026 No match
1027
1028 /(abc)\1/utf
1029 \= Expect no match
1030 abc
1031 No match
1032
1033 /a(*:a\x{1234}b)/utf,mark
1034 abc
1035 0: a
1036 MK: a\x{1234}b
1037
1038 /a(*:a£b)/utf,mark
1039 abc
1040 0: a
1041 MK: a\x{a3}b
1042
1043 # Noncharacters
1044
1045 /./utf
1046 \x{fffe}
1047 0: \x{fffe}
1048 \x{ffff}
1049 0: \x{ffff}
1050 \x{1fffe}
1051 0: \x{1fffe}
1052 \x{1ffff}
1053 0: \x{1ffff}
1054 \x{2fffe}
1055 0: \x{2fffe}
1056 \x{2ffff}
1057 0: \x{2ffff}
1058 \x{3fffe}
1059 0: \x{3fffe}
1060 \x{3ffff}
1061 0: \x{3ffff}
1062 \x{4fffe}
1063 0: \x{4fffe}
1064 \x{4ffff}
1065 0: \x{4ffff}
1066 \x{5fffe}
1067 0: \x{5fffe}
1068 \x{5ffff}
1069 0: \x{5ffff}
1070 \x{6fffe}
1071 0: \x{6fffe}
1072 \x{6ffff}
1073 0: \x{6ffff}
1074 \x{7fffe}
1075 0: \x{7fffe}
1076 \x{7ffff}
1077 0: \x{7ffff}
1078 \x{8fffe}
1079 0: \x{8fffe}
1080 \x{8ffff}
1081 0: \x{8ffff}
1082 \x{9fffe}
1083 0: \x{9fffe}
1084 \x{9ffff}
1085 0: \x{9ffff}
1086 \x{afffe}
1087 0: \x{afffe}
1088 \x{affff}
1089 0: \x{affff}
1090 \x{bfffe}
1091 0: \x{bfffe}
1092 \x{bffff}
1093 0: \x{bffff}
1094 \x{cfffe}
1095 0: \x{cfffe}
1096 \x{cffff}
1097 0: \x{cffff}
1098 \x{dfffe}
1099 0: \x{dfffe}
1100 \x{dffff}
1101 0: \x{dffff}
1102 \x{efffe}
1103 0: \x{efffe}
1104 \x{effff}
1105 0: \x{effff}
1106 \x{ffffe}
1107 0: \x{ffffe}
1108 \x{fffff}
1109 0: \x{fffff}
1110 \x{10fffe}
1111 0: \x{10fffe}
1112 \x{10ffff}
1113 0: \x{10ffff}
1114 \x{fdd0}
1115 0: \x{fdd0}
1116 \x{fdd1}
1117 0: \x{fdd1}
1118 \x{fdd2}
1119 0: \x{fdd2}
1120 \x{fdd3}
1121 0: \x{fdd3}
1122 \x{fdd4}
1123 0: \x{fdd4}
1124 \x{fdd5}
1125 0: \x{fdd5}
1126 \x{fdd6}
1127 0: \x{fdd6}
1128 \x{fdd7}
1129 0: \x{fdd7}
1130 \x{fdd8}
1131 0: \x{fdd8}
1132 \x{fdd9}
1133 0: \x{fdd9}
1134 \x{fdda}
1135 0: \x{fdda}
1136 \x{fddb}
1137 0: \x{fddb}
1138 \x{fddc}
1139 0: \x{fddc}
1140 \x{fddd}
1141 0: \x{fddd}
1142 \x{fdde}
1143 0: \x{fdde}
1144 \x{fddf}
1145 0: \x{fddf}
1146 \x{fde0}
1147 0: \x{fde0}
1148 \x{fde1}
1149 0: \x{fde1}
1150 \x{fde2}
1151 0: \x{fde2}
1152 \x{fde3}
1153 0: \x{fde3}
1154 \x{fde4}
1155 0: \x{fde4}
1156 \x{fde5}
1157 0: \x{fde5}
1158 \x{fde6}
1159 0: \x{fde6}
1160 \x{fde7}
1161 0: \x{fde7}
1162 \x{fde8}
1163 0: \x{fde8}
1164 \x{fde9}
1165 0: \x{fde9}
1166 \x{fdea}
1167 0: \x{fdea}
1168 \x{fdeb}
1169 0: \x{fdeb}
1170 \x{fdec}
1171 0: \x{fdec}
1172 \x{fded}
1173 0: \x{fded}
1174 \x{fdee}
1175 0: \x{fdee}
1176 \x{fdef}
1177 0: \x{fdef}
1178
1179 /^\d*\w{4}/utf
1180 1234
1181 0: 1234
1182 \= Expect no match
1183 123
1184 No match
1185
1186 /^[^b]*\w{4}/utf
1187 aaaa
1188 0: aaaa
1189 \= Expect no match
1190 aaa
1191 No match
1192
1193 /^[^b]*\w{4}/i,utf
1194 aaaa
1195 0: aaaa
1196 \= Expect no match
1197 aaa
1198 No match
1199
1200 /^\x{100}*.{4}/utf
1201 \x{100}\x{100}\x{100}\x{100}
1202 0: \x{100}\x{100}\x{100}\x{100}
1203 \= Expect no match
1204 \x{100}\x{100}\x{100}
1205 No match
1206
1207 /^\x{100}*.{4}/i,utf
1208 \x{100}\x{100}\x{100}\x{100}
1209 0: \x{100}\x{100}\x{100}\x{100}
1210 \= Expect no match
1211 \x{100}\x{100}\x{100}
1212 No match
1213
1214 /^a+[a\x{200}]/utf
1215 aa
1216 0: aa
1217
1218 /^.\B.\B./utf
1219 \x{10123}\x{10124}\x{10125}
1220 0: \x{10123}\x{10124}\x{10125}
1221
1222 /^#[^\x{ffff}]#[^\x{ffff}]#[^\x{ffff}]#/utf
1223 #\x{10000}#\x{100}#\x{10ffff}#
1224 0: #\x{10000}#\x{100}#\x{10ffff}#
1225
1226 # Unicode property support tests
1227
1228 /^\pC\pL\pM\pN\pP\pS\pZ</utf
1229 \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
1230 0: \x{7f}\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
1231 \np\x{300}9!\$ <
1232 0: \x{0a}p\x{300}9!$ <
1233 \= Expect no match
1234 ap\x{300}9!\$ <
1235 No match
1236
1237 /^\PC/utf
1238 X
1239 0: X
1240 \= Expect no match
1241 \x7f
1242 No match
1243
1244 /^\PL/utf
1245 9
1246 0: 9
1247 \= Expect no match
1248 \x{c0}
1249 No match
1250
1251 /^\PM/utf
1252 X
1253 0: X
1254 \= Expect no match
1255 \x{30f}
1256 No match
1257
1258 /^\PN/utf
1259 X
1260 0: X
1261 \= Expect no match
1262 \x{660}
1263 No match
1264
1265 /^\PP/utf
1266 X
1267 0: X
1268 \= Expect no match
1269 \x{66c}
1270 No match
1271
1272 /^\PS/utf
1273 X
1274 0: X
1275 \= Expect no match
1276 \x{f01}
1277 No match
1278
1279 /^\PZ/utf
1280 X
1281 0: X
1282 \= Expect no match
1283 \x{1680}
1284 No match
1285
1286 /^\p{Cc}/utf
1287 \x{017}
1288 0: \x{17}
1289 \x{09f}
1290 0: \x{9f}
1291 \= Expect no match
1292 \x{0600}
1293 No match
1294
1295 /^\p{Cf}/utf
1296 \x{601}
1297 0: \x{601}
1298 \= Expect no match
1299 \x{09f}
1300 No match
1301
1302 /^\p{Cn}/utf
1303 \x{e0000}
1304 0: \x{e0000}
1305 \= Expect no match
1306 \x{09f}
1307 No match
1308
1309 /^\p{Co}/utf
1310 \x{f8ff}
1311 0: \x{f8ff}
1312 \= Expect no match
1313 \x{09f}
1314 No match
1315
1316 /^\p{Ll}/utf
1317 a
1318 0: a
1319 \= Expect no match
1320 Z
1321 No match
1322 \x{e000}
1323 No match
1324
1325 /^\p{Lm}/utf
1326 \x{2b0}
1327 0: \x{2b0}
1328 \= Expect no match
1329 a
1330 No match
1331
1332 /^\p{Lo}/utf
1333 \x{1bb}
1334 0: \x{1bb}
1335 \x{3400}
1336 0: \x{3400}
1337 \x{3401}
1338 0: \x{3401}
1339 \x{4d00}
1340 0: \x{4d00}
1341 \x{4db4}
1342 0: \x{4db4}
1343 \x{4db5}
1344 0: \x{4db5}
1345 \= Expect no match
1346 a
1347 No match
1348 \x{2b0}
1349 No match
1350 \x{4db6}
1351 No match
1352
1353 /^\p{Lt}/utf
1354 \x{1c5}
1355 0: \x{1c5}
1356 \= Expect no match
1357 a
1358 No match
1359 \x{2b0}
1360 No match
1361
1362 /^\p{Lu}/utf
1363 A
1364 0: A
1365 \= Expect no match
1366 \x{2b0}
1367 No match
1368
1369 /^\p{Mc}/utf
1370 \x{903}
1371 0: \x{903}
1372 \= Expect no match
1373 X
1374 No match
1375 \x{300}
1376 No match
1377
1378 /^\p{Me}/utf
1379 \x{488}
1380 0: \x{488}
1381 \= Expect no match
1382 X
1383 No match
1384 \x{903}
1385 No match
1386 \x{300}
1387 No match
1388
1389 /^\p{Mn}/utf
1390 \x{300}
1391 0: \x{300}
1392 \= Expect no match
1393 X
1394 No match
1395 \x{903}
1396 No match
1397
1398 /^\p{Nd}+/utf
1399 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
1400 0: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}
1401 \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
1402 0: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}
1403 \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
1404 0: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}
1405 \= Expect no match
1406 X
1407 No match
1408
1409 /^\p{Nl}/utf
1410 \x{16ee}
1411 0: \x{16ee}
1412 \= Expect no match
1413 X
1414 No match
1415 \x{966}
1416 No match
1417
1418 /^\p{No}/utf
1419 \x{b2}
1420 0: \x{b2}
1421 \x{b3}
1422 0: \x{b3}
1423 \= Expect no match
1424 X
1425 No match
1426 \x{16ee}
1427 No match
1428
1429 /^\p{Pc}/utf
1430 \x5f
1431 0: _
1432 \x{203f}
1433 0: \x{203f}
1434 \= Expect no match
1435 X
1436 No match
1437 -
1438 No match
1439 \x{58a}
1440 No match
1441
1442 /^\p{Pd}/utf
1443 -
1444 0: -
1445 \x{58a}
1446 0: \x{58a}
1447 \= Expect no match
1448 X
1449 No match
1450 \x{203f}
1451 No match
1452
1453 /^\p{Pe}/utf
1454 )
1455 0: )
1456 ]
1457 0: ]
1458 }
1459 0: }
1460 \x{f3b}
1461 0: \x{f3b}
1462 \= Expect no match
1463 X
1464 No match
1465 \x{203f}
1466 No match
1467 (
1468 No match
1469 [
1470 No match
1471 {
1472 No match
1473 \x{f3c}
1474 No match
1475
1476 /^\p{Pf}/utf
1477 \x{bb}
1478 0: \x{bb}
1479 \x{2019}
1480 0: \x{2019}
1481 \= Expect no match
1482 X
1483 No match
1484 \x{203f}
1485 No match
1486
1487 /^\p{Pi}/utf
1488 \x{ab}
1489 0: \x{ab}
1490 \x{2018}
1491 0: \x{2018}
1492 \= Expect no match
1493 X
1494 No match
1495 \x{203f}
1496 No match
1497
1498 /^\p{Po}/utf
1499 !
1500 0: !
1501 \x{37e}
1502 0: \x{37e}
1503 \= Expect no match
1504 X
1505 No match
1506 \x{203f}
1507 No match
1508
1509 /^\p{Ps}/utf
1510 (
1511 0: (
1512 [
1513 0: [
1514 {
1515 0: {
1516 \x{f3c}
1517 0: \x{f3c}
1518 \= Expect no match
1519 X
1520 No match
1521 )
1522 No match
1523 ]
1524 No match
1525 }
1526 No match
1527 \x{f3b}
1528 No match
1529
1530 /^\p{Sk}/utf
1531 \x{2c2}
1532 0: \x{2c2}
1533 \= Expect no match
1534 X
1535 No match
1536 \x{9f2}
1537 No match
1538
1539 /^\p{Sm}+/utf
1540 +<|~\x{ac}\x{2044}
1541 0: +<|~\x{ac}\x{2044}
1542 \= Expect no match
1543 X
1544 No match
1545 \x{9f2}
1546 No match
1547
1548 /^\p{So}/utf
1549 \x{a6}
1550 0: \x{a6}
1551 \x{482}
1552 0: \x{482}
1553 \= Expect no match
1554 X
1555 No match
1556 \x{9f2}
1557 No match
1558
1559 /^\p{Zl}/utf
1560 \x{2028}
1561 0: \x{2028}
1562 \= Expect no match
1563 X
1564 No match
1565 \x{2029}
1566 No match
1567
1568 /^\p{Zp}/utf
1569 \x{2029}
1570 0: \x{2029}
1571 \= Expect no match
1572 X
1573 No match
1574 \x{2028}
1575 No match
1576
1577 /\p{Nd}+(..)/utf
1578 \x{660}\x{661}\x{662}ABC
1579 0: \x{660}\x{661}\x{662}AB
1580 1: AB
1581
1582 /\p{Nd}+?(..)/utf
1583 \x{660}\x{661}\x{662}ABC
1584 0: \x{660}\x{661}\x{662}
1585 1: \x{661}\x{662}
1586
1587 /\p{Nd}{2,}(..)/utf
1588 \x{660}\x{661}\x{662}ABC
1589 0: \x{660}\x{661}\x{662}AB
1590 1: AB
1591
1592 /\p{Nd}{2,}?(..)/utf
1593 \x{660}\x{661}\x{662}ABC
1594 0: \x{660}\x{661}\x{662}A
1595 1: \x{662}A
1596
1597 /\p{Nd}*(..)/utf
1598 \x{660}\x{661}\x{662}ABC
1599 0: \x{660}\x{661}\x{662}AB
1600 1: AB
1601
1602 /\p{Nd}*?(..)/utf
1603 \x{660}\x{661}\x{662}ABC
1604 0: \x{660}\x{661}
1605 1: \x{660}\x{661}
1606
1607 /\p{Nd}{2}(..)/utf
1608 \x{660}\x{661}\x{662}ABC
1609 0: \x{660}\x{661}\x{662}A
1610 1: \x{662}A
1611
1612 /\p{Nd}{2,3}(..)/utf
1613 \x{660}\x{661}\x{662}ABC
1614 0: \x{660}\x{661}\x{662}AB
1615 1: AB
1616
1617 /\p{Nd}{2,3}?(..)/utf
1618 \x{660}\x{661}\x{662}ABC
1619 0: \x{660}\x{661}\x{662}A
1620 1: \x{662}A
1621
1622 /\p{Nd}?(..)/utf
1623 \x{660}\x{661}\x{662}ABC
1624 0: \x{660}\x{661}\x{662}
1625 1: \x{661}\x{662}
1626
1627 /\p{Nd}??(..)/utf
1628 \x{660}\x{661}\x{662}ABC
1629 0: \x{660}\x{661}
1630 1: \x{660}\x{661}
1631
1632 /\p{Nd}*+(..)/utf
1633 \x{660}\x{661}\x{662}ABC
1634 0: \x{660}\x{661}\x{662}AB
1635 1: AB
1636
1637 /\p{Nd}*+(...)/utf
1638 \x{660}\x{661}\x{662}ABC
1639 0: \x{660}\x{661}\x{662}ABC
1640 1: ABC
1641
1642 /\p{Nd}*+(....)/utf
1643 \= Expect no match
1644 \x{660}\x{661}\x{662}ABC
1645 No match
1646
1647 /(?<=A\p{Nd})XYZ/utf
1648 A2XYZ
1649 0: XYZ
1650 123A5XYZPQR
1651 0: XYZ
1652 ABA\x{660}XYZpqr
1653 0: XYZ
1654 \= Expect no match
1655 AXYZ
1656 No match
1657 XYZ
1658 No match
1659
1660 /(?<!\pL)XYZ/utf
1661 1XYZ
1662 0: XYZ
1663 AB=XYZ..
1664 0: XYZ
1665 XYZ
1666 0: XYZ
1667 \= Expect no match
1668 WXYZ
1669 No match
1670
1671 /[\P{Nd}]+/utf
1672 abcd
1673 0: abcd
1674 \= Expect no match
1675 1234
1676 No match
1677
1678 /\D+/utf
1679 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1680 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1681 \= Expect no match
1682 11111111111111111111111111111111111111111111111111111111111111111111111
1683 No match
1684
1685 /\P{Nd}+/utf
1686 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1687 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1688 \= Expect no match
1689 11111111111111111111111111111111111111111111111111111111111111111111111
1690 No match
1691
1692 /[\D]+/utf
1693 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1694 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1695 \= Expect no match
1696 11111111111111111111111111111111111111111111111111111111111111111111111
1697 No match
1698
1699 /[\P{Nd}]+/utf
1700 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1701 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1702 \= Expect no match
1703 11111111111111111111111111111111111111111111111111111111111111111111111
1704 No match
1705
1706 /[\D\P{Nd}]+/utf
1707 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1708 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1709 \= Expect no match
1710 11111111111111111111111111111111111111111111111111111111111111111111111
1711 No match
1712
1713 /\pL/utf
1714 a
1715 0: a
1716 A
1717 0: A
1718
1719 /\pL/i,utf
1720 a
1721 0: a
1722 A
1723 0: A
1724
1725 /\p{Lu}/utf
1726 A
1727 0: A
1728 aZ
1729 0: Z
1730 \= Expect no match
1731 abc
1732 No match
1733
1734 /\p{Ll}/utf
1735 a
1736 0: a
1737 Az
1738 0: z
1739 \= Expect no match
1740 ABC
1741 No match
1742
1743 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
1744 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
1745 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
1746 \= Expect no match
1747 a\x{391}\x{10427}\x{ff3a}\x{1fb0}
1748 No match
1749 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
1750 No match
1751 A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
1752 No match
1753 A\x{391}\x{10427}\x{ff5a}\x{1fb0}
1754 No match
1755 A\x{391}\x{10427}\x{ff3a}\x{1fb8}
1756 No match
1757
1758 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
1759 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
1760 0: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
1761 a\x{391}\x{10427}\x{ff3a}\x{1fb0}
1762 0: a\x{391}\x{10427}\x{ff3a}\x{1fb0}
1763 A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
1764 0: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
1765 A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
1766 0: A\x{391}\x{1044f}\x{ff3a}\x{1fb0}
1767 A\x{391}\x{10427}\x{ff5a}\x{1fb0}
1768 0: A\x{391}\x{10427}\x{ff5a}\x{1fb0}
1769 A\x{391}\x{10427}\x{ff3a}\x{1fb8}
1770 0: A\x{391}\x{10427}\x{ff3a}\x{1fb8}
1771
1772 /\x{391}+/i,utf
1773 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
1774 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
1775
1776 /\x{391}{3,5}(.)/i,utf
1777 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1778 0: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1779 1: X
1780
1781 /\x{391}{3,5}?(.)/i,utf
1782 \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
1783 0: \x{391}\x{3b1}\x{3b1}\x{3b1}
1784 1: \x{3b1}
1785
1786 /[\x{391}\x{ff3a}]/i,utf
1787 \x{391}
1788 0: \x{391}
1789 \x{ff3a}
1790 0: \x{ff3a}
1791 \x{3b1}
1792 0: \x{3b1}
1793 \x{ff5a}
1794 0: \x{ff5a}
1795
1796 /^(\X*)C/utf
1797 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1798 0: A\x{300}\x{301}\x{302}BC
1799 1: A\x{300}\x{301}\x{302}B
1800 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1801 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1802 1: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1803
1804 /^(\X*?)C/utf
1805 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1806 0: A\x{300}\x{301}\x{302}BC
1807 1: A\x{300}\x{301}\x{302}B
1808 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1809 0: A\x{300}\x{301}\x{302}BC
1810 1: A\x{300}\x{301}\x{302}B
1811
1812 /^(\X*)(.)/utf
1813 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1814 0: A\x{300}\x{301}\x{302}BCA
1815 1: A\x{300}\x{301}\x{302}BC
1816 2: A
1817 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1818 0: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1819 1: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1820 2: C
1821
1822 /^(\X*?)(.)/utf
1823 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
1824 0: A
1825 1:
1826 2: A
1827 A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
1828 0: A
1829 1:
1830 2: A
1831
1832 /^\X(.)/utf
1833 \= Expect no match
1834 A\x{300}\x{301}\x{302}
1835 No match
1836
1837 /^\X{2,3}(.)/utf
1838 A\x{300}\x{301}B\x{300}X
1839 0: A\x{300}\x{301}B\x{300}X
1840 1: X
1841 A\x{300}\x{301}B\x{300}C\x{300}\x{301}
1842 0: A\x{300}\x{301}B\x{300}C
1843 1: C
1844 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1845 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1846 1: X
1847 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
1848 0: A\x{300}\x{301}B\x{300}C\x{300}\x{301}D
1849 1: D
1850
1851 /^\X{2,3}?(.)/utf
1852 A\x{300}\x{301}B\x{300}X
1853 0: A\x{300}\x{301}B\x{300}X
1854 1: X
1855 A\x{300}\x{301}B\x{300}C\x{300}\x{301}
1856 0: A\x{300}\x{301}B\x{300}C
1857 1: C
1858 A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
1859 0: A\x{300}\x{301}B\x{300}C
1860 1: C
1861 A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
1862 0: A\x{300}\x{301}B\x{300}C
1863 1: C
1864
1865 /^\X/utf
1866 A
1867 0: A
1868 A\x{300}BC
1869 0: A\x{300}
1870 A\x{300}\x{301}\x{302}BC
1871 0: A\x{300}\x{301}\x{302}
1872 \x{300}
1873 0: \x{300}
1874
1875 /^\p{Han}+/utf
1876 \x{2e81}\x{3007}\x{2f804}\x{31a0}
1877 0: \x{2e81}\x{3007}\x{2f804}
1878 \= Expect no match
1879 \x{2e7f}
1880 No match
1881
1882 /^\P{Katakana}+/utf
1883 \x{3105}
1884 0: \x{3105}
1885 \= Expect no match
1886 \x{30ff}
1887 No match
1888
1889 /^[\p{Arabic}]/utf
1890 \x{06e9}
1891 0: \x{6e9}
1892 \x{060b}
1893 0: \x{60b}
1894 \= Expect no match
1895 X\x{06e9}
1896 No match
1897
1898 /^[\P{Yi}]/utf
1899 \x{2f800}
1900 0: \x{2f800}
1901 \= Expect no match
1902 \x{a014}
1903 No match
1904 \x{a4c6}
1905 No match
1906
1907 /^\p{Any}X/utf
1908 AXYZ
1909 0: AX
1910 \x{1234}XYZ
1911 0: \x{1234}X
1912 \= Expect no match
1913 X
1914 No match
1915
1916 /^\P{Any}X/utf
1917 \= Expect no match
1918 AX
1919 No match
1920
1921 /^\p{Any}?X/utf
1922 XYZ
1923 0: X
1924 AXYZ
1925 0: AX
1926 \x{1234}XYZ
1927 0: \x{1234}X
1928 \= Expect no match
1929 ABXYZ
1930 No match
1931
1932 /^\P{Any}?X/utf
1933 XYZ
1934 0: X
1935 \= Expect no match
1936 AXYZ
1937 No match
1938 \x{1234}XYZ
1939 No match
1940 ABXYZ
1941 No match
1942
1943 /^\p{Any}+X/utf
1944 AXYZ
1945 0: AX
1946 \x{1234}XYZ
1947 0: \x{1234}X
1948 A\x{1234}XYZ
1949 0: A\x{1234}X
1950 \= Expect no match
1951 XYZ
1952 No match
1953
1954 /^\P{Any}+X/utf
1955 \= Expect no match
1956 AXYZ
1957 No match
1958 \x{1234}XYZ
1959 No match
1960 A\x{1234}XYZ
1961 No match
1962 XYZ
1963 No match
1964
1965 /^\p{Any}*X/utf
1966 XYZ
1967 0: X
1968 AXYZ
1969 0: AX
1970 \x{1234}XYZ
1971 0: \x{1234}X
1972 A\x{1234}XYZ
1973 0: A\x{1234}X
1974
1975 /^\P{Any}*X/utf
1976 XYZ
1977 0: X
1978 \= Expect no match
1979 AXYZ
1980 No match
1981 \x{1234}XYZ
1982 No match
1983 A\x{1234}XYZ
1984 No match
1985
1986 /^[\p{Any}]X/utf
1987 AXYZ
1988 0: AX
1989 \x{1234}XYZ
1990 0: \x{1234}X
1991 \= Expect no match
1992 X
1993 No match
1994
1995 /^[\P{Any}]X/utf
1996 \= Expect no match
1997 AX
1998 No match
1999
2000 /^[\p{Any}]?X/utf
2001 XYZ
2002 0: X
2003 AXYZ
2004 0: AX
2005 \x{1234}XYZ
2006 0: \x{1234}X
2007 \= Expect no match
2008 ABXYZ
2009 No match
2010
2011 /^[\P{Any}]?X/utf
2012 XYZ
2013 0: X
2014 \= Expect no match
2015 AXYZ
2016 No match
2017 \x{1234}XYZ
2018 No match
2019 ABXYZ
2020 No match
2021
2022 /^[\p{Any}]+X/utf
2023 AXYZ
2024 0: AX
2025 \x{1234}XYZ
2026 0: \x{1234}X
2027 A\x{1234}XYZ
2028 0: A\x{1234}X
2029 \= Expect no match
2030 XYZ
2031 No match
2032
2033 /^[\P{Any}]+X/utf
2034 \= Expect no match
2035 AXYZ
2036 No match
2037 \x{1234}XYZ
2038 No match
2039 A\x{1234}XYZ
2040 No match
2041 XYZ
2042 No match
2043
2044 /^[\p{Any}]*X/utf
2045 XYZ
2046 0: X
2047 AXYZ
2048 0: AX
2049 \x{1234}XYZ
2050 0: \x{1234}X
2051 A\x{1234}XYZ
2052 0: A\x{1234}X
2053
2054 /^[\P{Any}]*X/utf
2055 XYZ
2056 0: X
2057 \= Expect no match
2058 AXYZ
2059 No match
2060 \x{1234}XYZ
2061 No match
2062 A\x{1234}XYZ
2063 No match
2064
2065 /^\p{Any}{3,5}?/utf
2066 abcdefgh
2067 0: abc
2068 \x{1234}\n\r\x{3456}xyz
2069 0: \x{1234}\x{0a}\x{0d}
2070
2071 /^\p{Any}{3,5}/utf
2072 abcdefgh
2073 0: abcde
2074 \x{1234}\n\r\x{3456}xyz
2075 0: \x{1234}\x{0a}\x{0d}\x{3456}x
2076
2077 /^\P{Any}{3,5}?/utf
2078 \= Expect no match
2079 abcdefgh
2080 No match
2081 \x{1234}\n\r\x{3456}xyz
2082 No match
2083
2084 /^\p{L&}X/utf
2085 AXY
2086 0: AX
2087 aXY
2088 0: aX
2089 \x{1c5}XY
2090 0: \x{1c5}X
2091 \= Expect no match
2092 \x{1bb}XY
2093 No match
2094 \x{2b0}XY
2095 No match
2096 !XY
2097 No match
2098
2099 /^[\p{L&}]X/utf
2100 AXY
2101 0: AX
2102 aXY
2103 0: aX
2104 \x{1c5}XY
2105 0: \x{1c5}X
2106 \= Expect no match
2107 \x{1bb}XY
2108 No match
2109 \x{2b0}XY
2110 No match
2111 !XY
2112 No match
2113
2114 /^\p{L&}+X/utf
2115 AXY
2116 0: AX
2117 aXY
2118 0: aX
2119 AbcdeXyz
2120 0: AbcdeX
2121 \x{1c5}AbXY
2122 0: \x{1c5}AbX
2123 abcDEXypqreXlmn
2124 0: abcDEXypqreX
2125 \= Expect no match
2126 \x{1bb}XY
2127 No match
2128 \x{2b0}XY
2129 No match
2130 !XY
2131 No match
2132
2133 /^[\p{L&}]+X/utf
2134 AXY
2135 0: AX
2136 aXY
2137 0: aX
2138 AbcdeXyz
2139 0: AbcdeX
2140 \x{1c5}AbXY
2141 0: \x{1c5}AbX
2142 abcDEXypqreXlmn
2143 0: abcDEXypqreX
2144 \= Expect no match
2145 \x{1bb}XY
2146 No match
2147 \x{2b0}XY
2148 No match
2149 !XY
2150 No match
2151
2152 /^\p{L&}+?X/utf
2153 AXY
2154 0: AX
2155 aXY
2156 0: aX
2157 AbcdeXyz
2158 0: AbcdeX
2159 \x{1c5}AbXY
2160 0: \x{1c5}AbX
2161 abcDEXypqreXlmn
2162 0: abcDEX
2163 \= Expect no match
2164 \x{1bb}XY
2165 No match
2166 \x{2b0}XY
2167 No match
2168 !XY
2169 No match
2170
2171 /^[\p{L&}]+?X/utf
2172 AXY
2173 0: AX
2174 aXY
2175 0: aX
2176 AbcdeXyz
2177 0: AbcdeX
2178 \x{1c5}AbXY
2179 0: \x{1c5}AbX
2180 abcDEXypqreXlmn
2181 0: abcDEX
2182 \= Expect no match
2183 \x{1bb}XY
2184 No match
2185 \x{2b0}XY
2186 No match
2187 !XY
2188 No match
2189
2190 /^\P{L&}X/utf
2191 !XY
2192 0: !X
2193 \x{1bb}XY
2194 0: \x{1bb}X
2195 \x{2b0}XY
2196 0: \x{2b0}X
2197 \= Expect no match
2198 \x{1c5}XY
2199 No match
2200 AXY
2201 No match
2202
2203 /^[\P{L&}]X/utf
2204 !XY
2205 0: !X
2206 \x{1bb}XY
2207 0: \x{1bb}X
2208 \x{2b0}XY
2209 0: \x{2b0}X
2210 \= Expect no match
2211 \x{1c5}XY
2212 No match
2213 AXY
2214 No match
2215
2216 /^(\p{Z}[^\p{C}\p{Z}]+)*$/
2217 \xa0!
2218 0: \xa0!
2219 1: \xa0!
2220
2221 /^[\pL](abc)(?1)/
2222 AabcabcYZ
2223 0: Aabcabc
2224 1: abc
2225
2226 /([\pL]=(abc))*X/
2227 L=abcX
2228 0: L=abcX
2229 1: L=abc
2230 2: abc
2231
2232 /^\p{Balinese}\p{Cuneiform}\p{Nko}\p{Phags_Pa}\p{Phoenician}/utf
2233 \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
2234 0: \x{1b00}\x{12000}\x{7c0}\x{a840}\x{10900}
2235
2236 # Check property support in non-UTF mode
2237
2238 /\p{L}{4}/
2239 123abcdefg
2240 0: abcd
2241 123abc\xc4\xc5zz
2242 0: abc\xc4
2243
2244 /\X{1,3}\d/
2245 \= Expect no match
2246 \x8aBCD
2247 No match
2248
2249 /\X?\d/
2250 \= Expect no match
2251 \x8aBCD
2252 No match
2253
2254 /\P{L}?\d/
2255 \= Expect no match
2256 \x8aBCD
2257 No match
2258
2259 /[\PPP\x8a]{1,}\x80/
2260 A\x80
2261 0: A\x80
2262
2263 /^[\p{Arabic}]/utf
2264 \x{604}
2265 0: \x{604}
2266 \x{60e}
2267 0: \x{60e}
2268 \x{656}
2269 0: \x{656}
2270 \x{657}
2271 0: \x{657}
2272 \x{658}
2273 0: \x{658}
2274 \x{659}
2275 0: \x{659}
2276 \x{65a}
2277 0: \x{65a}
2278 \x{65b}
2279 0: \x{65b}
2280 \x{65c}
2281 0: \x{65c}
2282 \x{65d}
2283 0: \x{65d}
2284 \x{65e}
2285 0: \x{65e}
2286 \x{65f}
2287 0: \x{65f}
2288 \x{66a}
2289 0: \x{66a}
2290 \x{6e9}
2291 0: \x{6e9}
2292 \x{6ef}
2293 0: \x{6ef}
2294 \x{6fa}
2295 0: \x{6fa}
2296
2297 /^\p{Cyrillic}/utf
2298 \x{1d2b}
2299 0: \x{1d2b}
2300
2301 /^\p{Common}/utf
2302 \x{2116}
2303 0: \x{2116}
2304 \x{1D183}
2305 0: \x{1d183}
2306
2307 /^\p{Inherited}/utf
2308 \x{200c}
2309 0: \x{200c}
2310 \= Expect no match
2311 \x{64a}
2312 No match
2313 \x{656}
2314 No match
2315
2316 /^\p{Shavian}/utf
2317 \x{10450}
2318 0: \x{10450}
2319 \x{1047f}
2320 0: \x{1047f}
2321
2322 /^\p{Deseret}/utf
2323 \x{10400}
2324 0: \x{10400}
2325 \x{1044f}
2326 0: \x{1044f}
2327
2328 /^\p{Osmanya}/utf
2329 \x{10480}
2330 0: \x{10480}
2331 \x{1049d}
2332 0: \x{1049d}
2333 \x{104a0}
2334 0: \x{104a0}
2335 \x{104a9}
2336 0: \x{104a9}
2337 \= Expect no match
2338 \x{1049e}
2339 No match
2340 \x{1049f}
2341 No match
2342 \x{104aa}
2343 No match
2344
2345 /\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/utf
2346 \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
2347 0: \x{102a4}\x{aa52}\x{a91d}\x{1c46}\x{10283}\x{1092e}\x{1c6b}\x{a93b}\x{a8bf}\x{1ba0}\x{a50a}
2348
2349 /\x{a77d}\x{1d79}/i,utf
2350 \x{a77d}\x{1d79}
2351 0: \x{a77d}\x{1d79}
2352 \x{1d79}\x{a77d}
2353 0: \x{1d79}\x{a77d}
2354
2355 /\x{a77d}\x{1d79}/utf
2356 \x{a77d}\x{1d79}
2357 0: \x{a77d}\x{1d79}
2358 \= Expect no match
2359 \x{1d79}\x{a77d}
2360 No match
2361
2362 /(A)\1/i,utf
2363 AA
2364 0: AA
2365 1: A
2366 Aa
2367 0: Aa
2368 1: A
2369 aa
2370 0: aa
2371 1: a
2372 aA
2373 0: aA
2374 1: a
2375
2376 /(\x{10a})\1/i,utf
2377 \x{10a}\x{10a}
2378 0: \x{10a}\x{10a}
2379 1: \x{10a}
2380 \x{10a}\x{10b}
2381 0: \x{10a}\x{10b}
2382 1: \x{10a}
2383 \x{10b}\x{10b}
2384 0: \x{10b}\x{10b}
2385 1: \x{10b}
2386 \x{10b}\x{10a}
2387 0: \x{10b}\x{10a}
2388 1: \x{10b}
2389
2390 # The next two tests are for property support in non-UTF mode
2391
2392 /(?:\p{Lu}|\x20)+/
2393 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59
2394 0: A P\xc2T\xc9 TODAY
2395
2396 /[\p{Lu}\x20]+/
2397 \x41\x20\x50\xC2\x54\xC9\x20\x54\x4F\x44\x41\x59
2398 0: A P\xc2T\xc9 TODAY
2399
2400 /\p{Avestan}\p{Bamum}\p{Egyptian_Hieroglyphs}\p{Imperial_Aramaic}\p{Inscriptional_Pahlavi}\p{Inscriptional_Parthian}\p{Javanese}\p{Kaithi}\p{Lisu}\p{Meetei_Mayek}\p{Old_South_Arabian}\p{Old_Turkic}\p{Samaritan}\p{Tai_Tham}\p{Tai_Viet}/utf
2401 \x{10b00}\x{a6ef}\x{13007}\x{10857}\x{10b78}\x{10b58}\x{a980}\x{110c1}\x{a4ff}\x{abc0}\x{10a7d}\x{10c48}\x{0800}\x{1aad}\x{aac0}
2402 0: \x{10b00}\x{a6ef}\x{13007}\x{10857}\x{10b78}\x{10b58}\x{a980}\x{110c1}\x{a4ff}\x{abc0}\x{10a7d}\x{10c48}\x{800}\x{1aad}\x{aac0}
2403
2404 /^\w+/utf,ucp
2405 Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
2406 0: Az_\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
2407
2408 /^[[:xdigit:]]*/utf,ucp
2409 1a\x{660}\x{bef}\x{16ee}
2410 0: 1a
2411
2412 /^\d+/utf,ucp
2413 1\x{660}\x{bef}\x{16ee}
2414 0: 1\x{660}\x{bef}
2415
2416 /^[[:digit:]]+/utf,ucp
2417 1\x{660}\x{bef}\x{16ee}
2418 0: 1\x{660}\x{bef}
2419
2420 /^>\s+/utf,ucp
2421 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
2422 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}\x{0b}
2423
2424 /^>\pZ+/utf,ucp
2425 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
2426 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}
2427
2428 /^>[[:space:]]*/utf,ucp
2429 >\x{20}\x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{9}\x{b}
2430 0: > \x{a0}\x{1680}\x{2028}\x{2029}\x{202f}\x{09}\x{0b}
2431
2432 /^>[[:blank:]]*/utf,ucp
2433 >\x{20}\x{a0}\x{1680}\x{2000}\x{202f}\x{9}\x{b}\x{2028}
2434 0: > \x{a0}\x{1680}\x{2000}\x{202f}\x{09}
2435
2436 /^[[:alpha:]]*/utf,ucp
2437 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}
2438 0: Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}
2439
2440 /^[[:alnum:]]*/utf,ucp
2441 Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
2442 0: Az\x{aa}\x{c0}\x{1c5}\x{2b0}\x{3b6}\x{1d7c9}\x{2fa1d}1\x{660}\x{bef}\x{16ee}
2443
2444 /^[[:cntrl:]]*/utf,ucp
2445 \x{0}\x{09}\x{1f}\x{7f}\x{9f}
2446 0: \x{00}\x{09}\x{1f}\x{7f}\x{9f}
2447
2448 /^[[:graph:]]*/utf,ucp
2449 A\x{a1}\x{a0}
2450 0: A\x{a1}
2451
2452 /^[[:print:]]*/utf,ucp
2453 A z\x{a0}\x{a1}
2454 0: A z\x{a0}\x{a1}
2455
2456 /^[[:punct:]]*/utf,ucp
2457 .+\x{a1}\x{a0}
2458 0: .+\x{a1}
2459
2460 /\p{Zs}*?\R/
2461 \= Expect no match
2462 a\xFCb
2463 No match
2464
2465 /\p{Zs}*\R/
2466 \= Expect no match
2467 a\xFCb
2468 No match
2469
2470 /ⱥ/i,utf
2471
2472 0: \x{2c65}
2473 Ⱥx
2474 0: \x{23a}
2475 Ⱥ
2476 0: \x{23a}
2477
2478 /[ⱥ]/i,utf
2479
2480 0: \x{2c65}
2481 Ⱥx
2482 0: \x{23a}
2483 Ⱥ
2484 0: \x{23a}
2485
2486 /Ⱥ/i,utf
2487 Ⱥ
2488 0: \x{23a}
2489
2490 0: \x{2c65}
2491
2492 # These are tests for extended grapheme clusters
2493
2494 /^\X/utf,aftertext
2495 G\x{34e}\x{34e}X
2496 0: G\x{34e}\x{34e}
2497 0+ X
2498 \x{34e}\x{34e}X
2499 0: \x{34e}\x{34e}
2500 0+ X
2501 \x04X
2502 0: \x{04}
2503 0+ X
2504 \x{1100}X
2505 0: \x{1100}
2506 0+ X
2507 \x{1100}\x{34e}X
2508 0: \x{1100}\x{34e}
2509 0+ X
2510 \x{1b04}\x{1b04}X
2511 0: \x{1b04}\x{1b04}
2512 0+ X
2513 *These match up to the roman letters
2514 0: *
2515 0+ These match up to the roman letters
2516 \x{1111}\x{1111}L,L
2517 0: \x{1111}\x{1111}
2518 0+ L,L
2519 \x{1111}\x{1111}\x{1169}L,L,V
2520 0: \x{1111}\x{1111}\x{1169}
2521 0+ L,L,V
2522 \x{1111}\x{ae4c}L, LV
2523 0: \x{1111}\x{ae4c}
2524 0+ L, LV
2525 \x{1111}\x{ad89}L, LVT
2526 0: \x{1111}\x{ad89}
2527 0+ L, LVT
2528 \x{1111}\x{ae4c}\x{1169}L, LV, V
2529 0: \x{1111}\x{ae4c}\x{1169}
2530 0+ L, LV, V
2531 \x{1111}\x{ae4c}\x{1169}\x{1169}L, LV, V, V
2532 0: \x{1111}\x{ae4c}\x{1169}\x{1169}
2533 0+ L, LV, V, V
2534 \x{1111}\x{ae4c}\x{1169}\x{11fe}L, LV, V, T
2535 0: \x{1111}\x{ae4c}\x{1169}\x{11fe}
2536 0+ L, LV, V, T
2537 \x{1111}\x{ad89}\x{11fe}L, LVT, T
2538 0: \x{1111}\x{ad89}\x{11fe}
2539 0+ L, LVT, T
2540 \x{1111}\x{ad89}\x{11fe}\x{11fe}L, LVT, T, T
2541 0: \x{1111}\x{ad89}\x{11fe}\x{11fe}
2542 0+ L, LVT, T, T
2543 \x{ad89}\x{11fe}\x{11fe}LVT, T, T
2544 0: \x{ad89}\x{11fe}\x{11fe}
2545 0+ LVT, T, T
2546 *These match just the first codepoint (invalid sequence)
2547 0: *
2548 0+ These match just the first codepoint (invalid sequence)
2549 \x{1111}\x{11fe}L, T
2550 0: \x{1111}
2551 0+ \x{11fe}L, T
2552 \x{ae4c}\x{1111}LV, L
2553 0: \x{ae4c}
2554 0+ \x{1111}LV, L
2555 \x{ae4c}\x{ae4c}LV, LV
2556 0: \x{ae4c}
2557 0+ \x{ae4c}LV, LV
2558 \x{ae4c}\x{ad89}LV, LVT
2559 0: \x{ae4c}
2560 0+ \x{ad89}LV, LVT
2561 \x{1169}\x{1111}V, L
2562 0: \x{1169}
2563 0+ \x{1111}V, L
2564 \x{1169}\x{ae4c}V, LV
2565 0: \x{1169}
2566 0+ \x{ae4c}V, LV
2567 \x{1169}\x{ad89}V, LVT
2568 0: \x{1169}
2569 0+ \x{ad89}V, LVT
2570 \x{ad89}\x{1111}LVT, L
2571 0: \x{ad89}
2572 0+ \x{1111}LVT, L
2573 \x{ad89}\x{1169}LVT, V
2574 0: \x{ad89}
2575 0+ \x{1169}LVT, V
2576 \x{ad89}\x{ae4c}LVT, LV
2577 0: \x{ad89}
2578 0+ \x{ae4c}LVT, LV
2579 \x{ad89}\x{ad89}LVT, LVT
2580 0: \x{ad89}
2581 0+ \x{ad89}LVT, LVT
2582 \x{11fe}\x{1111}T, L
2583 0: \x{11fe}
2584 0+ \x{1111}T, L
2585 \x{11fe}\x{1169}T, V
2586 0: \x{11fe}
2587 0+ \x{1169}T, V
2588 \x{11fe}\x{ae4c}T, LV
2589 0: \x{11fe}
2590 0+ \x{ae4c}T, LV
2591 \x{11fe}\x{ad89}T, LVT
2592 0: \x{11fe}
2593 0+ \x{ad89}T, LVT
2594 *Test extend and spacing mark
2595 0: *
2596 0+ Test extend and spacing mark
2597 \x{1111}\x{ae4c}\x{0711}L, LV, extend
2598 0: \x{1111}\x{ae4c}\x{711}
2599 0+ L, LV, extend
2600 \x{1111}\x{ae4c}\x{1b04}L, LV, spacing mark
2601 0: \x{1111}\x{ae4c}\x{1b04}
2602 0+ L, LV, spacing mark
2603 \x{1111}\x{ae4c}\x{1b04}\x{0711}\x{1b04}L, LV, spacing mark, extend, spacing mark
2604 0: \x{1111}\x{ae4c}\x{1b04}\x{711}\x{1b04}
2605 0+ L, LV, spacing mark, extend, spacing mark
2606 *Test CR, LF, and control
2607 0: *
2608 0+ Test CR, LF, and control
2609 \x0d\x{0711}CR, extend
2610 0: \x{0d}
2611 0+ \x{711}CR, extend
2612 \x0d\x{1b04}CR, spacingmark
2613 0: \x{0d}
2614 0+ \x{1b04}CR, spacingmark
2615 \x0a\x{0711}LF, extend
2616 0: \x{0a}
2617 0+ \x{711}LF, extend
2618 \x0a\x{1b04}LF, spacingmark
2619 0: \x{0a}
2620 0+ \x{1b04}LF, spacingmark
2621 \x0b\x{0711}Control, extend
2622 0: \x{0b}
2623 0+ \x{711}Control, extend
2624 \x09\x{1b04}Control, spacingmark
2625 0: \x{09}
2626 0+ \x{1b04}Control, spacingmark
2627 *There are no Prepend characters, so we can't test Prepend, CR
2628 0: *
2629 0+ There are no Prepend characters, so we can't test Prepend, CR
2630
2631 /^(?>\X{2})X/utf,aftertext
2632 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2633 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2634 0+
2635
2636 /^\X{2,4}X/utf,aftertext
2637 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2638 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2639 0+
2640 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2641 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2642 0+
2643 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2644 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2645 0+
2646
2647 /^\X{2,4}?X/utf,aftertext
2648 \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2649 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2650 0+
2651 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2652 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2653 0+
2654 \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2655 0: \x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}\x{1111}\x{ae4c}X
2656 0+
2657
2658 /\X*Z/utf,no_start_optimize
2659 \= Expect no match
2660 A\x{300}
2661 No match
2662
2663 /\X*(.)/utf,no_start_optimize
2664 A\x{1111}\x{ae4c}\x{1169}
2665 0: A\x{1111}
2666 1: \x{1111}
2667
2668 # --------------------------------------------
2669
2670 /\x{1e9e}+/i,utf
2671 \x{1e9e}\x{00df}
2672 0: \x{1e9e}\x{df}
2673
2674 /[z\x{1e9e}]+/i,utf
2675 \x{1e9e}\x{00df}
2676 0: \x{1e9e}\x{df}
2677
2678 /\x{00df}+/i,utf
2679 \x{1e9e}\x{00df}
2680 0: \x{1e9e}\x{df}
2681
2682 /[z\x{00df}]+/i,utf
2683 \x{1e9e}\x{00df}
2684 0: \x{1e9e}\x{df}
2685
2686 /\x{1f88}+/i,utf
2687 \x{1f88}\x{1f80}
2688 0: \x{1f88}\x{1f80}
2689
2690 /[z\x{1f88}]+/i,utf
2691 \x{1f88}\x{1f80}
2692 0: \x{1f88}\x{1f80}
2693
2694 # Check a reference with more than one other case
2695
2696 /^(\x{00b5})\1{2}$/i,utf
2697 \x{00b5}\x{039c}\x{03bc}
2698 0: \x{b5}\x{39c}\x{3bc}
2699 1: \x{b5}
2700
2701 # Characters with more than one other case; test in classes
2702
2703 /[z\x{00b5}]+/i,utf
2704 \x{00b5}\x{039c}\x{03bc}
2705 0: \x{b5}\x{39c}\x{3bc}
2706
2707 /[z\x{039c}]+/i,utf
2708 \x{00b5}\x{039c}\x{03bc}
2709 0: \x{b5}\x{39c}\x{3bc}
2710
2711 /[z\x{03bc}]+/i,utf
2712 \x{00b5}\x{039c}\x{03bc}
2713 0: \x{b5}\x{39c}\x{3bc}
2714
2715 /[z\x{00c5}]+/i,utf
2716 \x{00c5}\x{00e5}\x{212b}
2717 0: \x{c5}\x{e5}\x{212b}
2718
2719 /[z\x{00e5}]+/i,utf
2720 \x{00c5}\x{00e5}\x{212b}
2721 0: \x{c5}\x{e5}\x{212b}
2722
2723 /[z\x{212b}]+/i,utf
2724 \x{00c5}\x{00e5}\x{212b}
2725 0: \x{c5}\x{e5}\x{212b}
2726
2727 /[z\x{01c4}]+/i,utf
2728 \x{01c4}\x{01c5}\x{01c6}
2729 0: \x{1c4}\x{1c5}\x{1c6}
2730
2731 /[z\x{01c5}]+/i,utf
2732 \x{01c4}\x{01c5}\x{01c6}
2733 0: \x{1c4}\x{1c5}\x{1c6}
2734
2735 /[z\x{01c6}]+/i,utf
2736 \x{01c4}\x{01c5}\x{01c6}
2737 0: \x{1c4}\x{1c5}\x{1c6}
2738
2739 /[z\x{01c7}]+/i,utf
2740 \x{01c7}\x{01c8}\x{01c9}
2741 0: \x{1c7}\x{1c8}\x{1c9}
2742
2743 /[z\x{01c8}]+/i,utf
2744 \x{01c7}\x{01c8}\x{01c9}
2745 0: \x{1c7}\x{1c8}\x{1c9}
2746
2747 /[z\x{01c9}]+/i,utf
2748 \x{01c7}\x{01c8}\x{01c9}
2749 0: \x{1c7}\x{1c8}\x{1c9}
2750
2751 /[z\x{01ca}]+/i,utf
2752 \x{01ca}\x{01cb}\x{01cc}
2753 0: \x{1ca}\x{1cb}\x{1cc}
2754
2755 /[z\x{01cb}]+/i,utf
2756 \x{01ca}\x{01cb}\x{01cc}
2757 0: \x{1ca}\x{1cb}\x{1cc}
2758
2759 /[z\x{01cc}]+/i,utf
2760 \x{01ca}\x{01cb}\x{01cc}
2761 0: \x{1ca}\x{1cb}\x{1cc}
2762
2763 /[z\x{01f1}]+/i,utf
2764 \x{01f1}\x{01f2}\x{01f3}
2765 0: \x{1f1}\x{1f2}\x{1f3}
2766
2767 /[z\x{01f2}]+/i,utf
2768 \x{01f1}\x{01f2}\x{01f3}
2769 0: \x{1f1}\x{1f2}\x{1f3}
2770
2771 /[z\x{01f3}]+/i,utf
2772 \x{01f1}\x{01f2}\x{01f3}
2773 0: \x{1f1}\x{1f2}\x{1f3}
2774
2775 /[z\x{0345}]+/i,utf
2776 \x{0345}\x{0399}\x{03b9}\x{1fbe}
2777 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2778
2779 /[z\x{0399}]+/i,utf
2780 \x{0345}\x{0399}\x{03b9}\x{1fbe}
2781 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2782
2783 /[z\x{03b9}]+/i,utf
2784 \x{0345}\x{0399}\x{03b9}\x{1fbe}
2785 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2786
2787 /[z\x{1fbe}]+/i,utf
2788 \x{0345}\x{0399}\x{03b9}\x{1fbe}
2789 0: \x{345}\x{399}\x{3b9}\x{1fbe}
2790
2791 /[z\x{0392}]+/i,utf
2792 \x{0392}\x{03b2}\x{03d0}
2793 0: \x{392}\x{3b2}\x{3d0}
2794
2795 /[z\x{03b2}]+/i,utf
2796 \x{0392}\x{03b2}\x{03d0}
2797 0: \x{392}\x{3b2}\x{3d0}
2798
2799 /[z\x{03d0}]+/i,utf
2800 \x{0392}\x{03b2}\x{03d0}
2801 0: \x{392}\x{3b2}\x{3d0}
2802
2803 /[z\x{0395}]+/i,utf
2804 \x{0395}\x{03b5}\x{03f5}
2805 0: \x{395}\x{3b5}\x{3f5}
2806
2807 /[z\x{03b5}]+/i,utf
2808 \x{0395}\x{03b5}\x{03f5}
2809 0: \x{395}\x{3b5}\x{3f5}
2810
2811 /[z\x{03f5}]+/i,utf
2812 \x{0395}\x{03b5}\x{03f5}
2813 0: \x{395}\x{3b5}\x{3f5}
2814
2815 /[z\x{0398}]+/i,utf
2816 \x{0398}\x{03b8}\x{03d1}\x{03f4}
2817 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2818
2819 /[z\x{03b8}]+/i,utf
2820 \x{0398}\x{03b8}\x{03d1}\x{03f4}
2821 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2822
2823 /[z\x{03d1}]+/i,utf
2824 \x{0398}\x{03b8}\x{03d1}\x{03f4}
2825 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2826
2827 /[z\x{03f4}]+/i,utf
2828 \x{0398}\x{03b8}\x{03d1}\x{03f4}
2829 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
2830
2831 /[z\x{039a}]+/i,utf
2832 \x{039a}\x{03ba}\x{03f0}
2833 0: \x{39a}\x{3ba}\x{3f0}
2834
2835 /[z\x{03ba}]+/i,utf
2836 \x{039a}\x{03ba}\x{03f0}
2837 0: \x{39a}\x{3ba}\x{3f0}
2838
2839 /[z\x{03f0}]+/i,utf
2840 \x{039a}\x{03ba}\x{03f0}
2841 0: \x{39a}\x{3ba}\x{3f0}
2842
2843 /[z\x{03a0}]+/i,utf
2844 \x{03a0}\x{03c0}\x{03d6}
2845 0: \x{3a0}\x{3c0}\x{3d6}
2846
2847 /[z\x{03c0}]+/i,utf
2848 \x{03a0}\x{03c0}\x{03d6}
2849 0: \x{3a0}\x{3c0}\x{3d6}
2850
2851 /[z\x{03d6}]+/i,utf
2852 \x{03a0}\x{03c0}\x{03d6}
2853 0: \x{3a0}\x{3c0}\x{3d6}
2854
2855 /[z\x{03a1}]+/i,utf
2856 \x{03a1}\x{03c1}\x{03f1}
2857 0: \x{3a1}\x{3c1}\x{3f1}
2858
2859 /[z\x{03c1}]+/i,utf
2860 \x{03a1}\x{03c1}\x{03f1}
2861 0: \x{3a1}\x{3c1}\x{3f1}
2862
2863 /[z\x{03f1}]+/i,utf
2864 \x{03a1}\x{03c1}\x{03f1}
2865 0: \x{3a1}\x{3c1}\x{3f1}
2866
2867 /[z\x{03a3}]+/i,utf
2868 \x{03A3}\x{03C2}\x{03C3}
2869 0: \x{3a3}\x{3c2}\x{3c3}
2870
2871 /[z\x{03c2}]+/i,utf
2872 \x{03A3}\x{03C2}\x{03C3}
2873 0: \x{3a3}\x{3c2}\x{3c3}
2874
2875 /[z\x{03c3}]+/i,utf
2876 \x{03A3}\x{03C2}\x{03C3}
2877 0: \x{3a3}\x{3c2}\x{3c3}
2878
2879 /[z\x{03a6}]+/i,utf
2880 \x{03a6}\x{03c6}\x{03d5}
2881 0: \x{3a6}\x{3c6}\x{3d5}
2882
2883 /[z\x{03c6}]+/i,utf
2884 \x{03a6}\x{03c6}\x{03d5}
2885 0: \x{3a6}\x{3c6}\x{3d5}
2886
2887 /[z\x{03d5}]+/i,utf
2888 \x{03a6}\x{03c6}\x{03d5}
2889 0: \x{3a6}\x{3c6}\x{3d5}
2890
2891 /[z\x{03c9}]+/i,utf
2892 \x{03c9}\x{03a9}\x{2126}
2893 0: \x{3c9}\x{3a9}\x{2126}
2894
2895 /[z\x{03a9}]+/i,utf
2896 \x{03c9}\x{03a9}\x{2126}
2897 0: \x{3c9}\x{3a9}\x{2126}
2898
2899 /[z\x{2126}]+/i,utf
2900 \x{03c9}\x{03a9}\x{2126}
2901 0: \x{3c9}\x{3a9}\x{2126}
2902
2903 /[z\x{1e60}]+/i,utf
2904 \x{1e60}\x{1e61}\x{1e9b}
2905 0: \x{1e60}\x{1e61}\x{1e9b}
2906
2907 /[z\x{1e61}]+/i,utf
2908 \x{1e60}\x{1e61}\x{1e9b}
2909 0: \x{1e60}\x{1e61}\x{1e9b}
2910
2911 /[z\x{1e9b}]+/i,utf
2912 \x{1e60}\x{1e61}\x{1e9b}
2913 0: \x{1e60}\x{1e61}\x{1e9b}
2914
2915 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK
2916
2917 /[z\x{004b}]+/i,utf
2918 \x{004b}\x{006b}\x{212a}
2919 0: Kk\x{212a}
2920
2921 /[z\x{006b}]+/i,utf
2922 \x{004b}\x{006b}\x{212a}
2923 0: Kk\x{212a}
2924
2925 /[z\x{212a}]+/i,utf
2926 \x{004b}\x{006b}\x{212a}
2927 0: Kk\x{212a}
2928
2929 /[z\x{0053}]+/i,utf
2930 \x{0053}\x{0073}\x{017f}
2931 0: Ss\x{17f}
2932
2933 /[z\x{0073}]+/i,utf
2934 \x{0053}\x{0073}\x{017f}
2935 0: Ss\x{17f}
2936
2937 /[z\x{017f}]+/i,utf
2938 \x{0053}\x{0073}\x{017f}
2939 0: Ss\x{17f}
2940
2941 # --------------------------------------
2942
2943 /(ΣΆΜΟΣ) \1/i,utf
2944 ΣΆΜΟΣ ΣΆΜΟΣ
2945 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2946 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2947 ΣΆΜΟΣ σάμος
2948 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2949 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2950 σάμος σάμος
2951 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2952 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2953 σάμος σάμοσ
2954 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c3}
2955 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2956 σάμος ΣΆΜΟΣ
2957 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2958 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2959
2960 /(σάμος) \1/i,utf
2961 ΣΆΜΟΣ ΣΆΜΟΣ
2962 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2963 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2964 ΣΆΜΟΣ σάμος
2965 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2966 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2967 σάμος σάμος
2968 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2969 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2970 σάμος σάμοσ
2971 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c3}
2972 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2973 σάμος ΣΆΜΟΣ
2974 0: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2975 1: \x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2976
2977 /(ΣΆΜΟΣ) \1*/i,utf
2978 ΣΆΜΟΣ\x20
2979 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2980 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2981 ΣΆΜΟΣ ΣΆΜΟΣσάμοςσάμος
2982 0: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3} \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}\x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}\x{3c3}\x{3ac}\x{3bc}\x{3bf}\x{3c2}
2983 1: \x{3a3}\x{386}\x{39c}\x{39f}\x{3a3}
2984
2985 # Perl matches these
2986
2987 /\x{00b5}+/i,utf
2988 \x{00b5}\x{039c}\x{03bc}
2989 0: \x{b5}\x{39c}\x{3bc}
2990
2991 /\x{039c}+/i,utf
2992 \x{00b5}\x{039c}\x{03bc}
2993 0: \x{b5}\x{39c}\x{3bc}
2994
2995 /\x{03bc}+/i,utf
2996 \x{00b5}\x{039c}\x{03bc}
2997 0: \x{b5}\x{39c}\x{3bc}
2998
2999
3000 /\x{00c5}+/i,utf
3001 \x{00c5}\x{00e5}\x{212b}
3002 0: \x{c5}\x{e5}\x{212b}
3003
3004 /\x{00e5}+/i,utf
3005 \x{00c5}\x{00e5}\x{212b}
3006 0: \x{c5}\x{e5}\x{212b}
3007
3008 /\x{212b}+/i,utf
3009 \x{00c5}\x{00e5}\x{212b}
3010 0: \x{c5}\x{e5}\x{212b}
3011
3012
3013 /\x{01c4}+/i,utf
3014 \x{01c4}\x{01c5}\x{01c6}
3015 0: \x{1c4}\x{1c5}\x{1c6}
3016
3017 /\x{01c5}+/i,utf
3018 \x{01c4}\x{01c5}\x{01c6}
3019 0: \x{1c4}\x{1c5}\x{1c6}
3020
3021 /\x{01c6}+/i,utf
3022 \x{01c4}\x{01c5}\x{01c6}
3023 0: \x{1c4}\x{1c5}\x{1c6}
3024
3025
3026 /\x{01c7}+/i,utf
3027 \x{01c7}\x{01c8}\x{01c9}
3028 0: \x{1c7}\x{1c8}\x{1c9}
3029
3030 /\x{01c8}+/i,utf
3031 \x{01c7}\x{01c8}\x{01c9}
3032 0: \x{1c7}\x{1c8}\x{1c9}
3033
3034 /\x{01c9}+/i,utf
3035 \x{01c7}\x{01c8}\x{01c9}
3036 0: \x{1c7}\x{1c8}\x{1c9}
3037
3038
3039 /\x{01ca}+/i,utf
3040 \x{01ca}\x{01cb}\x{01cc}
3041 0: \x{1ca}\x{1cb}\x{1cc}
3042
3043 /\x{01cb}+/i,utf
3044 \x{01ca}\x{01cb}\x{01cc}
3045 0: \x{1ca}\x{1cb}\x{1cc}
3046
3047 /\x{01cc}+/i,utf
3048 \x{01ca}\x{01cb}\x{01cc}
3049 0: \x{1ca}\x{1cb}\x{1cc}
3050
3051
3052 /\x{01f1}+/i,utf
3053 \x{01f1}\x{01f2}\x{01f3}
3054 0: \x{1f1}\x{1f2}\x{1f3}
3055
3056 /\x{01f2}+/i,utf
3057 \x{01f1}\x{01f2}\x{01f3}
3058 0: \x{1f1}\x{1f2}\x{1f3}
3059
3060 /\x{01f3}+/i,utf
3061 \x{01f1}\x{01f2}\x{01f3}
3062 0: \x{1f1}\x{1f2}\x{1f3}
3063
3064
3065 /\x{0345}+/i,utf
3066 \x{0345}\x{0399}\x{03b9}\x{1fbe}
3067 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3068
3069 /\x{0399}+/i,utf
3070 \x{0345}\x{0399}\x{03b9}\x{1fbe}
3071 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3072
3073 /\x{03b9}+/i,utf
3074 \x{0345}\x{0399}\x{03b9}\x{1fbe}
3075 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3076
3077 /\x{1fbe}+/i,utf
3078 \x{0345}\x{0399}\x{03b9}\x{1fbe}
3079 0: \x{345}\x{399}\x{3b9}\x{1fbe}
3080
3081
3082 /\x{0392}+/i,utf
3083 \x{0392}\x{03b2}\x{03d0}
3084 0: \x{392}\x{3b2}\x{3d0}
3085
3086 /\x{03b2}+/i,utf
3087 \x{0392}\x{03b2}\x{03d0}
3088 0: \x{392}\x{3b2}\x{3d0}
3089
3090 /\x{03d0}+/i,utf
3091 \x{0392}\x{03b2}\x{03d0}
3092 0: \x{392}\x{3b2}\x{3d0}
3093
3094
3095 /\x{0395}+/i,utf
3096 \x{0395}\x{03b5}\x{03f5}
3097 0: \x{395}\x{3b5}\x{3f5}
3098
3099 /\x{03b5}+/i,utf
3100 \x{0395}\x{03b5}\x{03f5}
3101 0: \x{395}\x{3b5}\x{3f5}
3102
3103 /\x{03f5}+/i,utf
3104 \x{0395}\x{03b5}\x{03f5}
3105 0: \x{395}\x{3b5}\x{3f5}
3106
3107
3108 /\x{0398}+/i,utf
3109 \x{0398}\x{03b8}\x{03d1}\x{03f4}
3110 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3111
3112 /\x{03b8}+/i,utf
3113 \x{0398}\x{03b8}\x{03d1}\x{03f4}
3114 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3115
3116 /\x{03d1}+/i,utf
3117 \x{0398}\x{03b8}\x{03d1}\x{03f4}
3118 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3119
3120 /\x{03f4}+/i,utf
3121 \x{0398}\x{03b8}\x{03d1}\x{03f4}
3122 0: \x{398}\x{3b8}\x{3d1}\x{3f4}
3123
3124
3125 /\x{039a}+/i,utf
3126 \x{039a}\x{03ba}\x{03f0}
3127 0: \x{39a}\x{3ba}\x{3f0}
3128
3129 /\x{03ba}+/i,utf
3130 \x{039a}\x{03ba}\x{03f0}
3131 0: \x{39a}\x{3ba}\x{3f0}
3132
3133 /\x{03f0}+/i,utf
3134 \x{039a}\x{03ba}\x{03f0}
3135 0: \x{39a}\x{3ba}\x{3f0}
3136
3137
3138 /\x{03a0}+/i,utf
3139 \x{03a0}\x{03c0}\x{03d6}
3140 0: \x{3a0}\x{3c0}\x{3d6}
3141
3142 /\x{03c0}+/i,utf
3143 \x{03a0}\x{03c0}\x{03d6}
3144 0: \x{3a0}\x{3c0}\x{3d6}
3145
3146 /\x{03d6}+/i,utf
3147 \x{03a0}\x{03c0}\x{03d6}
3148 0: \x{3a0}\x{3c0}\x{3d6}
3149
3150
3151 /\x{03a1}+/i,utf
3152 \x{03a1}\x{03c1}\x{03f1}
3153 0: \x{3a1}\x{3c1}\x{3f1}
3154
3155 /\x{03c1}+/i,utf
3156 \x{03a1}\x{03c1}\x{03f1}
3157 0: \x{3a1}\x{3c1}\x{3f1}
3158
3159 /\x{03f1}+/i,utf
3160 \x{03a1}\x{03c1}\x{03f1}
3161 0: \x{3a1}\x{3c1}\x{3f1}
3162
3163
3164 /\x{03a3}+/i,utf
3165 \x{03A3}\x{03C2}\x{03C3}
3166 0: \x{3a3}\x{3c2}\x{3c3}
3167
3168 /\x{03c2}+/i,utf
3169 \x{03A3}\x{03C2}\x{03C3}
3170 0: \x{3a3}\x{3c2}\x{3c3}
3171
3172 /\x{03c3}+/i,utf
3173 \x{03A3}\x{03C2}\x{03C3}
3174 0: \x{3a3}\x{3c2}\x{3c3}
3175
3176
3177 /\x{03a6}+/i,utf
3178 \x{03a6}\x{03c6}\x{03d5}
3179 0: \x{3a6}\x{3c6}\x{3d5}
3180
3181 /\x{03c6}+/i,utf
3182 \x{03a6}\x{03c6}\x{03d5}
3183 0: \x{3a6}\x{3c6}\x{3d5}
3184
3185 /\x{03d5}+/i,utf
3186 \x{03a6}\x{03c6}\x{03d5}
3187 0: \x{3a6}\x{3c6}\x{3d5}
3188
3189
3190 /\x{03c9}+/i,utf
3191 \x{03c9}\x{03a9}\x{2126}
3192 0: \x{3c9}\x{3a9}\x{2126}
3193
3194 /\x{03a9}+/i,utf
3195 \x{03c9}\x{03a9}\x{2126}
3196 0: \x{3c9}\x{3a9}\x{2126}
3197
3198 /\x{2126}+/i,utf
3199 \x{03c9}\x{03a9}\x{2126}
3200 0: \x{3c9}\x{3a9}\x{2126}
3201
3202
3203 /\x{1e60}+/i,utf
3204 \x{1e60}\x{1e61}\x{1e9b}
3205 0: \x{1e60}\x{1e61}\x{1e9b}
3206
3207 /\x{1e61}+/i,utf
3208 \x{1e60}\x{1e61}\x{1e9b}
3209 0: \x{1e60}\x{1e61}\x{1e9b}
3210
3211 /\x{1e9b}+/i,utf
3212 \x{1e60}\x{1e61}\x{1e9b}
3213 0: \x{1e60}\x{1e61}\x{1e9b}
3214
3215
3216 /\x{1e9e}+/i,utf
3217 \x{1e9e}\x{00df}
3218 0: \x{1e9e}\x{df}
3219
3220 /\x{00df}+/i,utf
3221 \x{1e9e}\x{00df}
3222 0: \x{1e9e}\x{df}
3223
3224
3225 /\x{1f88}+/i,utf
3226 \x{1f88}\x{1f80}
3227 0: \x{1f88}\x{1f80}
3228
3229 /\x{1f80}+/i,utf
3230 \x{1f88}\x{1f80}
3231 0: \x{1f88}\x{1f80}
3232
3233 # Perl 5.12.4 gets these wrong, but 5.15.3 is OK
3234
3235 /\x{004b}+/i,utf
3236 \x{004b}\x{006b}\x{212a}
3237 0: Kk\x{212a}
3238
3239 /\x{006b}+/i,utf
3240 \x{004b}\x{006b}\x{212a}
3241 0: Kk\x{212a}
3242
3243 /\x{212a}+/i,utf
3244 \x{004b}\x{006b}\x{212a}
3245 0: Kk\x{212a}
3246
3247
3248 /\x{0053}+/i,utf
3249 \x{0053}\x{0073}\x{017f}
3250 0: Ss\x{17f}
3251
3252 /\x{0073}+/i,utf
3253 \x{0053}\x{0073}\x{017f}
3254 0: Ss\x{17f}
3255
3256 /\x{017f}+/i,utf
3257 \x{0053}\x{0073}\x{017f}
3258 0: Ss\x{17f}
3259
3260 /^\p{Any}*\d{4}/utf
3261 1234
3262 0: 1234
3263 \= Expect no match
3264 123
3265 No match
3266
3267 /^\X*\w{4}/utf
3268 1234
3269 0: 1234
3270 \= Expect no match
3271 123
3272 No match
3273
3274 /^A\s+Z/utf,ucp
3275 A\x{2005}Z
3276 0: A\x{2005}Z
3277 A\x{85}\x{2005}Z
3278 0: A\x{85}\x{2005}Z
3279
3280 /^A[\s]+Z/utf,ucp
3281 A\x{2005}Z
3282 0: A\x{2005}Z
3283 A\x{85}\x{2005}Z
3284 0: A\x{85}\x{2005}Z
3285
3286 /^[[:graph:]]+$/utf,ucp
3287 Letter:ABC
3288 0: Letter:ABC
3289 Mark:\x{300}\x{1d172}\x{1d17b}
3290 0: Mark:\x{300}\x{1d172}\x{1d17b}
3291 Number:9\x{660}
3292 0: Number:9\x{660}
3293 Punctuation:\x{66a},;
3294 0: Punctuation:\x{66a},;
3295 Symbol:\x{6de}<>\x{fffc}
3296 0: Symbol:\x{6de}<>\x{fffc}
3297 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3298 0: Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3299 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3300 0: \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3301 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3302 0: \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3303 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3304 0: \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3305 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3306 0: \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3307 \x{feff}
3308 0: \x{feff}
3309 \x{fff9}\x{fffa}\x{fffb}
3310 0: \x{fff9}\x{fffa}\x{fffb}
3311 \x{110bd}
3312 0: \x{110bd}
3313 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3314 0: \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3315 \x{e0001}
3316 0: \x{e0001}
3317 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3318 0: \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3319 \= Expect no match
3320 \x{09}
3321 No match
3322 \x{0a}
3323 No match
3324 \x{1D}
3325 No match
3326 \x{20}
3327 No match
3328 \x{85}
3329 No match
3330 \x{a0}
3331 No match
3332 \x{1680}
3333 No match
3334 \x{2028}
3335 No match
3336 \x{2029}
3337 No match
3338 \x{202f}
3339 No match
3340 \x{2065}
3341 No match
3342 \x{3000}
3343 No match
3344 \x{e0002}
3345 No match
3346 \x{e001f}
3347 No match
3348 \x{e0080}
3349 No match
3350
3351 /^[[:print:]]+$/utf,ucp
3352 Space: \x{a0}
3353 0: Space: \x{a0}
3354 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
3355 0: \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
3356 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
3357 0: \x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
3358 \x{202f}\x{205f}
3359 0: \x{202f}\x{205f}
3360 \x{3000}
3361 0: \x{3000}
3362 Letter:ABC
3363 0: Letter:ABC
3364 Mark:\x{300}\x{1d172}\x{1d17b}
3365 0: Mark:\x{300}\x{1d172}\x{1d17b}
3366 Number:9\x{660}
3367 0: Number:9\x{660}
3368 Punctuation:\x{66a},;
3369 0: Punctuation:\x{66a},;
3370 Symbol:\x{6de}<>\x{fffc}
3371 0: Symbol:\x{6de}<>\x{fffc}
3372 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3373 0: Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3374 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3375 0: \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3376 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3377 0: \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3378 \x{202f}
3379 0: \x{202f}
3380 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3381 0: \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3382 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3383 0: \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3384 \x{feff}
3385 0: \x{feff}
3386 \x{fff9}\x{fffa}\x{fffb}
3387 0: \x{fff9}\x{fffa}\x{fffb}
3388 \x{110bd}
3389 0: \x{110bd}
3390 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3391 0: \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3392 \x{e0001}
3393 0: \x{e0001}
3394 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3395 0: \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3396 \= Expect no match
3397 \x{09}
3398 No match
3399 \x{1D}
3400 No match
3401 \x{85}
3402 No match
3403 \x{2028}
3404 No match
3405 \x{2029}
3406 No match
3407 \x{2065}
3408 No match
3409 \x{e0002}
3410 No match
3411 \x{e001f}
3412 No match
3413 \x{e0080}
3414 No match
3415
3416 /^[[:punct:]]+$/utf,ucp
3417 \$+<=>^`|~
3418 0: $+<=>^`|~
3419 !\"#%&'()*,-./:;?@[\\]_{}
3420 0: !"#%&'()*,-./:;?@[\]_{}
3421 \x{a1}\x{a7}
3422 0: \x{a1}\x{a7}
3423 \x{37e}
3424 0: \x{37e}
3425 \= Expect no match
3426 abcde
3427 No match
3428
3429 /^[[:^graph:]]+$/utf,ucp
3430 \x{09}\x{0a}\x{1D}\x{20}\x{85}\x{a0}\x{1680}
3431 0: \x{09}\x{0a}\x{1d} \x{85}\x{a0}\x{1680}
3432 \x{2028}\x{2029}\x{202f}\x{2065}
3433 0: \x{2028}\x{2029}\x{202f}\x{2065}
3434 \x{3000}\x{e0002}\x{e001f}\x{e0080}
3435 0: \x{3000}\x{e0002}\x{e001f}\x{e0080}
3436 \= Expect no match
3437 Letter:ABC
3438 No match
3439 Mark:\x{300}\x{1d172}\x{1d17b}
3440 No match
3441 Number:9\x{660}
3442 No match
3443 Punctuation:\x{66a},;
3444 No match
3445 Symbol:\x{6de}<>\x{fffc}
3446 No match
3447 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3448 No match
3449 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3450 No match
3451 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3452 No match
3453 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3454 No match
3455 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3456 No match
3457 \x{feff}
3458 No match
3459 \x{fff9}\x{fffa}\x{fffb}
3460 No match
3461 \x{110bd}
3462 No match
3463 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3464 No match
3465 \x{e0001}
3466 No match
3467 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3468 No match
3469
3470 /^[[:^print:]]+$/utf,ucp
3471 \x{09}\x{1D}\x{85}\x{2028}\x{2029}\x{2065}
3472 0: \x{09}\x{1d}\x{85}\x{2028}\x{2029}\x{2065}
3473 \x{e0002}\x{e001f}\x{e0080}
3474 0: \x{e0002}\x{e001f}\x{e0080}
3475 \= Expect no match
3476 Space: \x{a0}
3477 No match
3478 \x{1680}\x{2000}\x{2001}\x{2002}\x{2003}\x{2004}\x{2005}
3479 No match
3480 \x{2006}\x{2007}\x{2008}\x{2009}\x{200a}
3481 No match
3482 \x{202f}\x{205f}
3483 No match
3484 \x{3000}
3485 No match
3486 Letter:ABC
3487 No match
3488 Mark:\x{300}\x{1d172}\x{1d17b}
3489 No match
3490 Number:9\x{660}
3491 No match
3492 Punctuation:\x{66a},;
3493 No match
3494 Symbol:\x{6de}<>\x{fffc}
3495 No match
3496 Cf-property:\x{ad}\x{600}\x{601}\x{602}\x{603}\x{604}\x{6dd}\x{70f}
3497 No match
3498 \x{200b}\x{200c}\x{200d}\x{200e}\x{200f}
3499 No match
3500 \x{202a}\x{202b}\x{202c}\x{202d}\x{202e}
3501 No match
3502 \x{202f}
3503 No match
3504 \x{2060}\x{2061}\x{2062}\x{2063}\x{2064}
3505 No match
3506 \x{206a}\x{206b}\x{206c}\x{206d}\x{206e}\x{206f}
3507 No match
3508 \x{feff}
3509 No match
3510 \x{fff9}\x{fffa}\x{fffb}
3511 No match
3512 \x{110bd}
3513 No match
3514 \x{1d173}\x{1d174}\x{1d175}\x{1d176}\x{1d177}\x{1d178}\x{1d179}\x{1d17a}
3515 No match
3516 \x{e0001}
3517 No match
3518 \x{e0020}\x{e0030}\x{e0040}\x{e0050}\x{e0060}\x{e0070}\x{e007f}
3519 No match
3520
3521 /^[[:^punct:]]+$/utf,ucp
3522 abcde
3523 0: abcde
3524 \= Expect no match
3525 \$+<=>^`|~
3526 No match
3527 !\"#%&'()*,-./:;?@[\\]_{}
3528 No match
3529 \x{a1}\x{a7}
3530 No match
3531 \x{37e}
3532 No match
3533
3534 /[RST]+/i,utf,ucp
3535 Ss\x{17f}
3536 0: Ss\x{17f}
3537
3538 /[R-T]+/i,utf,ucp
3539 Ss\x{17f}
3540 0: Ss\x{17f}
3541
3542 /[q-u]+/i,utf,ucp
3543 Ss\x{17f}
3544 0: Ss\x{17f}
3545
3546 /^s?c/im,utf
3547 scat
3548 0: sc
3549
3550 # The next four tests are for repeated caseless back references when the
3551 # code unit length of the matched text is different to that of the original
3552 # group in the UTF-8 case.
3553
3554 /^(\x{23a})\1*(.)/i,utf
3555 \x{23a}\x{23a}\x{23a}\x{23a}
3556 0: \x{23a}\x{23a}\x{23a}\x{23a}
3557 1: \x{23a}
3558 2: \x{23a}
3559 \x{23a}\x{2c65}\x{2c65}\x{2c65}
3560 0: \x{23a}\x{2c65}\x{2c65}\x{2c65}
3561 1: \x{23a}
3562 2: \x{2c65}
3563 \x{23a}\x{23a}\x{2c65}\x{23a}
3564 0: \x{23a}\x{23a}\x{2c65}\x{23a}
3565 1: \x{23a}
3566 2: \x{23a}
3567
3568 /^(\x{23a})\1*(..)/i,utf
3569 \x{23a}\x{2c65}\x{2c65}\x{2c65}
3570 0: \x{23a}\x{2c65}\x{2c65}\x{2c65}
3571 1: \x{23a}
3572 2: \x{2c65}\x{2c65}
3573 \x{23a}\x{23a}\x{2c65}\x{23a}
3574 0: \x{23a}\x{23a}\x{2c65}\x{23a}
3575 1: \x{23a}
3576 2: \x{2c65}\x{23a}
3577
3578 /^(\x{23a})\1*(...)/i,utf
3579 \x{23a}\x{2c65}\x{2c65}\x{2c65}
3580 0: \x{23a}\x{2c65}\x{2c65}\x{2c65}
3581 1: \x{23a}
3582 2: \x{2c65}\x{2c65}\x{2c65}
3583 \x{23a}\x{23a}\x{2c65}\x{23a}
3584 0: \x{23a}\x{23a}\x{2c65}\x{23a}
3585 1: \x{23a}
3586 2: \x{23a}\x{2c65}\x{23a}
3587
3588 /^(\x{23a})\1*(....)/i,utf
3589 \= Expect no match
3590 \x{23a}\x{2c65}\x{2c65}\x{2c65}
3591 No match
3592 \x{23a}\x{23a}\x{2c65}\x{23a}
3593 No match
3594
3595 /[A-`]/i,utf
3596 abcdefghijklmno
3597 0: a
3598
3599 "[\S\V\H]"utf
3600
3601 /[^\p{Any}]*+x/utf
3602 x
3603 0: x
3604
3605 /[[:punct:]]/utf,ucp
3606 \x{b4}
3607 No match
3608
3609 /[[:^ascii:]]/utf,ucp
3610 \x{100}
3611 0: \x{100}
3612 \x{200}
3613 0: \x{200}
3614 \x{300}
3615 0: \x{300}
3616 \x{37e}
3617 0: \x{37e}
3618 \= Expect no match
3619 aa
3620 No match
3621 99
3622 No match
3623
3624 /[[:^ascii:]\w]/utf,ucp
3625 aa
3626 0: a
3627 99
3628 0: 9
3629 gg
3630 0: g
3631 \x{100}
3632 0: \x{100}
3633 \x{200}
3634 0: \x{200}
3635 \x{300}
3636 0: \x{300}
3637 \x{37e}
3638 0: \x{37e}
3639
3640 /[\w[:^ascii:]]/utf,ucp
3641 aa
3642 0: a
3643 99
3644 0: 9
3645 gg
3646 0: g
3647 \x{100}
3648 0: \x{100}
3649 \x{200}
3650 0: \x{200}
3651 \x{300}
3652 0: \x{300}
3653 \x{37e}
3654 0: \x{37e}
3655
3656 /[^[:ascii:]\W]/utf,ucp
3657 \x{100}
3658 0: \x{100}
3659 \x{200}
3660 0: \x{200}
3661 \= Expect no match
3662 aa
3663 No match
3664 99
3665 No match
3666 gg
3667 No match
3668 \x{37e}
3669 No match
3670
3671 /[^[:^ascii:]\d]/utf,ucp
3672 a
3673 0: a
3674 ~
3675 0: ~
3676 \a
3677 0: \x{07}
3678 \x{7f}
3679 0: \x{7f}
3680 \= Expect no match
3681 0
3682 No match
3683 \x{389}
3684 No match
3685 \x{20ac}
3686 No match
3687
3688 /(?=.*b)\pL/
3689 11bb
3690 0: b
3691
3692 /(?(?=.*b)(?=.*b)\pL|.*c)/
3693 11bb
3694 0: b
3695
3696 /^\x{123}+?$/utf,no_auto_possess
3697 \x{123}\x{123}\x{123}
3698 0: \x{123}\x{123}\x{123}
3699
3700 /^\x{123}+?$/i,utf,no_auto_possess
3701 \x{123}\x{122}\x{123}
3702 0: \x{123}\x{122}\x{123}
3703 \= Expect no match
3704 \x{123}\x{124}\x{123}
3705 No match
3706
3707 /\N{U+1234}/utf
3708 \x{1234}
3709 0: \x{1234}
3710
3711 /[\N{U+1234}]/utf
3712 \x{1234}
3713 0: \x{1234}
3714
3715 # Test the full list of Unicode "Pattern White Space" characters that are to
3716 # be ignored by /x. The pattern lines below may show up oddly in text editors
3717 # or when listed to the screen. Note that characters such as U+2002, which are
3718 # matched as space by \h and \v are *not* "Pattern White Space".
3719
3720 /A…‎‏

B/x,utf
3721 AB
3722 0: AB
3723
3724 /A B/x,utf
3725 A\x{2002}B
3726 0: A\x{2002}B
3727 \= Expect no match
3728 AB
3729 No match
3730
3731 # -------
3732
3733 /[^\x{100}-\x{ffff}]*[\x80-\xff]/utf
3734 \x{99}\x{99}\x{99}
3735 0: \x{99}\x{99}\x{99}
3736
3737 /[^\x{100}-\x{ffff}ABC]*[\x80-\xff]/utf
3738 \x{99}\x{99}\x{99}
3739 0: \x{99}\x{99}\x{99}
3740
3741 /[^\x{100}-\x{ffff}]*[\x80-\xff]/i,utf
3742 \x{99}\x{99}\x{99}
3743 0: \x{99}\x{99}\x{99}
3744
3745 # Script run tests
3746
3747 /^(*script_run:.{4})/utf
3748 abcd Latin x4
3749 0: abcd
3750 \x{2e80}\x{2fa1d}\x{3041}\x{30a1} Han Han Hiragana Katakana
3751 0: \x{2e80}\x{2fa1d}\x{3041}\x{30a1}
3752 \x{3041}\x{30a1}\x{3007}\x{3007} Hiragana Katakana Han Han
3753 0: \x{3041}\x{30a1}\x{3007}\x{3007}
3754 \x{30a1}\x{3041}\x{3007}\x{3007} Katakana Hiragana Han Han
3755 0: \x{30a1}\x{3041}\x{3007}\x{3007}
3756 \x{1100}\x{2e80}\x{2e80}\x{1101} Hangul Han Han Hangul
3757 0: \x{1100}\x{2e80}\x{2e80}\x{1101}
3758 \x{2e80}\x{3105}\x{2e80}\x{3105} Han Bopomofo Han Bopomofo
3759 0: \x{2e80}\x{3105}\x{2e80}\x{3105}
3760 \x{02ea}\x{2e80}\x{2e80}\x{3105} Bopomofo-Sk Han Han Bopomofo
3761 0: \x{2ea}\x{2e80}\x{2e80}\x{3105}
3762 \x{3105}\x{2e80}\x{2e80}\x{3105} Bopomofo Han Han Bopomofo
3763 0: \x{3105}\x{2e80}\x{2e80}\x{3105}
3764 \x{0300}cd! Inherited Latin Latin Common
3765 0: \x{300}cd!
3766 \x{0391}12\x{03a9} Greek Common-digits Greek
3767 0: \x{391}12\x{3a9}
3768 \x{0400}12\x{fe2f} Cyrillic Common-digits Cyrillic
3769 0: \x{400}12\x{fe2f}
3770 \x{0531}12\x{fb17} Armenian Common-digits Armenian
3771 0: \x{531}12\x{fb17}
3772 \x{0591}12\x{fb4f} Hebrew Common-digits Hebrew
3773 0: \x{591}12\x{fb4f}
3774 \x{0600}12\x{1eef1} Arabic Common-digits Arabic
3775 0: \x{600}12\x{1eef1}
3776 \x{0600}\x{0660}\x{0669}\x{1eef1} Arabic Arabic-digits Arabic
3777 0: \x{600}\x{660}\x{669}\x{1eef1}
3778 \x{0700}12\x{086a} Syriac Common-digits Syriac
3779 0: \x{700}12\x{86a}
3780 \x{1200}12\x{ab2e} Ethiopic Common-digits Ethiopic
3781 0: \x{1200}12\x{ab2e}
3782 \x{1680}12\x{169c} Ogham Common-digits Ogham
3783 0: \x{1680}12\x{169c}
3784 \x{3041}12\x{3041} Hiragana Common-digits Hiragana
3785 0: \x{3041}12\x{3041}
3786 \x{0980}\x{09e6}\x{09e7}\x{0993} Bengali Bengali-digits Bengali
3787 0: \x{980}\x{9e6}\x{9e7}\x{993}
3788 !cde Common Latin Latin Latin
3789 0: !cde
3790 A..B Latin Common Common Latin
3791 0: A..B
3792 0abc Ascii-digit Latin Latin Latin
3793 0: 0abc
3794 1\x{0700}\x{0700}\x{0700} Ascii-digit Syriac x 3
3795 0: 1\x{700}\x{700}\x{700}
3796 \x{1A80}\x{1A80}\x{1a40}\x{1a41} Tai Tham Hora digits, letters
3797 0: \x{1a80}\x{1a80}\x{1a40}\x{1a41}
3798 \= Expect no match
3799 a\x{370}bcd Latin Greek Latin Latin
3800 No match
3801 \x{1100}\x{02ea}\x{02ea}\x{02ea} Hangul Bopomofo x3
3802 No match
3803 \x{02ea}\x{02ea}\x{02ea}\x{1100} Bopomofo x3 Hangul
3804 No match
3805 \x{1100}\x{2e80}\x{3041}\x{1101} Hangul Han Hiragana Hangul
3806 No match
3807 \x{0391}\x{09e6}\x{09e7}\x{03a9} Greek Bengali digits Greek
3808 No match
3809 \x{0600}7\x{0669}\x{1eef1} Arabic ascii-digit Arabic-digit Arabic
3810 No match
3811 \x{0600}\x{0669}7\x{1eef1} Arabic Arabic-digit ascii-digit Arabic
3812 No match
3813 A5\x{ff19}B Latin Common-ascii/notascii-digits Latin
3814 No match
3815 \x{0300}cd\x{0391} Inherited Latin Latin Greek
3816 No match
3817 !cd\x{0391} Common Latin Latin Greek
3818 No match
3819 \x{1A80}\x{1A90}\x{1a40}\x{1a41} Tai Tham Hora digit, Tham digit, letters
3820 No match
3821 A\x{1d7ce}\x{1d7ff}B Common fancy-common-2-sets-digits Common
3822 No match
3823 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana
3824 No match
3825
3826 /^(*sr:.{4}|..)/utf
3827 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana
3828 0: \x{2e80}\x{3105}
3829
3830 /^(*atomic_script_run:.{4}|..)/utf
3831 \= Expect no match
3832 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana
3833 No match
3834
3835 /^(*asr:.*)/utf
3836 \= Expect no match
3837 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana
3838 No match
3839
3840 /^(?>(*sr:.*))/utf
3841 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana
3842 0: \x{2e80}\x{3105}\x{2e80}
3843
3844 /^(*sr:.*)/utf
3845 \x{2e80}\x{3105}\x{2e80}\x{30a1} Han Bopomofo Han Katakana
3846 0: \x{2e80}\x{3105}\x{2e80}
3847 \x{10fffd}\x{10fffd}\x{10fffd} Private use (Unknown)
3848 0: \x{10fffd}
3849
3850 /^(*sr:\x{2e80}*)/utf
3851 \x{2e80}\x{2e80}\x{3105} Han Han Bopomofo
3852 0: \x{2e80}\x{2e80}
3853
3854 /^(*sr:\x{2e80}*)\x{2e80}/utf
3855 \x{2e80}\x{2e80}\x{3105} Han Han Bopomofo
3856 0: \x{2e80}\x{2e80}
3857
3858 /^(*sr:.*)Test/utf
3859 Test script run on an empty string
3860 0: Test
3861
3862 /^(*sr:(.{2})){2}/utf
3863 \x{0600}7\x{0669}\x{1eef1} Arabic ascii-digit Arabic-digit Arabic
3864 0: \x{600}7\x{669}\x{1eef1}
3865 1: \x{669}\x{1eef1}
3866 \x{1A80}\x{1A80}\x{1a40}\x{1a41} Tai Tham Hora digits, letters
3867 0: \x{1a80}\x{1a80}\x{1a40}\x{1a41}
3868 1: \x{1a40}\x{1a41}
3869 \x{1A80}\x{1a40}\x{1A90}\x{1a41} Tai Tham Hora digit, letter, Tham digit, letter
3870 0: \x{1a80}\x{1a40}\x{1a90}\x{1a41}
3871 1: \x{1a90}\x{1a41}
3872 \= Expect no match
3873 \x{1100}\x{2e80}\x{3041}\x{1101} Hangul Han Hiragana Hangul
3874 No match
3875
3876 /^(*sr:\S*)/utf
3877 \x{1cf4}\x{20f0}\x{900}\x{11305} [Dev,Gran,Kan] [Dev,Gran,Lat] Dev Gran
3878 0: \x{1cf4}\x{20f0}\x{900}
3879 \x{1cf4}\x{20f0}\x{11305}\x{900} [Dev,Gran,Kan] [Dev,Gran,Lat] Gran Dev
3880 0: \x{1cf4}\x{20f0}\x{11305}
3881 \x{1cf4}\x{20f0}\x{900}ABC [Dev,Gran,Kan] [Dev,Gran,Lat] Dev Lat
3882 0: \x{1cf4}\x{20f0}\x{900}
3883 \x{1cf4}\x{20f0}ABC [Dev,Gran,Kan] [Dev,Gran,Lat] Lat
3884 0: \x{1cf4}\x{20f0}
3885 \x{20f0}ABC [Dev,Gran,Lat] Lat
3886 0: \x{20f0}ABC
3887 XYZ\x{20f0}ABC Lat [Dev,Gran,Lat] Lat
3888 0: XYZ\x{20f0}ABC
3889 \x{a36}\x{a33}\x{900} [Dev,...] [Dev,...] Dev
3890 0: \x{a36}\x{a33}
3891 \x{3001}\x{2e80}\x{3041}\x{30a1} [Bopo, Han, etc] Han Hira Kata
3892 0: \x{3001}\x{2e80}\x{3041}\x{30a1}
3893 \x{3001}\x{30a1}\x{2e80}\x{3041} [Bopo, Han, etc] Kata Han Hira
3894 0: \x{3001}\x{30a1}\x{2e80}\x{3041}
3895 \x{3001}\x{3105}\x{2e80}\x{1101} [Bopo, Han, etc] Bopomofo Han Hangul
3896 0: \x{3001}\x{3105}\x{2e80}
3897 \x{3105}\x{3001}\x{2e80}\x{1101} Bopomofo [Bopo, Han, etc] Han Hangul
3898 0: \x{3105}\x{3001}\x{2e80}
3899 \x{3031}\x{3041}\x{30a1}\x{2e80} [Hira Kata] Hira Kata Han
3900 0: \x{3031}\x{3041}\x{30a1}\x{2e80}
3901 \x{060c}\x{06d4}\x{0600}\x{10d00}\x{0700} [Arab Rohg Syrc Thaa] [Arab Rohg] Arab Rohg Syrc
3902 0: \x{60c}\x{6d4}\x{600}
3903 \x{060c}\x{06d4}\x{0700}\x{0600}\x{10d00} [Arab Rohg Syrc Thaa] [Arab Rohg] Syrc Arab Rohg
3904 0: \x{60c}\x{6d4}
3905 \x{2e80}\x{3041}\x{3001}\x{3031}\x{2e80} Han Hira [Bopo, Han, etc] [Hira Kata] Han
3906 0: \x{2e80}\x{3041}\x{3001}\x{3031}\x{2e80}
3907
3908 /(?<!)(*sr:)/
3909
3910 /(?<!X(*sr:B)C)/
3911
3912 /(?<=abc(?=X(*sr:BCY)Z)XBCYZ)./
3913 abcXBCYZ!
3914 0: !
3915
3916 /(?<=abc(?=X(*sr:BXY)CCC)XBXYCCC)./
3917 abcXBXYCCC!
3918 0: !
3919
3920 /^(*sr:\S*)/utf
3921 \x{10d00}\x{10d00}\x{06d4} Rohingya Rohingya Arabic-full-stop
3922 0: \x{10d00}\x{10d00}\x{6d4}
3923 \x{06d4}\x{10d00}\x{10d00} Arabic-full-stop Rohingya Rohingya
3924 0: \x{6d4}\x{10d00}\x{10d00}
3925 \x{10d00}\x{10d00}\x{0363} Rohingya Rohingya Inherited-extend-Latin
3926 0: \x{10d00}\x{10d00}
3927 \x{0363}\x{10d00}\x{10d00} Inherited-extend-Latin Rohingya Rohingya
3928 0: \x{363}
3929 AB\x{0363} Latin Latin Inherited-extend-Latin
3930 0: AB\x{363}
3931 \x{0363}AB Inherited-extend-Latin Latin Latin
3932 0: \x{363}AB
3933 AB\x{1cf7} Latin Latin Common-extended-Beng
3934 0: AB
3935 \x{1cf7}AB Common-extend-Beng Latin Latin
3936 0: \x{1cf7}
3937 \x{1cf7}\x{0993} Common-extend-Beng Bengali
3938 0: \x{1cf7}\x{993}
3939 A\x{1abe}BC Test enclosing mark
3940 0: A\x{1abe}BC
3941 \x{0370}\x{1abe}\x{0371} Which can occur with any script (Greek here)
3942 0: \x{370}\x{1abe}\x{371}
3943 \x{3001}\x{adf9}\x{3001} [.. Hangul ..] Hangul [.. Hangul ..]
3944 0: \x{3001}\x{adf9}\x{3001}
3945 \x{3400}\x{3001}XXX Han [Han etc.]
3946 0: \x{3400}\x{3001}
3947 \x{3400}\x{1cd5} Han [Bengali Devanagari]
3948 0: \x{3400}
3949 \x{ac01}\x{3400} Hangul [.. Hangul ..]
3950 0: \x{ac01}\x{3400}
3951 \x{ac01}\x{1cd5} Hangul [Bengali Devanagari]
3952 0: \x{ac01}
3953 \x{102e0}\x{06d4}\x{1ee4d} [Arabic Coptic] [Arab Rohingya] Arabic
3954 0: \x{102e0}\x{6d4}\x{1ee4d}
3955 \x{102e0}\x{06d4}\x{2cc9} [Arabic Coptic] [Arab Rohingya] Coptic
3956 0: \x{102e0}\x{6d4}
3957 \x{102e0}\x{06d4}\x{10d30} [Arabic Coptic] [Arab Rohingya] Rohingya
3958 0: \x{102e0}\x{6d4}
3959
3960 # Test loop breaking for empty string match
3961
3962 /^(*sr:A|)*BCD/utf
3963 AABCD
3964 0: AABCD
3965 ABCD
3966 0: ABCD
3967 BCD
3968 0: BCD
3969
3970 # The use of (*ACCEPT) breaks script run checking
3971
3972 /^(*sr:.*(*ACCEPT)ZZ)/utf
3973 \x{1100}\x{2e80}\x{3041}\x{1101} Hangul Han Hiragana Hangul
3974 0: \x{1100}\x{2e80}\x{3041}\x{1101} Hangul Han Hiragana Hangul
3975
3976 # -------
3977
3978 # Test group names containing non-ASCII letters and digits
3979
3980 /(?'ABáC'...)\g{ABáC}/utf
3981 abcabcdefg
3982 0: abcabc
3983 1: abc
3984
3985 /(?'XʰABC'...)/utf
3986 xyzpq
3987 0: xyz
3988 1: xyz
3989
3990 /(?'XאABC'...)/utf
3991 12345
3992 0: 123
3993 1: 123
3994
3995 /(?'XᾈABC'...)/utf
3996 %^&*(...
3997 0: %^&
3998 1: %^&
3999
4000 /(?'𐨐ABC'...)/utf
4001 abcde
4002 0: abc
4003 1: abc
4004
4005 /^(?'אABC'...)(?&אABC)(?P=אABC)/utf
4006 123123123456
4007 0: 123123123
4008 1: 123
4009
4010 /^(?'אABC'...)(?&אABC)/utf
4011 123123123456
4012 0: 123123
4013 1: 123
4014
4015 /\X*/
4016 \xF3aaa\xE4\xEA\xEB\xFEa
4017 0: \xf3aaa\xe4\xea\xeb\xfea
4018
4019 # End of testinput4

  ViewVC Help
Powered by ViewVC 1.1.5