Annotation of embedaddon/php/ext/pcre/pcrelib/testdata/testinput9, revision 1.1.1.1
1.1 misho 1: /-- This set of tests check Unicode property support with the DFA matching
2: functionality of pcre_dfa_exec(). The -dfa flag must be used with pcretest
3: when running it. --/
4:
5: /\pL\P{Nd}/8
6: AB
7: *** Failers
8: A0
9: 00
10:
11: /\X./8
12: AB
13: A\x{300}BC
14: A\x{300}\x{301}\x{302}BC
15: *** Failers
16: \x{300}
17:
18: /\X\X/8
19: ABC
20: A\x{300}B\x{300}\x{301}C
21: A\x{300}\x{301}\x{302}BC
22: *** Failers
23: \x{300}
24:
25: /^\pL+/8
26: abcd
27: a
28: *** Failers
29:
30: /^\PL+/8
31: 1234
32: =
33: *** Failers
34: abcd
35:
36: /^\X+/8
37: abcdA\x{300}\x{301}\x{302}
38: A\x{300}\x{301}\x{302}
39: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}
40: a
41: *** Failers
42: \x{300}\x{301}\x{302}
43:
44: /\X?abc/8
45: abc
46: A\x{300}abc
47: A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
48: \x{300}abc
49: *** Failers
50:
51: /^\X?abc/8
52: abc
53: A\x{300}abc
54: *** Failers
55: A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
56: \x{300}abc
57:
58: /\X*abc/8
59: abc
60: A\x{300}abc
61: A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
62: \x{300}abc
63: *** Failers
64:
65: /^\X*abc/8
66: abc
67: A\x{300}abc
68: A\x{300}\x{301}\x{302}A\x{300}A\x{300}A\x{300}abcxyz
69: *** Failers
70: \x{300}abc
71:
72: /^\pL?=./8
73: A=b
74: =c
75: *** Failers
76: 1=2
77: AAAA=b
78:
79: /^\pL*=./8
80: AAAA=b
81: =c
82: *** Failers
83: 1=2
84:
85: /^\X{2,3}X/8
86: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
87: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
88: *** Failers
89: X
90: A\x{300}\x{301}\x{302}X
91: A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}A\x{300}\x{301}\x{302}X
92:
93: /^\pC\pL\pM\pN\pP\pS\pZ</8
94: \x7f\x{c0}\x{30f}\x{660}\x{66c}\x{f01}\x{1680}<
95: \np\x{300}9!\$ <
96: ** Failers
97: ap\x{300}9!\$ <
98:
99: /^\PC/8
100: X
101: ** Failers
102: \x7f
103:
104: /^\PL/8
105: 9
106: ** Failers
107: \x{c0}
108:
109: /^\PM/8
110: X
111: ** Failers
112: \x{30f}
113:
114: /^\PN/8
115: X
116: ** Failers
117: \x{660}
118:
119: /^\PP/8
120: X
121: ** Failers
122: \x{66c}
123:
124: /^\PS/8
125: X
126: ** Failers
127: \x{f01}
128:
129: /^\PZ/8
130: X
131: ** Failers
132: \x{1680}
133:
134: /^\p{Cc}/8
135: \x{017}
136: \x{09f}
137: ** Failers
138: \x{0600}
139:
140: /^\p{Cf}/8
141: \x{601}
142: ** Failers
143: \x{09f}
144:
145: /^\p{Cn}/8
146: ** Failers
147: \x{09f}
148:
149: /^\p{Co}/8
150: \x{f8ff}
151: ** Failers
152: \x{09f}
153:
154: /^\p{Cs}/8
155: \?\x{dfff}
156: ** Failers
157: \x{09f}
158:
159: /^\p{Ll}/8
160: a
161: ** Failers
162: Z
163: \x{e000}
164:
165: /^\p{Lm}/8
166: \x{2b0}
167: ** Failers
168: a
169:
170: /^\p{Lo}/8
171: \x{1bb}
172: ** Failers
173: a
174: \x{2b0}
175:
176: /^\p{Lt}/8
177: \x{1c5}
178: ** Failers
179: a
180: \x{2b0}
181:
182: /^\p{Lu}/8
183: A
184: ** Failers
185: \x{2b0}
186:
187: /^\p{Mc}/8
188: \x{903}
189: ** Failers
190: X
191: \x{300}
192:
193: /^\p{Me}/8
194: \x{488}
195: ** Failers
196: X
197: \x{903}
198: \x{300}
199:
200: /^\p{Mn}/8
201: \x{300}
202: ** Failers
203: X
204: \x{903}
205:
206: /^\p{Nd}+/8
207: 0123456789\x{660}\x{661}\x{662}\x{663}\x{664}\x{665}\x{666}\x{667}\x{668}\x{669}\x{66a}
208: \x{6f0}\x{6f1}\x{6f2}\x{6f3}\x{6f4}\x{6f5}\x{6f6}\x{6f7}\x{6f8}\x{6f9}\x{6fa}
209: \x{966}\x{967}\x{968}\x{969}\x{96a}\x{96b}\x{96c}\x{96d}\x{96e}\x{96f}\x{970}
210: ** Failers
211: X
212:
213: /^\p{Nl}/8
214: \x{16ee}
215: ** Failers
216: X
217: \x{966}
218:
219: /^\p{No}/8
220: \x{b2}
221: \x{b3}
222: ** Failers
223: X
224: \x{16ee}
225:
226: /^\p{Pc}/8
227: \x5f
228: \x{203f}
229: ** Failers
230: X
231: -
232: \x{58a}
233:
234: /^\p{Pd}/8
235: -
236: \x{58a}
237: ** Failers
238: X
239: \x{203f}
240:
241: /^\p{Pe}/8
242: )
243: ]
244: }
245: \x{f3b}
246: ** Failers
247: X
248: \x{203f}
249: (
250: [
251: {
252: \x{f3c}
253:
254: /^\p{Pf}/8
255: \x{bb}
256: \x{2019}
257: ** Failers
258: X
259: \x{203f}
260:
261: /^\p{Pi}/8
262: \x{ab}
263: \x{2018}
264: ** Failers
265: X
266: \x{203f}
267:
268: /^\p{Po}/8
269: !
270: \x{37e}
271: ** Failers
272: X
273: \x{203f}
274:
275: /^\p{Ps}/8
276: (
277: [
278: {
279: \x{f3c}
280: ** Failers
281: X
282: )
283: ]
284: }
285: \x{f3b}
286:
287: /^\p{Sc}+/8
288: $\x{a2}\x{a3}\x{a4}\x{a5}\x{a6}
289: \x{9f2}
290: ** Failers
291: X
292: \x{2c2}
293:
294: /^\p{Sk}/8
295: \x{2c2}
296: ** Failers
297: X
298: \x{9f2}
299:
300: /^\p{Sm}+/8
301: +<|~\x{ac}\x{2044}
302: ** Failers
303: X
304: \x{9f2}
305:
306: /^\p{So}/8
307: \x{a6}
308: \x{482}
309: ** Failers
310: X
311: \x{9f2}
312:
313: /^\p{Zl}/8
314: \x{2028}
315: ** Failers
316: X
317: \x{2029}
318:
319: /^\p{Zp}/8
320: \x{2029}
321: ** Failers
322: X
323: \x{2028}
324:
325: /^\p{Zs}/8
326: \ \
327: \x{a0}
328: \x{1680}
329: \x{180e}
330: \x{2000}
331: \x{2001}
332: ** Failers
333: \x{2028}
334: \x{200d}
335:
336: /\p{Nd}+(..)/8
337: \x{660}\x{661}\x{662}ABC
338:
339: /\p{Nd}+?(..)/8
340: \x{660}\x{661}\x{662}ABC
341:
342: /\p{Nd}{2,}(..)/8
343: \x{660}\x{661}\x{662}ABC
344:
345: /\p{Nd}{2,}?(..)/8
346: \x{660}\x{661}\x{662}ABC
347:
348: /\p{Nd}*(..)/8
349: \x{660}\x{661}\x{662}ABC
350:
351: /\p{Nd}*?(..)/8
352: \x{660}\x{661}\x{662}ABC
353:
354: /\p{Nd}{2}(..)/8
355: \x{660}\x{661}\x{662}ABC
356:
357: /\p{Nd}{2,3}(..)/8
358: \x{660}\x{661}\x{662}ABC
359:
360: /\p{Nd}{2,3}?(..)/8
361: \x{660}\x{661}\x{662}ABC
362:
363: /\p{Nd}?(..)/8
364: \x{660}\x{661}\x{662}ABC
365:
366: /\p{Nd}??(..)/8
367: \x{660}\x{661}\x{662}ABC
368:
369: /\p{Nd}*+(..)/8
370: \x{660}\x{661}\x{662}ABC
371:
372: /\p{Nd}*+(...)/8
373: \x{660}\x{661}\x{662}ABC
374:
375: /\p{Nd}*+(....)/8
376: ** Failers
377: \x{660}\x{661}\x{662}ABC
378:
379: /\p{Lu}/8i
380: A
381: a\x{10a0}B
382: ** Failers
383: a
384: \x{1d00}
385:
386: /\p{^Lu}/8i
387: 1234
388: ** Failers
389: ABC
390:
391: /\P{Lu}/8i
392: 1234
393: ** Failers
394: ABC
395:
396: /(?<=A\p{Nd})XYZ/8
397: A2XYZ
398: 123A5XYZPQR
399: ABA\x{660}XYZpqr
400: ** Failers
401: AXYZ
402: XYZ
403:
404: /(?<!\pL)XYZ/8
405: 1XYZ
406: AB=XYZ..
407: XYZ
408: ** Failers
409: WXYZ
410:
411: /[\p{Nd}]/8
412: 1234
413:
414: /[\p{Nd}+-]+/8
415: 1234
416: 12-34
417: 12+\x{661}-34
418: ** Failers
419: abcd
420:
421: /[\P{Nd}]+/8
422: abcd
423: ** Failers
424: 1234
425:
426: /\D+/8
427: 11111111111111111111111111111111111111111111111111111111111111111111111
428: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
429:
430: /\P{Nd}+/8
431: 11111111111111111111111111111111111111111111111111111111111111111111111
432: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
433:
434: /[\D]+/8
435: 11111111111111111111111111111111111111111111111111111111111111111111111
436: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
437:
438: /[\P{Nd}]+/8
439: 11111111111111111111111111111111111111111111111111111111111111111111111
440: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
441:
442: /[\D\P{Nd}]+/8
443: 11111111111111111111111111111111111111111111111111111111111111111111111
444: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
445:
446: /\pL/8
447: a
448: A
449:
450: /\pL/8i
451: a
452: A
453:
454: /\p{Lu}/8
455: A
456: aZ
457: ** Failers
458: abc
459:
460: /\p{Lu}/8i
461: A
462: aZ
463: ** Failers
464: abc
465:
466: /\p{Ll}/8
467: a
468: Az
469: ** Failers
470: ABC
471:
472: /\p{Ll}/8i
473: a
474: Az
475: ** Failers
476: ABC
477:
478: /^\x{c0}$/8i
479: \x{c0}
480: \x{e0}
481:
482: /^\x{e0}$/8i
483: \x{c0}
484: \x{e0}
485:
486: /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8
487: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
488: ** Failers
489: a\x{391}\x{10427}\x{ff3a}\x{1fb0}
490: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
491: A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
492: A\x{391}\x{10427}\x{ff5a}\x{1fb0}
493: A\x{391}\x{10427}\x{ff3a}\x{1fb8}
494:
495: /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/8i
496: A\x{391}\x{10427}\x{ff3a}\x{1fb0}
497: a\x{391}\x{10427}\x{ff3a}\x{1fb0}
498: A\x{3b1}\x{10427}\x{ff3a}\x{1fb0}
499: A\x{391}\x{1044F}\x{ff3a}\x{1fb0}
500: A\x{391}\x{10427}\x{ff5a}\x{1fb0}
501: A\x{391}\x{10427}\x{ff3a}\x{1fb8}
502:
503: /\x{391}+/8i
504: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}
505:
506: /\x{391}{3,5}(.)/8i
507: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
508:
509: /\x{391}{3,5}?(.)/8i
510: \x{391}\x{3b1}\x{3b1}\x{3b1}\x{391}X
511:
512: /[\x{391}\x{ff3a}]/8i
513: \x{391}
514: \x{ff3a}
515: \x{3b1}
516: \x{ff5a}
517:
518: /[\x{c0}\x{391}]/8i
519: \x{c0}
520: \x{e0}
521:
522: /[\x{105}-\x{109}]/8i
523: \x{104}
524: \x{105}
525: \x{109}
526: ** Failers
527: \x{100}
528: \x{10a}
529:
530: /[z-\x{100}]/8i
531: Z
532: z
533: \x{39c}
534: \x{178}
535: |
536: \x{80}
537: \x{ff}
538: \x{100}
539: \x{101}
540: ** Failers
541: \x{102}
542: Y
543: y
544:
545: /[z-\x{100}]/8i
546:
547: /^\X/8
548: A
549: A\x{300}BC
550: A\x{300}\x{301}\x{302}BC
551: *** Failers
552: \x{300}
553:
554: /^[\X]/8
555: X123
556: *** Failers
557: AXYZ
558:
559: /^(\X*)C/8
560: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
561: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
562:
563: /^(\X*?)C/8
564: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
565: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
566:
567: /^(\X*)(.)/8
568: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
569: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
570:
571: /^(\X*?)(.)/8
572: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}
573: A\x{300}\x{301}\x{302}BCA\x{300}\x{301}C
574:
575: /^\X(.)/8
576: *** Failers
577: A\x{300}\x{301}\x{302}
578:
579: /^\X{2,3}(.)/8
580: A\x{300}\x{301}B\x{300}X
581: A\x{300}\x{301}B\x{300}C\x{300}\x{301}
582: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
583: A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
584:
585: /^\X{2,3}?(.)/8
586: A\x{300}\x{301}B\x{300}X
587: A\x{300}\x{301}B\x{300}C\x{300}\x{301}
588: A\x{300}\x{301}B\x{300}C\x{300}\x{301}X
589: A\x{300}\x{301}B\x{300}C\x{300}\x{301}DA\x{300}X
590:
591: /^\pN{2,3}X/
592: 12X
593: 123X
594: *** Failers
595: X
596: 1X
597: 1234X
598:
599: /\x{100}/i8
600: \x{100}
601: \x{101}
602:
603: /^\p{Han}+/8
604: \x{2e81}\x{3007}\x{2f804}\x{31a0}
605: ** Failers
606: \x{2e7f}
607:
608: /^\P{Katakana}+/8
609: \x{3105}
610: ** Failers
611: \x{30ff}
612:
613: /^[\p{Arabic}]/8
614: \x{06e9}
615: \x{060b}
616: ** Failers
617: X\x{06e9}
618:
619: /^[\P{Yi}]/8
620: \x{2f800}
621: ** Failers
622: \x{a014}
623: \x{a4c6}
624:
625: /^\p{Any}X/8
626: AXYZ
627: \x{1234}XYZ
628: ** Failers
629: X
630:
631: /^\P{Any}X/8
632: ** Failers
633: AX
634:
635: /^\p{Any}?X/8
636: XYZ
637: AXYZ
638: \x{1234}XYZ
639: ** Failers
640: ABXYZ
641:
642: /^\P{Any}?X/8
643: XYZ
644: ** Failers
645: AXYZ
646: \x{1234}XYZ
647: ABXYZ
648:
649: /^\p{Any}+X/8
650: AXYZ
651: \x{1234}XYZ
652: A\x{1234}XYZ
653: ** Failers
654: XYZ
655:
656: /^\P{Any}+X/8
657: ** Failers
658: AXYZ
659: \x{1234}XYZ
660: A\x{1234}XYZ
661: XYZ
662:
663: /^\p{Any}*X/8
664: XYZ
665: AXYZ
666: \x{1234}XYZ
667: A\x{1234}XYZ
668: ** Failers
669:
670: /^\P{Any}*X/8
671: XYZ
672: ** Failers
673: AXYZ
674: \x{1234}XYZ
675: A\x{1234}XYZ
676:
677: /^[\p{Any}]X/8
678: AXYZ
679: \x{1234}XYZ
680: ** Failers
681: X
682:
683: /^[\P{Any}]X/8
684: ** Failers
685: AX
686:
687: /^[\p{Any}]?X/8
688: XYZ
689: AXYZ
690: \x{1234}XYZ
691: ** Failers
692: ABXYZ
693:
694: /^[\P{Any}]?X/8
695: XYZ
696: ** Failers
697: AXYZ
698: \x{1234}XYZ
699: ABXYZ
700:
701: /^[\p{Any}]+X/8
702: AXYZ
703: \x{1234}XYZ
704: A\x{1234}XYZ
705: ** Failers
706: XYZ
707:
708: /^[\P{Any}]+X/8
709: ** Failers
710: AXYZ
711: \x{1234}XYZ
712: A\x{1234}XYZ
713: XYZ
714:
715: /^[\p{Any}]*X/8
716: XYZ
717: AXYZ
718: \x{1234}XYZ
719: A\x{1234}XYZ
720: ** Failers
721:
722: /^[\P{Any}]*X/8
723: XYZ
724: ** Failers
725: AXYZ
726: \x{1234}XYZ
727: A\x{1234}XYZ
728:
729: /^\p{Any}{3,5}?/8
730: abcdefgh
731: \x{1234}\n\r\x{3456}xyz
732:
733: /^\p{Any}{3,5}/8
734: abcdefgh
735: \x{1234}\n\r\x{3456}xyz
736:
737: /^\P{Any}{3,5}?/8
738: ** Failers
739: abcdefgh
740: \x{1234}\n\r\x{3456}xyz
741:
742: /^\p{L&}X/8
743: AXY
744: aXY
745: \x{1c5}XY
746: ** Failers
747: \x{1bb}XY
748: \x{2b0}XY
749: !XY
750:
751: /^[\p{L&}]X/8
752: AXY
753: aXY
754: \x{1c5}XY
755: ** Failers
756: \x{1bb}XY
757: \x{2b0}XY
758: !XY
759:
760: /^\p{L&}+X/8
761: AXY
762: aXY
763: AbcdeXyz
764: \x{1c5}AbXY
765: abcDEXypqreXlmn
766: ** Failers
767: \x{1bb}XY
768: \x{2b0}XY
769: !XY
770:
771: /^[\p{L&}]+X/8
772: AXY
773: aXY
774: AbcdeXyz
775: \x{1c5}AbXY
776: abcDEXypqreXlmn
777: ** Failers
778: \x{1bb}XY
779: \x{2b0}XY
780: !XY
781:
782: /^\p{L&}+?X/8
783: AXY
784: aXY
785: AbcdeXyz
786: \x{1c5}AbXY
787: abcDEXypqreXlmn
788: ** Failers
789: \x{1bb}XY
790: \x{2b0}XY
791: !XY
792:
793: /^[\p{L&}]+?X/8
794: AXY
795: aXY
796: AbcdeXyz
797: \x{1c5}AbXY
798: abcDEXypqreXlmn
799: ** Failers
800: \x{1bb}XY
801: \x{2b0}XY
802: !XY
803:
804: /^\P{L&}X/8
805: !XY
806: \x{1bb}XY
807: \x{2b0}XY
808: ** Failers
809: \x{1c5}XY
810: AXY
811:
812: /^[\P{L&}]X/8
813: !XY
814: \x{1bb}XY
815: \x{2b0}XY
816: ** Failers
817: \x{1c5}XY
818: AXY
819:
820: /^\x{023a}+?(\x{0130}+)/8i
821: \x{023a}\x{2c65}\x{0130}
822:
823: /^\x{023a}+([^X])/8i
824: \x{023a}\x{2c65}X
825:
826: /\x{c0}+\x{116}+/8i
827: \x{c0}\x{e0}\x{116}\x{117}
828:
829: /[\x{c0}\x{116}]+/8i
830: \x{c0}\x{e0}\x{116}\x{117}
831:
832: /Check property support in non-UTF-8 mode/
833:
834: /\p{L}{4}/
835: 123abcdefg
836: 123abc\xc4\xc5zz
837:
838: /\p{Carian}\p{Cham}\p{Kayah_Li}\p{Lepcha}\p{Lycian}\p{Lydian}\p{Ol_Chiki}\p{Rejang}\p{Saurashtra}\p{Sundanese}\p{Vai}/8
839: \x{102A4}\x{AA52}\x{A91D}\x{1C46}\x{10283}\x{1092E}\x{1C6B}\x{A93B}\x{A8BF}\x{1BA0}\x{A50A}====
840:
841: /\x{a77d}\x{1d79}/8i
842: \x{a77d}\x{1d79}
843: \x{1d79}\x{a77d}
844:
845: /\x{a77d}\x{1d79}/8
846: \x{a77d}\x{1d79}
847: ** Failers
848: \x{1d79}\x{a77d}
849:
850: /^\p{Xan}/8
851: ABCD
852: 1234
853: \x{6ca}
854: \x{a6c}
855: \x{10a7}
856: ** Failers
857: _ABC
858:
859: /^\p{Xan}+/8
860: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
861: ** Failers
862: _ABC
863:
864: /^\p{Xan}*/8
865: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
866:
867: /^\p{Xan}{2,9}/8
868: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
869:
870: /^[\p{Xan}]/8
871: ABCD1234_
872: 1234abcd_
873: \x{6ca}
874: \x{a6c}
875: \x{10a7}
876: ** Failers
877: _ABC
878:
879: /^[\p{Xan}]+/8
880: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
881: ** Failers
882: _ABC
883:
884: /^>\p{Xsp}/8
885: >\x{1680}\x{2028}\x{0b}
886: ** Failers
887: \x{0b}
888:
889: /^>\p{Xsp}+/8
890: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
891:
892: /^>\p{Xsp}*/8
893: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
894:
895: /^>\p{Xsp}{2,9}/8
896: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
897:
898: /^>[\p{Xsp}]/8
899: >\x{2028}\x{0b}
900:
901: /^>[\p{Xsp}]+/8
902: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
903:
904: /^>\p{Xps}/8
905: >\x{1680}\x{2028}\x{0b}
906: >\x{a0}
907: ** Failers
908: \x{0b}
909:
910: /^>\p{Xps}+/8
911: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
912:
913: /^>\p{Xps}+?/8
914: >\x{1680}\x{2028}\x{0b}
915:
916: /^>\p{Xps}*/8
917: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
918:
919: /^>\p{Xps}{2,9}/8
920: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
921:
922: /^>\p{Xps}{2,9}?/8
923: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
924:
925: /^>[\p{Xps}]/8
926: >\x{2028}\x{0b}
927:
928: /^>[\p{Xps}]+/8
929: > \x{09}\x{0a}\x{0c}\x{0d}\x{a0}\x{1680}\x{2028}\x{0b}
930:
931: /^\p{Xwd}/8
932: ABCD
933: 1234
934: \x{6ca}
935: \x{a6c}
936: \x{10a7}
937: _ABC
938: ** Failers
939: []
940:
941: /^\p{Xwd}+/8
942: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
943:
944: /^\p{Xwd}*/8
945: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
946:
947: /^\p{Xwd}{2,9}/8
948: A_12\x{6ca}\x{a6c}\x{10a7}
949:
950: /^[\p{Xwd}]/8
951: ABCD1234_
952: 1234abcd_
953: \x{6ca}
954: \x{a6c}
955: \x{10a7}
956: _ABC
957: ** Failers
958: []
959:
960: /^[\p{Xwd}]+/8
961: ABCD1234\x{6ca}\x{a6c}\x{10a7}_
962:
963: /-- Unicode properties for \b abd \B --/
964:
965: /\b...\B/8W
966: abc_
967: \x{37e}abc\x{376}
968: \x{37e}\x{376}\x{371}\x{393}\x{394}
969: !\x{c0}++\x{c1}\x{c2}
970: !\x{c0}+++++
971:
972: /-- Without PCRE_UCP, non-ASCII always fail, even if < 256 --/
973:
974: /\b...\B/8
975: abc_
976: ** Failers
977: \x{37e}abc\x{376}
978: \x{37e}\x{376}\x{371}\x{393}\x{394}
979: !\x{c0}++\x{c1}\x{c2}
980: !\x{c0}+++++
981:
982: /-- With PCRE_UCP, non-UTF8 chars that are < 256 still check properties --/
983:
984: /\b...\B/W
985: abc_
986: !\x{c0}++\x{c1}\x{c2}
987: !\x{c0}+++++
988:
989: /-- End of testinput9 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>