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