Annotation of embedaddon/pcre/testdata/testoutput5, revision 1.1.1.4
1.1.1.2 misho 1: /-- This set of tests checks the API, internals, and non-Perl stuff for UTF
2: support, excluding Unicode properties. However, tests that give different
3: results in 8-bit and 16-bit modes are excluded (see tests 16 and 17). --/
1.1 misho 4:
1.1.1.2 misho 5: /\x{110000}/8DZ
6: Failed: character value in \x{...} sequence is too large at offset 9
1.1 misho 7:
8: /\x{ffffffff}/8
9: Failed: character value in \x{...} sequence is too large at offset 11
10:
11: /\x{100000000}/8
12: Failed: character value in \x{...} sequence is too large at offset 12
13:
1.1.1.2 misho 14: /\x{d800}/8
15: Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
16:
17: /\x{dfff}/8
18: Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
19:
20: /\x{d7ff}/8
21:
22: /\x{e000}/8
23:
1.1 misho 24: /^\x{100}a\x{1234}/8
25: \x{100}a\x{1234}bcd
26: 0: \x{100}a\x{1234}
27:
28: /\x{0041}\x{2262}\x{0391}\x{002e}/DZ8
29: ------------------------------------------------------------------
30: Bra
31: A\x{2262}\x{391}.
32: Ket
33: End
34: ------------------------------------------------------------------
35: Capturing subpattern count = 0
1.1.1.2 misho 36: Options: utf
1.1 misho 37: First char = 'A'
38: Need char = '.'
39: \x{0041}\x{2262}\x{0391}\x{002e}
40: 0: A\x{2262}\x{391}.
41:
42: /.{3,5}X/DZ8
43: ------------------------------------------------------------------
44: Bra
45: Any{3}
46: Any{0,2}
47: X
48: Ket
49: End
50: ------------------------------------------------------------------
51: Capturing subpattern count = 0
1.1.1.2 misho 52: Options: utf
1.1 misho 53: No first char
54: Need char = 'X'
55: \x{212ab}\x{212ab}\x{212ab}\x{861}X
56: 0: \x{212ab}\x{212ab}\x{212ab}\x{861}X
57:
58: /.{3,5}?/DZ8
59: ------------------------------------------------------------------
60: Bra
61: Any{3}
62: Any{0,2}?
63: Ket
64: End
65: ------------------------------------------------------------------
66: Capturing subpattern count = 0
1.1.1.2 misho 67: Options: utf
1.1 misho 68: No first char
69: No need char
70: \x{212ab}\x{212ab}\x{212ab}\x{861}
71: 0: \x{212ab}\x{212ab}\x{212ab}
72:
73: /(?<=\C)X/8
74: Failed: \C not allowed in lookbehind assertion at offset 6
75:
76: /^[ab]/8DZ
77: ------------------------------------------------------------------
78: Bra
79: ^
80: [ab]
81: Ket
82: End
83: ------------------------------------------------------------------
84: Capturing subpattern count = 0
1.1.1.2 misho 85: Options: anchored utf
1.1 misho 86: No first char
87: No need char
88: bar
89: 0: b
90: *** Failers
91: No match
92: c
93: No match
94: \x{ff}
95: No match
96: \x{100}
97: No match
98:
99: /^[^ab]/8DZ
100: ------------------------------------------------------------------
101: Bra
102: ^
103: [\x00-`c-\xff] (neg)
104: Ket
105: End
106: ------------------------------------------------------------------
107: Capturing subpattern count = 0
1.1.1.2 misho 108: Options: anchored utf
1.1 misho 109: No first char
110: No need char
111: c
112: 0: c
113: \x{ff}
114: 0: \x{ff}
115: \x{100}
116: 0: \x{100}
117: *** Failers
118: 0: *
119: aaa
120: No match
121:
122: /\x{100}*(\d+|"(?1)")/8
123: 1234
124: 0: 1234
125: 1: 1234
126: "1234"
127: 0: "1234"
128: 1: "1234"
129: \x{100}1234
130: 0: \x{100}1234
131: 1: 1234
132: "\x{100}1234"
133: 0: \x{100}1234
134: 1: 1234
135: \x{100}\x{100}12ab
136: 0: \x{100}\x{100}12
137: 1: 12
138: \x{100}\x{100}"12"
139: 0: \x{100}\x{100}"12"
140: 1: "12"
141: *** Failers
142: No match
143: \x{100}\x{100}abcd
144: No match
145:
146: /\x{100}*/8DZ
147: ------------------------------------------------------------------
148: Bra
149: \x{100}*
150: Ket
151: End
152: ------------------------------------------------------------------
153: Capturing subpattern count = 0
1.1.1.2 misho 154: Options: utf
1.1 misho 155: No first char
156: No need char
157:
158: /a\x{100}*/8DZ
159: ------------------------------------------------------------------
160: Bra
161: a
162: \x{100}*
163: Ket
164: End
165: ------------------------------------------------------------------
166: Capturing subpattern count = 0
1.1.1.2 misho 167: Options: utf
1.1 misho 168: First char = 'a'
169: No need char
170:
171: /ab\x{100}*/8DZ
172: ------------------------------------------------------------------
173: Bra
174: ab
175: \x{100}*
176: Ket
177: End
178: ------------------------------------------------------------------
179: Capturing subpattern count = 0
1.1.1.2 misho 180: Options: utf
1.1 misho 181: First char = 'a'
182: Need char = 'b'
183:
184: /\x{100}*A/8DZ
185: ------------------------------------------------------------------
186: Bra
187: \x{100}*+
188: A
189: Ket
190: End
191: ------------------------------------------------------------------
192: Capturing subpattern count = 0
1.1.1.2 misho 193: Options: utf
1.1 misho 194: No first char
195: Need char = 'A'
196: A
197: 0: A
198:
199: /\x{100}*\d(?R)/8DZ
200: ------------------------------------------------------------------
201: Bra
202: \x{100}*+
203: \d
204: Recurse
205: Ket
206: End
207: ------------------------------------------------------------------
208: Capturing subpattern count = 0
1.1.1.2 misho 209: Options: utf
1.1 misho 210: No first char
211: No need char
212:
213: /[Z\x{100}]/8DZ
214: ------------------------------------------------------------------
215: Bra
216: [Z\x{100}]
217: Ket
218: End
219: ------------------------------------------------------------------
220: Capturing subpattern count = 0
1.1.1.2 misho 221: Options: utf
1.1 misho 222: No first char
223: No need char
224: Z\x{100}
225: 0: Z
226: \x{100}
227: 0: \x{100}
228: \x{100}Z
229: 0: \x{100}
230: *** Failers
231: No match
232:
233: /[\x{200}-\x{100}]/8
234: Failed: range out of order in character class at offset 15
235:
236: /[Ā-Ą]/8
237: \x{100}
238: 0: \x{100}
239: \x{104}
240: 0: \x{104}
241: *** Failers
242: No match
243: \x{105}
244: No match
245: \x{ff}
246: No match
247:
248: /[z-\x{100}]/8DZ
249: ------------------------------------------------------------------
250: Bra
251: [z-\x{100}]
252: Ket
253: End
254: ------------------------------------------------------------------
255: Capturing subpattern count = 0
1.1.1.2 misho 256: Options: utf
1.1 misho 257: No first char
258: No need char
259:
260: /[z\Qa-d]Ā\E]/8DZ
261: ------------------------------------------------------------------
262: Bra
263: [\-\]adz\x{100}]
264: Ket
265: End
266: ------------------------------------------------------------------
267: Capturing subpattern count = 0
1.1.1.2 misho 268: Options: utf
1.1 misho 269: No first char
270: No need char
271: \x{100}
272: 0: \x{100}
273: Ā
274: 0: \x{100}
275:
276: /[\xFF]/DZ
277: ------------------------------------------------------------------
278: Bra
1.1.1.4 ! misho 279: \x{ff}
1.1 misho 280: Ket
281: End
282: ------------------------------------------------------------------
283: Capturing subpattern count = 0
284: No options
1.1.1.2 misho 285: First char = \xff
1.1 misho 286: No need char
287: >\xff<
288: 0: \xff
289:
290: /[^\xFF]/DZ
291: ------------------------------------------------------------------
292: Bra
1.1.1.4 ! misho 293: [^\x{ff}]
1.1 misho 294: Ket
295: End
296: ------------------------------------------------------------------
297: Capturing subpattern count = 0
298: No options
299: No first char
300: No need char
301:
302: /[Ä-Ü]/8
303: Ö # Matches without Study
304: 0: \x{d6}
305: \x{d6}
306: 0: \x{d6}
307:
308: /[Ä-Ü]/8S
309: Ö <-- Same with Study
310: 0: \x{d6}
311: \x{d6}
312: 0: \x{d6}
313:
314: /[\x{c4}-\x{dc}]/8
315: Ö # Matches without Study
316: 0: \x{d6}
317: \x{d6}
318: 0: \x{d6}
319:
320: /[\x{c4}-\x{dc}]/8S
321: Ö <-- Same with Study
322: 0: \x{d6}
323: \x{d6}
324: 0: \x{d6}
325:
326: /[^\x{100}]abc(xyz(?1))/8DZ
327: ------------------------------------------------------------------
328: Bra
329: [^\x{100}]
330: abc
331: CBra 1
332: xyz
333: Recurse
334: Ket
335: Ket
336: End
337: ------------------------------------------------------------------
338: Capturing subpattern count = 1
1.1.1.2 misho 339: Options: utf
1.1 misho 340: No first char
341: Need char = 'z'
342:
343: /[ab\x{100}]abc(xyz(?1))/8DZ
344: ------------------------------------------------------------------
345: Bra
346: [ab\x{100}]
347: abc
348: CBra 1
349: xyz
350: Recurse
351: Ket
352: Ket
353: End
354: ------------------------------------------------------------------
355: Capturing subpattern count = 1
1.1.1.2 misho 356: Options: utf
1.1 misho 357: No first char
358: Need char = 'z'
359:
360: /(\x{100}(b(?2)c))?/DZ8
361: ------------------------------------------------------------------
362: Bra
363: Brazero
364: CBra 1
365: \x{100}
366: CBra 2
367: b
368: Recurse
369: c
370: Ket
371: Ket
372: Ket
373: End
374: ------------------------------------------------------------------
375: Capturing subpattern count = 2
1.1.1.2 misho 376: Options: utf
1.1 misho 377: No first char
378: No need char
379:
380: /(\x{100}(b(?2)c)){0,2}/DZ8
381: ------------------------------------------------------------------
382: Bra
383: Brazero
384: Bra
385: CBra 1
386: \x{100}
387: CBra 2
388: b
389: Recurse
390: c
391: Ket
392: Ket
393: Brazero
394: CBra 1
395: \x{100}
396: CBra 2
397: b
398: Recurse
399: c
400: Ket
401: Ket
402: Ket
403: Ket
404: End
405: ------------------------------------------------------------------
406: Capturing subpattern count = 2
1.1.1.2 misho 407: Options: utf
1.1 misho 408: No first char
409: No need char
410:
411: /(\x{100}(b(?1)c))?/DZ8
412: ------------------------------------------------------------------
413: Bra
414: Brazero
415: CBra 1
416: \x{100}
417: CBra 2
418: b
419: Recurse
420: c
421: Ket
422: Ket
423: Ket
424: End
425: ------------------------------------------------------------------
426: Capturing subpattern count = 2
1.1.1.2 misho 427: Options: utf
1.1 misho 428: No first char
429: No need char
430:
431: /(\x{100}(b(?1)c)){0,2}/DZ8
432: ------------------------------------------------------------------
433: Bra
434: Brazero
435: Bra
436: CBra 1
437: \x{100}
438: CBra 2
439: b
440: Recurse
441: c
442: Ket
443: Ket
444: Brazero
445: CBra 1
446: \x{100}
447: CBra 2
448: b
449: Recurse
450: c
451: Ket
452: Ket
453: Ket
454: Ket
455: End
456: ------------------------------------------------------------------
457: Capturing subpattern count = 2
1.1.1.2 misho 458: Options: utf
1.1 misho 459: No first char
460: No need char
461:
462: /\W/8
463: A.B
464: 0: .
465: A\x{100}B
466: 0: \x{100}
467:
468: /\w/8
469: \x{100}X
470: 0: X
471:
472: /^\ሴ/8DZ
473: ------------------------------------------------------------------
474: Bra
475: ^
476: \x{1234}
477: Ket
478: End
479: ------------------------------------------------------------------
480: Capturing subpattern count = 0
1.1.1.2 misho 481: Options: anchored utf
1.1 misho 482: No first char
483: No need char
484:
485: /\x{100}*\d/8DZ
486: ------------------------------------------------------------------
487: Bra
488: \x{100}*+
489: \d
490: Ket
491: End
492: ------------------------------------------------------------------
493: Capturing subpattern count = 0
1.1.1.2 misho 494: Options: utf
1.1 misho 495: No first char
496: No need char
497:
498: /\x{100}*\s/8DZ
499: ------------------------------------------------------------------
500: Bra
501: \x{100}*+
502: \s
503: Ket
504: End
505: ------------------------------------------------------------------
506: Capturing subpattern count = 0
1.1.1.2 misho 507: Options: utf
1.1 misho 508: No first char
509: No need char
510:
511: /\x{100}*\w/8DZ
512: ------------------------------------------------------------------
513: Bra
514: \x{100}*+
515: \w
516: Ket
517: End
518: ------------------------------------------------------------------
519: Capturing subpattern count = 0
1.1.1.2 misho 520: Options: utf
1.1 misho 521: No first char
522: No need char
523:
524: /\x{100}*\D/8DZ
525: ------------------------------------------------------------------
526: Bra
527: \x{100}*
528: \D
529: Ket
530: End
531: ------------------------------------------------------------------
532: Capturing subpattern count = 0
1.1.1.2 misho 533: Options: utf
1.1 misho 534: No first char
535: No need char
536:
537: /\x{100}*\S/8DZ
538: ------------------------------------------------------------------
539: Bra
540: \x{100}*
541: \S
542: Ket
543: End
544: ------------------------------------------------------------------
545: Capturing subpattern count = 0
1.1.1.2 misho 546: Options: utf
1.1 misho 547: No first char
548: No need char
549:
550: /\x{100}*\W/8DZ
551: ------------------------------------------------------------------
552: Bra
553: \x{100}*
554: \W
555: Ket
556: End
557: ------------------------------------------------------------------
558: Capturing subpattern count = 0
1.1.1.2 misho 559: Options: utf
1.1 misho 560: No first char
561: No need char
562:
563: /()()()()()()()()()()
564: ()()()()()()()()()()
565: ()()()()()()()()()()
566: ()()()()()()()()()()
567: A (x) (?41) B/8x
568: AxxB
569: Matched, but too many substrings
570: 0: AxxB
571: 1:
572: 2:
573: 3:
574: 4:
575: 5:
576: 6:
577: 7:
578: 8:
579: 9:
580: 10:
581: 11:
582: 12:
583: 13:
584: 14:
585:
586: /^[\x{100}\E-\Q\E\x{150}]/BZ8
587: ------------------------------------------------------------------
588: Bra
589: ^
590: [\x{100}-\x{150}]
591: Ket
592: End
593: ------------------------------------------------------------------
594:
595: /^[\QĀ\E-\QŐ\E]/BZ8
596: ------------------------------------------------------------------
597: Bra
598: ^
599: [\x{100}-\x{150}]
600: Ket
601: End
602: ------------------------------------------------------------------
603:
604: /^abc./mgx8<any>
605: abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK
606: 0: abc1
607: 0: abc2
608: 0: abc3
609: 0: abc4
610: 0: abc5
611: 0: abc6
612: 0: abc7
613: 0: abc8
614: 0: abc9
615:
616: /abc.$/mgx8<any>
617: abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9
618: 0: abc1
619: 0: abc2
620: 0: abc3
621: 0: abc4
622: 0: abc5
623: 0: abc6
624: 0: abc7
625: 0: abc8
626: 0: abc9
627:
628: /^a\Rb/8<bsr_unicode>
629: a\nb
630: 0: a\x{0a}b
631: a\rb
632: 0: a\x{0d}b
633: a\r\nb
634: 0: a\x{0d}\x{0a}b
635: a\x0bb
636: 0: a\x{0b}b
637: a\x0cb
638: 0: a\x{0c}b
639: a\x{85}b
640: 0: a\x{85}b
641: a\x{2028}b
642: 0: a\x{2028}b
643: a\x{2029}b
644: 0: a\x{2029}b
645: ** Failers
646: No match
647: a\n\rb
648: No match
649:
650: /^a\R*b/8<bsr_unicode>
651: ab
652: 0: ab
653: a\nb
654: 0: a\x{0a}b
655: a\rb
656: 0: a\x{0d}b
657: a\r\nb
658: 0: a\x{0d}\x{0a}b
659: a\x0bb
660: 0: a\x{0b}b
661: a\x0c\x{2028}\x{2029}b
662: 0: a\x{0c}\x{2028}\x{2029}b
663: a\x{85}b
664: 0: a\x{85}b
665: a\n\rb
666: 0: a\x{0a}\x{0d}b
667: a\n\r\x{85}\x0cb
668: 0: a\x{0a}\x{0d}\x{85}\x{0c}b
669:
670: /^a\R+b/8<bsr_unicode>
671: a\nb
672: 0: a\x{0a}b
673: a\rb
674: 0: a\x{0d}b
675: a\r\nb
676: 0: a\x{0d}\x{0a}b
677: a\x0bb
678: 0: a\x{0b}b
679: a\x0c\x{2028}\x{2029}b
680: 0: a\x{0c}\x{2028}\x{2029}b
681: a\x{85}b
682: 0: a\x{85}b
683: a\n\rb
684: 0: a\x{0a}\x{0d}b
685: a\n\r\x{85}\x0cb
686: 0: a\x{0a}\x{0d}\x{85}\x{0c}b
687: ** Failers
688: No match
689: ab
690: No match
691:
692: /^a\R{1,3}b/8<bsr_unicode>
693: a\nb
694: 0: a\x{0a}b
695: a\n\rb
696: 0: a\x{0a}\x{0d}b
697: a\n\r\x{85}b
698: 0: a\x{0a}\x{0d}\x{85}b
699: a\r\n\r\nb
700: 0: a\x{0d}\x{0a}\x{0d}\x{0a}b
701: a\r\n\r\n\r\nb
702: 0: a\x{0d}\x{0a}\x{0d}\x{0a}\x{0d}\x{0a}b
703: a\n\r\n\rb
704: 0: a\x{0a}\x{0d}\x{0a}\x{0d}b
705: a\n\n\r\nb
706: 0: a\x{0a}\x{0a}\x{0d}\x{0a}b
707: ** Failers
708: No match
709: a\n\n\n\rb
710: No match
711: a\r
712: No match
713:
714: /\H\h\V\v/8
715: X X\x0a
716: 0: X X\x{0a}
717: X\x09X\x0b
718: 0: X\x{09}X\x{0b}
719: ** Failers
720: No match
721: \x{a0} X\x0a
722: No match
723:
724: /\H*\h+\V?\v{3,4}/8
725: \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a
726: 0: \x{09} \x{a0}X\x{0a}\x{0b}\x{0c}\x{0d}
727: \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a
728: 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}\x{0d}
729: \x09\x20\x{a0}\x0a\x0b\x0c
730: 0: \x{09} \x{a0}\x{0a}\x{0b}\x{0c}
731: ** Failers
732: No match
733: \x09\x20\x{a0}\x0a\x0b
734: No match
735:
736: /\H\h\V\v/8
737: \x{3001}\x{3000}\x{2030}\x{2028}
738: 0: \x{3001}\x{3000}\x{2030}\x{2028}
739: X\x{180e}X\x{85}
740: 0: X\x{180e}X\x{85}
741: ** Failers
742: No match
743: \x{2009} X\x0a
744: No match
745:
746: /\H*\h+\V?\v{3,4}/8
747: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a
748: 0: \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x{0c}\x{0d}
749: \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a
750: 0: \x{09}\x{205f}\x{a0}\x{0a}\x{2029}\x{0c}\x{2028}
751: \x09\x20\x{202f}\x0a\x0b\x0c
752: 0: \x{09} \x{202f}\x{0a}\x{0b}\x{0c}
753: ** Failers
754: No match
755: \x09\x{200a}\x{a0}\x{2028}\x0b
756: No match
757:
758: /[\h]/8BZ
759: ------------------------------------------------------------------
760: Bra
761: [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]
762: Ket
763: End
764: ------------------------------------------------------------------
765: >\x{1680}
766: 0: \x{1680}
767:
768: /[\h]{3,}/8BZ
769: ------------------------------------------------------------------
770: Bra
771: [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}]{3,}
772: Ket
773: End
774: ------------------------------------------------------------------
775: >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}<
776: 0: \x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}
777:
778: /[\v]/8BZ
779: ------------------------------------------------------------------
780: Bra
781: [\x0a-\x0d\x85\x{2028}-\x{2029}]
782: Ket
783: End
784: ------------------------------------------------------------------
785:
786: /[\H]/8BZ
787: ------------------------------------------------------------------
788: Bra
1.1.1.4 ! misho 789: [\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}]
1.1 misho 790: Ket
791: End
792: ------------------------------------------------------------------
793:
794: /[\V]/8BZ
795: ------------------------------------------------------------------
796: Bra
1.1.1.4 ! misho 797: [\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{10ffff}]
1.1 misho 798: Ket
799: End
800: ------------------------------------------------------------------
801:
802: /.*$/8<any>
803: \x{1ec5}
804: 0: \x{1ec5}
805:
806: /a\Rb/I8<bsr_anycrlf>
807: Capturing subpattern count = 0
1.1.1.2 misho 808: Options: bsr_anycrlf utf
1.1 misho 809: First char = 'a'
810: Need char = 'b'
811: a\rb
812: 0: a\x{0d}b
813: a\nb
814: 0: a\x{0a}b
815: a\r\nb
816: 0: a\x{0d}\x{0a}b
817: ** Failers
818: No match
819: a\x{85}b
820: No match
821: a\x0bb
822: No match
823:
824: /a\Rb/I8<bsr_unicode>
825: Capturing subpattern count = 0
1.1.1.2 misho 826: Options: bsr_unicode utf
1.1 misho 827: First char = 'a'
828: Need char = 'b'
829: a\rb
830: 0: a\x{0d}b
831: a\nb
832: 0: a\x{0a}b
833: a\r\nb
834: 0: a\x{0d}\x{0a}b
835: a\x{85}b
836: 0: a\x{85}b
837: a\x0bb
838: 0: a\x{0b}b
839: ** Failers
840: No match
841: a\x{85}b\<bsr_anycrlf>
842: No match
843: a\x0bb\<bsr_anycrlf>
844: No match
845:
846: /a\R?b/I8<bsr_anycrlf>
847: Capturing subpattern count = 0
1.1.1.2 misho 848: Options: bsr_anycrlf utf
1.1 misho 849: First char = 'a'
850: Need char = 'b'
851: a\rb
852: 0: a\x{0d}b
853: a\nb
854: 0: a\x{0a}b
855: a\r\nb
856: 0: a\x{0d}\x{0a}b
857: ** Failers
858: No match
859: a\x{85}b
860: No match
861: a\x0bb
862: No match
863:
864: /a\R?b/I8<bsr_unicode>
865: Capturing subpattern count = 0
1.1.1.2 misho 866: Options: bsr_unicode utf
1.1 misho 867: First char = 'a'
868: Need char = 'b'
869: a\rb
870: 0: a\x{0d}b
871: a\nb
872: 0: a\x{0a}b
873: a\r\nb
874: 0: a\x{0d}\x{0a}b
875: a\x{85}b
876: 0: a\x{85}b
877: a\x0bb
878: 0: a\x{0b}b
879: ** Failers
880: No match
881: a\x{85}b\<bsr_anycrlf>
882: No match
883: a\x0bb\<bsr_anycrlf>
884: No match
885:
886: /.*a.*=.b.*/8<ANY>
887: QQQ\x{2029}ABCaXYZ=!bPQR
888: 0: ABCaXYZ=!bPQR
889: ** Failers
890: No match
891: a\x{2029}b
892: No match
893: \x61\xe2\x80\xa9\x62
894: No match
895:
896: /[[:a\x{100}b:]]/8
897: Failed: unknown POSIX class name at offset 3
898:
899: /a[^]b/<JS>8
900: a\x{1234}b
901: 0: a\x{1234}b
902: a\nb
903: 0: a\x{0a}b
904: ** Failers
905: No match
906: ab
907: No match
908:
909: /a[^]+b/<JS>8
910: aXb
911: 0: aXb
912: a\nX\nX\x{1234}b
913: 0: a\x{0a}X\x{0a}X\x{1234}b
914: ** Failers
915: No match
916: ab
917: No match
918:
919: /(\x{de})\1/
920: \x{de}\x{de}
921: 0: \xde\xde
922: 1: \xde
923:
924: /X/8f<any>
925: A\x{1ec5}ABCXYZ
926: 0: X
927:
928: /Xa{2,4}b/8
929: X\P
930: Partial match: X
931: Xa\P
932: Partial match: Xa
933: Xaa\P
934: Partial match: Xaa
935: Xaaa\P
936: Partial match: Xaaa
937: Xaaaa\P
938: Partial match: Xaaaa
939:
940: /Xa{2,4}?b/8
941: X\P
942: Partial match: X
943: Xa\P
944: Partial match: Xa
945: Xaa\P
946: Partial match: Xaa
947: Xaaa\P
948: Partial match: Xaaa
949: Xaaaa\P
950: Partial match: Xaaaa
951:
952: /Xa{2,4}+b/8
953: X\P
954: Partial match: X
955: Xa\P
956: Partial match: Xa
957: Xaa\P
958: Partial match: Xaa
959: Xaaa\P
960: Partial match: Xaaa
961: Xaaaa\P
962: Partial match: Xaaaa
963:
964: /X\x{123}{2,4}b/8
965: X\P
966: Partial match: X
967: X\x{123}\P
968: Partial match: X\x{123}
969: X\x{123}\x{123}\P
970: Partial match: X\x{123}\x{123}
971: X\x{123}\x{123}\x{123}\P
972: Partial match: X\x{123}\x{123}\x{123}
973: X\x{123}\x{123}\x{123}\x{123}\P
974: Partial match: X\x{123}\x{123}\x{123}\x{123}
975:
976: /X\x{123}{2,4}?b/8
977: X\P
978: Partial match: X
979: X\x{123}\P
980: Partial match: X\x{123}
981: X\x{123}\x{123}\P
982: Partial match: X\x{123}\x{123}
983: X\x{123}\x{123}\x{123}\P
984: Partial match: X\x{123}\x{123}\x{123}
985: X\x{123}\x{123}\x{123}\x{123}\P
986: Partial match: X\x{123}\x{123}\x{123}\x{123}
987:
988: /X\x{123}{2,4}+b/8
989: X\P
990: Partial match: X
991: X\x{123}\P
992: Partial match: X\x{123}
993: X\x{123}\x{123}\P
994: Partial match: X\x{123}\x{123}
995: X\x{123}\x{123}\x{123}\P
996: Partial match: X\x{123}\x{123}\x{123}
997: X\x{123}\x{123}\x{123}\x{123}\P
998: Partial match: X\x{123}\x{123}\x{123}\x{123}
999:
1000: /X\x{123}{2,4}b/8
1001: Xx\P
1002: No match
1003: X\x{123}x\P
1004: No match
1005: X\x{123}\x{123}x\P
1006: No match
1007: X\x{123}\x{123}\x{123}x\P
1008: No match
1009: X\x{123}\x{123}\x{123}\x{123}x\P
1010: No match
1011:
1012: /X\x{123}{2,4}?b/8
1013: Xx\P
1014: No match
1015: X\x{123}x\P
1016: No match
1017: X\x{123}\x{123}x\P
1018: No match
1019: X\x{123}\x{123}\x{123}x\P
1020: No match
1021: X\x{123}\x{123}\x{123}\x{123}x\P
1022: No match
1023:
1024: /X\x{123}{2,4}+b/8
1025: Xx\P
1026: No match
1027: X\x{123}x\P
1028: No match
1029: X\x{123}\x{123}x\P
1030: No match
1031: X\x{123}\x{123}\x{123}x\P
1032: No match
1033: X\x{123}\x{123}\x{123}\x{123}x\P
1034: No match
1035:
1036: /X\d{2,4}b/8
1037: X\P
1038: Partial match: X
1039: X3\P
1040: Partial match: X3
1041: X33\P
1042: Partial match: X33
1043: X333\P
1044: Partial match: X333
1045: X3333\P
1046: Partial match: X3333
1047:
1048: /X\d{2,4}?b/8
1049: X\P
1050: Partial match: X
1051: X3\P
1052: Partial match: X3
1053: X33\P
1054: Partial match: X33
1055: X333\P
1056: Partial match: X333
1057: X3333\P
1058: Partial match: X3333
1059:
1060: /X\d{2,4}+b/8
1061: X\P
1062: Partial match: X
1063: X3\P
1064: Partial match: X3
1065: X33\P
1066: Partial match: X33
1067: X333\P
1068: Partial match: X333
1069: X3333\P
1070: Partial match: X3333
1071:
1072: /X\D{2,4}b/8
1073: X\P
1074: Partial match: X
1075: Xa\P
1076: Partial match: Xa
1077: Xaa\P
1078: Partial match: Xaa
1079: Xaaa\P
1080: Partial match: Xaaa
1081: Xaaaa\P
1082: Partial match: Xaaaa
1083:
1084: /X\D{2,4}?b/8
1085: X\P
1086: Partial match: X
1087: Xa\P
1088: Partial match: Xa
1089: Xaa\P
1090: Partial match: Xaa
1091: Xaaa\P
1092: Partial match: Xaaa
1093: Xaaaa\P
1094: Partial match: Xaaaa
1095:
1096: /X\D{2,4}+b/8
1097: X\P
1098: Partial match: X
1099: Xa\P
1100: Partial match: Xa
1101: Xaa\P
1102: Partial match: Xaa
1103: Xaaa\P
1104: Partial match: Xaaa
1105: Xaaaa\P
1106: Partial match: Xaaaa
1107:
1108: /X\D{2,4}b/8
1109: X\P
1110: Partial match: X
1111: X\x{123}\P
1112: Partial match: X\x{123}
1113: X\x{123}\x{123}\P
1114: Partial match: X\x{123}\x{123}
1115: X\x{123}\x{123}\x{123}\P
1116: Partial match: X\x{123}\x{123}\x{123}
1117: X\x{123}\x{123}\x{123}\x{123}\P
1118: Partial match: X\x{123}\x{123}\x{123}\x{123}
1119:
1120: /X\D{2,4}?b/8
1121: X\P
1122: Partial match: X
1123: X\x{123}\P
1124: Partial match: X\x{123}
1125: X\x{123}\x{123}\P
1126: Partial match: X\x{123}\x{123}
1127: X\x{123}\x{123}\x{123}\P
1128: Partial match: X\x{123}\x{123}\x{123}
1129: X\x{123}\x{123}\x{123}\x{123}\P
1130: Partial match: X\x{123}\x{123}\x{123}\x{123}
1131:
1132: /X\D{2,4}+b/8
1133: X\P
1134: Partial match: X
1135: X\x{123}\P
1136: Partial match: X\x{123}
1137: X\x{123}\x{123}\P
1138: Partial match: X\x{123}\x{123}
1139: X\x{123}\x{123}\x{123}\P
1140: Partial match: X\x{123}\x{123}\x{123}
1141: X\x{123}\x{123}\x{123}\x{123}\P
1142: Partial match: X\x{123}\x{123}\x{123}\x{123}
1143:
1144: /X[abc]{2,4}b/8
1145: X\P
1146: Partial match: X
1147: Xa\P
1148: Partial match: Xa
1149: Xaa\P
1150: Partial match: Xaa
1151: Xaaa\P
1152: Partial match: Xaaa
1153: Xaaaa\P
1154: Partial match: Xaaaa
1155:
1156: /X[abc]{2,4}?b/8
1157: X\P
1158: Partial match: X
1159: Xa\P
1160: Partial match: Xa
1161: Xaa\P
1162: Partial match: Xaa
1163: Xaaa\P
1164: Partial match: Xaaa
1165: Xaaaa\P
1166: Partial match: Xaaaa
1167:
1168: /X[abc]{2,4}+b/8
1169: X\P
1170: Partial match: X
1171: Xa\P
1172: Partial match: Xa
1173: Xaa\P
1174: Partial match: Xaa
1175: Xaaa\P
1176: Partial match: Xaaa
1177: Xaaaa\P
1178: Partial match: Xaaaa
1179:
1180: /X[abc\x{123}]{2,4}b/8
1181: X\P
1182: Partial match: X
1183: X\x{123}\P
1184: Partial match: X\x{123}
1185: X\x{123}\x{123}\P
1186: Partial match: X\x{123}\x{123}
1187: X\x{123}\x{123}\x{123}\P
1188: Partial match: X\x{123}\x{123}\x{123}
1189: X\x{123}\x{123}\x{123}\x{123}\P
1190: Partial match: X\x{123}\x{123}\x{123}\x{123}
1191:
1192: /X[abc\x{123}]{2,4}?b/8
1193: X\P
1194: Partial match: X
1195: X\x{123}\P
1196: Partial match: X\x{123}
1197: X\x{123}\x{123}\P
1198: Partial match: X\x{123}\x{123}
1199: X\x{123}\x{123}\x{123}\P
1200: Partial match: X\x{123}\x{123}\x{123}
1201: X\x{123}\x{123}\x{123}\x{123}\P
1202: Partial match: X\x{123}\x{123}\x{123}\x{123}
1203:
1204: /X[abc\x{123}]{2,4}+b/8
1205: X\P
1206: Partial match: X
1207: X\x{123}\P
1208: Partial match: X\x{123}
1209: X\x{123}\x{123}\P
1210: Partial match: X\x{123}\x{123}
1211: X\x{123}\x{123}\x{123}\P
1212: Partial match: X\x{123}\x{123}\x{123}
1213: X\x{123}\x{123}\x{123}\x{123}\P
1214: Partial match: X\x{123}\x{123}\x{123}\x{123}
1215:
1216: /X[^a]{2,4}b/8
1217: X\P
1218: Partial match: X
1219: Xz\P
1220: Partial match: Xz
1221: Xzz\P
1222: Partial match: Xzz
1223: Xzzz\P
1224: Partial match: Xzzz
1225: Xzzzz\P
1226: Partial match: Xzzzz
1227:
1228: /X[^a]{2,4}?b/8
1229: X\P
1230: Partial match: X
1231: Xz\P
1232: Partial match: Xz
1233: Xzz\P
1234: Partial match: Xzz
1235: Xzzz\P
1236: Partial match: Xzzz
1237: Xzzzz\P
1238: Partial match: Xzzzz
1239:
1240: /X[^a]{2,4}+b/8
1241: X\P
1242: Partial match: X
1243: Xz\P
1244: Partial match: Xz
1245: Xzz\P
1246: Partial match: Xzz
1247: Xzzz\P
1248: Partial match: Xzzz
1249: Xzzzz\P
1250: Partial match: Xzzzz
1251:
1252: /X[^a]{2,4}b/8
1253: X\P
1254: Partial match: X
1255: X\x{123}\P
1256: Partial match: X\x{123}
1257: X\x{123}\x{123}\P
1258: Partial match: X\x{123}\x{123}
1259: X\x{123}\x{123}\x{123}\P
1260: Partial match: X\x{123}\x{123}\x{123}
1261: X\x{123}\x{123}\x{123}\x{123}\P
1262: Partial match: X\x{123}\x{123}\x{123}\x{123}
1263:
1264: /X[^a]{2,4}?b/8
1265: X\P
1266: Partial match: X
1267: X\x{123}\P
1268: Partial match: X\x{123}
1269: X\x{123}\x{123}\P
1270: Partial match: X\x{123}\x{123}
1271: X\x{123}\x{123}\x{123}\P
1272: Partial match: X\x{123}\x{123}\x{123}
1273: X\x{123}\x{123}\x{123}\x{123}\P
1274: Partial match: X\x{123}\x{123}\x{123}\x{123}
1275:
1276: /X[^a]{2,4}+b/8
1277: X\P
1278: Partial match: X
1279: X\x{123}\P
1280: Partial match: X\x{123}
1281: X\x{123}\x{123}\P
1282: Partial match: X\x{123}\x{123}
1283: X\x{123}\x{123}\x{123}\P
1284: Partial match: X\x{123}\x{123}\x{123}
1285: X\x{123}\x{123}\x{123}\x{123}\P
1286: Partial match: X\x{123}\x{123}\x{123}\x{123}
1287:
1288: /(Y)X\1{2,4}b/8
1289: YX\P
1290: Partial match: YX
1291: YXY\P
1292: Partial match: YXY
1293: YXYY\P
1294: Partial match: YXYY
1295: YXYYY\P
1296: Partial match: YXYYY
1297: YXYYYY\P
1298: Partial match: YXYYYY
1299:
1300: /(Y)X\1{2,4}?b/8
1301: YX\P
1302: Partial match: YX
1303: YXY\P
1304: Partial match: YXY
1305: YXYY\P
1306: Partial match: YXYY
1307: YXYYY\P
1308: Partial match: YXYYY
1309: YXYYYY\P
1310: Partial match: YXYYYY
1311:
1312: /(Y)X\1{2,4}+b/8
1313: YX\P
1314: Partial match: YX
1315: YXY\P
1316: Partial match: YXY
1317: YXYY\P
1318: Partial match: YXYY
1319: YXYYY\P
1320: Partial match: YXYYY
1321: YXYYYY\P
1322: Partial match: YXYYYY
1323:
1324: /(\x{123})X\1{2,4}b/8
1325: \x{123}X\P
1326: Partial match: \x{123}X
1327: \x{123}X\x{123}\P
1328: Partial match: \x{123}X\x{123}
1329: \x{123}X\x{123}\x{123}\P
1330: Partial match: \x{123}X\x{123}\x{123}
1331: \x{123}X\x{123}\x{123}\x{123}\P
1332: Partial match: \x{123}X\x{123}\x{123}\x{123}
1333: \x{123}X\x{123}\x{123}\x{123}\x{123}\P
1334: Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
1335:
1336: /(\x{123})X\1{2,4}?b/8
1337: \x{123}X\P
1338: Partial match: \x{123}X
1339: \x{123}X\x{123}\P
1340: Partial match: \x{123}X\x{123}
1341: \x{123}X\x{123}\x{123}\P
1342: Partial match: \x{123}X\x{123}\x{123}
1343: \x{123}X\x{123}\x{123}\x{123}\P
1344: Partial match: \x{123}X\x{123}\x{123}\x{123}
1345: \x{123}X\x{123}\x{123}\x{123}\x{123}\P
1346: Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
1347:
1348: /(\x{123})X\1{2,4}+b/8
1349: \x{123}X\P
1350: Partial match: \x{123}X
1351: \x{123}X\x{123}\P
1352: Partial match: \x{123}X\x{123}
1353: \x{123}X\x{123}\x{123}\P
1354: Partial match: \x{123}X\x{123}\x{123}
1355: \x{123}X\x{123}\x{123}\x{123}\P
1356: Partial match: \x{123}X\x{123}\x{123}\x{123}
1357: \x{123}X\x{123}\x{123}\x{123}\x{123}\P
1358: Partial match: \x{123}X\x{123}\x{123}\x{123}\x{123}
1359:
1360: /\bthe cat\b/8
1361: the cat\P
1362: 0: the cat
1363: the cat\P\P
1364: Partial match: the cat
1365:
1366: /abcd*/8
1367: xxxxabcd\P
1368: 0: abcd
1369: xxxxabcd\P\P
1370: Partial match: abcd
1371:
1372: /abcd*/i8
1373: xxxxabcd\P
1374: 0: abcd
1375: xxxxabcd\P\P
1376: Partial match: abcd
1377: XXXXABCD\P
1378: 0: ABCD
1379: XXXXABCD\P\P
1380: Partial match: ABCD
1381:
1382: /abc\d*/8
1383: xxxxabc1\P
1384: 0: abc1
1385: xxxxabc1\P\P
1386: Partial match: abc1
1387:
1388: /(a)bc\1*/8
1389: xxxxabca\P
1390: 0: abca
1391: 1: a
1392: xxxxabca\P\P
1393: Partial match: abca
1394:
1395: /abc[de]*/8
1396: xxxxabcde\P
1397: 0: abcde
1398: xxxxabcde\P\P
1399: Partial match: abcde
1400:
1401: /X\W{3}X/8
1402: \PX
1403: Partial match: X
1404:
1405: /\sxxx\s/8T1
1406: AB\x{85}xxx\x{a0}XYZ
1407: 0: \x{85}xxx\x{a0}
1408: AB\x{a0}xxx\x{85}XYZ
1409: 0: \x{a0}xxx\x{85}
1410:
1411: /\S \S/8T1
1412: \x{a2} \x{84}
1413: 0: \x{a2} \x{84}
1414:
1415: 'A#хц'8x<any>BZ
1416: ------------------------------------------------------------------
1417: Bra
1418: A
1419: Ket
1420: End
1421: ------------------------------------------------------------------
1422:
1423: 'A#хц
1424: PQ'8x<any>BZ
1425: ------------------------------------------------------------------
1426: Bra
1427: APQ
1428: Ket
1429: End
1430: ------------------------------------------------------------------
1431:
1432: /a+#хaa
1433: z#XX?/8x<any>BZ
1434: ------------------------------------------------------------------
1435: Bra
1436: a++
1437: z
1438: Ket
1439: End
1440: ------------------------------------------------------------------
1441:
1442: /a+#хaa
1443: z#х?/8x<any>BZ
1444: ------------------------------------------------------------------
1445: Bra
1446: a++
1447: z
1448: Ket
1449: End
1450: ------------------------------------------------------------------
1451:
1452: /\g{A}xxx#bXX(?'A'123)
(?'A'456)/8x<any>BZ
1453: ------------------------------------------------------------------
1454: Bra
1455: \1
1456: xxx
1457: CBra 1
1458: 456
1459: Ket
1460: Ket
1461: End
1462: ------------------------------------------------------------------
1463:
1464: /\g{A}xxx#bх(?'A'123)
(?'A'456)/8x<any>BZ
1465: ------------------------------------------------------------------
1466: Bra
1467: \1
1468: xxx
1469: CBra 1
1470: 456
1471: Ket
1472: Ket
1473: End
1474: ------------------------------------------------------------------
1475:
1476: /^\cģ/8
1477: Failed: \c must be followed by an ASCII character at offset 3
1478:
1479: /(\R*)(.)/s8
1480: \r\n
1481: 0: \x{0d}
1482: 1:
1483: 2: \x{0d}
1484: \r\r\n\n\r
1485: 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1486: 1: \x{0d}\x{0d}\x{0a}\x{0a}
1487: 2: \x{0d}
1488: \r\r\n\n\r\n
1489: 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1490: 1: \x{0d}\x{0d}\x{0a}\x{0a}
1491: 2: \x{0d}
1492:
1493: /(\R)*(.)/s8
1494: \r\n
1495: 0: \x{0d}
1496: 1: <unset>
1497: 2: \x{0d}
1498: \r\r\n\n\r
1499: 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1500: 1: \x{0a}
1501: 2: \x{0d}
1502: \r\r\n\n\r\n
1503: 0: \x{0d}\x{0d}\x{0a}\x{0a}\x{0d}
1504: 1: \x{0a}
1505: 2: \x{0d}
1506:
1507: /[^\x{1234}]+/iS8I
1508: Capturing subpattern count = 0
1.1.1.2 misho 1509: Options: caseless utf
1.1 misho 1510: No first char
1511: No need char
1512: Subject length lower bound = 1
1513: No set of starting bytes
1514:
1515: /[^\x{1234}]+?/iS8I
1516: Capturing subpattern count = 0
1.1.1.2 misho 1517: Options: caseless utf
1.1 misho 1518: No first char
1519: No need char
1520: Subject length lower bound = 1
1521: No set of starting bytes
1522:
1523: /[^\x{1234}]++/iS8I
1524: Capturing subpattern count = 0
1.1.1.2 misho 1525: Options: caseless utf
1.1 misho 1526: No first char
1527: No need char
1528: Subject length lower bound = 1
1529: No set of starting bytes
1530:
1531: /[^\x{1234}]{2}/iS8I
1532: Capturing subpattern count = 0
1.1.1.2 misho 1533: Options: caseless utf
1.1 misho 1534: No first char
1535: No need char
1536: Subject length lower bound = 2
1537: No set of starting bytes
1538:
1539: //<bsr_anycrlf><bsr_unicode>
1540: Failed: inconsistent NEWLINE options at offset 0
1541:
1542: /f.*/
1543: \P\Pfor
1544: Partial match: for
1545:
1546: /f.*/s
1547: \P\Pfor
1548: Partial match: for
1549:
1550: /f.*/8
1551: \P\Pfor
1552: Partial match: for
1553:
1554: /f.*/8s
1555: \P\Pfor
1556: Partial match: for
1.1.1.2 misho 1557:
1558: /\x{d7ff}\x{e000}/8
1559:
1560: /\x{d800}/8
1561: Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
1562:
1563: /\x{dfff}/8
1564: Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 7
1565:
1566: /\h+/8
1567: \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
1568: 0: \x{1680}\x{2000}\x{202f}\x{3000}
1569: \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
1570: 0: \x{200a}\x{a0}\x{2000}
1571:
1572: /[\h\x{e000}]+/8BZ
1573: ------------------------------------------------------------------
1574: Bra
1575: [\x09 \xa0\x{1680}\x{180e}\x{2000}-\x{200a}\x{202f}\x{205f}\x{3000}\x{e000}]+
1576: Ket
1577: End
1578: ------------------------------------------------------------------
1579: \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000}
1580: 0: \x{1680}\x{2000}\x{202f}\x{3000}
1581: \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000}
1582: 0: \x{200a}\x{a0}\x{2000}
1583:
1584: /\H+/8
1585: \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
1586: 0: \x{167f}\x{1681}\x{180d}\x{180f}
1587: \x{2000}\x{200a}\x{1fff}\x{200b}
1588: 0: \x{1fff}\x{200b}
1589: \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
1590: 0: \x{202e}\x{2030}\x{205e}\x{2060}
1591: \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
1592: 0: \x{9f}\x{a1}\x{2fff}\x{3001}
1593:
1594: /[\H\x{d7ff}]+/8BZ
1595: ------------------------------------------------------------------
1596: Bra
1.1.1.4 ! misho 1597: [\x00-\x08\x0a-\x1f!-\x9f\x{a1}-\x{167f}\x{1681}-\x{180d}\x{180f}-\x{1fff}\x{200b}-\x{202e}\x{2030}-\x{205e}\x{2060}-\x{2fff}\x{3001}-\x{10ffff}\x{d7ff}]+
1.1.1.2 misho 1598: Ket
1599: End
1600: ------------------------------------------------------------------
1601: \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f}
1602: 0: \x{167f}\x{1681}\x{180d}\x{180f}
1603: \x{2000}\x{200a}\x{1fff}\x{200b}
1604: 0: \x{1fff}\x{200b}
1605: \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060}
1606: 0: \x{202e}\x{2030}\x{205e}\x{2060}
1607: \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001}
1608: 0: \x{9f}\x{a1}\x{2fff}\x{3001}
1609:
1610: /\v+/8
1611: \x{2027}\x{2030}\x{2028}\x{2029}
1612: 0: \x{2028}\x{2029}
1613: \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
1614: 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
1615:
1616: /[\v\x{e000}]+/8BZ
1617: ------------------------------------------------------------------
1618: Bra
1619: [\x0a-\x0d\x85\x{2028}-\x{2029}\x{e000}]+
1620: Ket
1621: End
1622: ------------------------------------------------------------------
1623: \x{2027}\x{2030}\x{2028}\x{2029}
1624: 0: \x{2028}\x{2029}
1625: \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
1626: 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
1627:
1628: /\V+/8
1629: \x{2028}\x{2029}\x{2027}\x{2030}
1630: 0: \x{2027}\x{2030}
1631: \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
1632: 0: \x{09}\x{0e}\x{84}\x{86}
1633:
1634: /[\V\x{d7ff}]+/8BZ
1635: ------------------------------------------------------------------
1636: Bra
1.1.1.4 ! misho 1637: [\x00-\x09\x0e-\x84\x{86}-\x{2027}\x{202a}-\x{10ffff}\x{d7ff}]+
1.1.1.2 misho 1638: Ket
1639: End
1640: ------------------------------------------------------------------
1641: \x{2028}\x{2029}\x{2027}\x{2030}
1642: 0: \x{2027}\x{2030}
1643: \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86}
1644: 0: \x{09}\x{0e}\x{84}\x{86}
1645:
1646: /\R+/8<bsr_unicode>
1647: \x{2027}\x{2030}\x{2028}\x{2029}
1648: 0: \x{2028}\x{2029}
1649: \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d
1650: 0: \x{85}\x{0a}\x{0b}\x{0c}\x{0d}
1.1 misho 1651:
1.1.1.3 misho 1652: /(..)\1/8
1653: ab\P
1654: Partial match: ab
1655: aba\P
1656: Partial match: aba
1657: abab\P
1658: 0: abab
1659: 1: ab
1660:
1661: /(..)\1/8i
1662: ab\P
1663: Partial match: ab
1664: abA\P
1665: Partial match: abA
1666: aBAb\P
1667: 0: aBAb
1668: 1: aB
1669:
1670: /(..)\1{2,}/8
1671: ab\P
1672: Partial match: ab
1673: aba\P
1674: Partial match: aba
1675: abab\P
1676: Partial match: abab
1677: ababa\P
1678: Partial match: ababa
1679: ababab\P
1680: 0: ababab
1681: 1: ab
1682: ababab\P\P
1683: Partial match: ababab
1684: abababa\P
1685: 0: ababab
1686: 1: ab
1687: abababa\P\P
1688: Partial match: abababa
1689:
1690: /(..)\1{2,}/8i
1691: ab\P
1692: Partial match: ab
1693: aBa\P
1694: Partial match: aBa
1695: aBAb\P
1696: Partial match: aBAb
1697: AbaBA\P
1698: Partial match: AbaBA
1699: abABAb\P
1700: 0: abABAb
1701: 1: ab
1702: aBAbaB\P\P
1703: Partial match: aBAbaB
1704: abABabA\P
1705: 0: abABab
1706: 1: ab
1707: abaBABa\P\P
1708: Partial match: abaBABa
1709:
1710: /(..)\1{2,}?x/8i
1711: ab\P
1712: Partial match: ab
1713: abA\P
1714: Partial match: abA
1715: aBAb\P
1716: Partial match: aBAb
1717: abaBA\P
1718: Partial match: abaBA
1719: abAbaB\P
1720: Partial match: abAbaB
1721: abaBabA\P
1722: Partial match: abaBabA
1723: abAbABaBx\P
1724: 0: abAbABaBx
1725: 1: ab
1726:
1727: /./8<CRLF>
1728: \r\P
1729: 0: \x{0d}
1730: \r\P\P
1731: Partial match: \x{0d}
1732:
1733: /.{2,3}/8<CRLF>
1734: \r\P
1735: Partial match: \x{0d}
1736: \r\P\P
1737: Partial match: \x{0d}
1738: \r\r\P
1739: 0: \x{0d}\x{0d}
1740: \r\r\P\P
1741: Partial match: \x{0d}\x{0d}
1742: \r\r\r\P
1743: 0: \x{0d}\x{0d}\x{0d}
1744: \r\r\r\P\P
1745: Partial match: \x{0d}\x{0d}\x{0d}
1746:
1747: /.{2,3}?/8<CRLF>
1748: \r\P
1749: Partial match: \x{0d}
1750: \r\P\P
1751: Partial match: \x{0d}
1752: \r\r\P
1753: 0: \x{0d}\x{0d}
1754: \r\r\P\P
1755: Partial match: \x{0d}\x{0d}
1756: \r\r\r\P
1757: 0: \x{0d}\x{0d}
1758: \r\r\r\P\P
1759: 0: \x{0d}\x{0d}
1760:
1761: /[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZ
1762: ------------------------------------------------------------------
1763: Bra
1764: [^\x{100}]
1765: [^\x{1234}]
1766: [^\x{ffff}]
1767: [^\x{10000}]
1768: [^\x{10ffff}]
1769: Ket
1770: End
1771: ------------------------------------------------------------------
1772:
1773: /[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZi
1774: ------------------------------------------------------------------
1775: Bra
1776: /i [^\x{100}]
1777: /i [^\x{1234}]
1778: /i [^\x{ffff}]
1779: /i [^\x{10000}]
1780: /i [^\x{10ffff}]
1781: Ket
1782: End
1783: ------------------------------------------------------------------
1784:
1785: /[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZ
1786: ------------------------------------------------------------------
1787: Bra
1788: [^\x{100}]*
1789: [^\x{10000}]+
1790: [^\x{10ffff}]??
1791: [^\x{8000}]{4}
1792: [^\x{8000}]*
1793: [^\x{7fff}]{2}
1794: [^\x{7fff}]{0,7}?
1795: [^\x{fffff}]{5}
1796: [^\x{fffff}]?+
1797: Ket
1798: End
1799: ------------------------------------------------------------------
1800:
1801: /[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZi
1802: ------------------------------------------------------------------
1803: Bra
1804: /i [^\x{100}]*
1805: /i [^\x{10000}]+
1806: /i [^\x{10ffff}]??
1807: /i [^\x{8000}]{4}
1808: /i [^\x{8000}]*
1809: /i [^\x{7fff}]{2}
1810: /i [^\x{7fff}]{0,7}?
1811: Once
1812: /i [^\x{fffff}]{5}
1813: /i [^\x{fffff}]?
1814: Ket
1815: Ket
1816: End
1817: ------------------------------------------------------------------
1818:
1819: /(?<=\x{1234}\x{1234})\bxy/I8
1820: Capturing subpattern count = 0
1.1.1.4 ! misho 1821: Max lookbehind = 2
1.1.1.3 misho 1822: Options: utf
1823: First char = 'x'
1824: Need char = 'y'
1825:
1826: /(?<!^)ETA/8
1827: ETA
1828: No match
1829:
1830: /\u0100/<JS>8BZ
1831: ------------------------------------------------------------------
1832: Bra
1833: \x{100}
1834: Ket
1835: End
1836: ------------------------------------------------------------------
1837:
1838: /[\u0100-\u0200]/<JS>8BZ
1839: ------------------------------------------------------------------
1840: Bra
1841: [\x{100}-\x{200}]
1842: Ket
1843: End
1844: ------------------------------------------------------------------
1845:
1846: /\ud800/<JS>8
1847: Failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 5
1848:
1.1 misho 1849: /-- End of testinput5 --/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>