/[pcre]/code/trunk/testdata/testoutput2
ViewVC logotype

Diff of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 61 by nigel, Sat Feb 24 21:39:58 2007 UTC revision 63 by nigel, Sat Feb 24 21:40:03 2007 UTC
# Line 1  Line 1 
1  PCRE version 3.9 02-Jan-2002  PCRE version 4.0 17-Feb-2003
2    
3  /(a)b|/  /(a)b|/
4  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 91  Failed: number too big in {} quantifier Line 91  Failed: number too big in {} quantifier
91  /[abcd/  /[abcd/
92  Failed: missing terminating ] for character class at offset 5  Failed: missing terminating ] for character class at offset 5
93    
94  /[\B]/  /(?X)[\B]/
95  Failed: invalid escape sequence in character class at offset 2  Failed: invalid escape sequence in character class at offset 6
96    
97  /[z-a]/  /[z-a]/
98  Failed: range out of order in character class at offset 3  Failed: range out of order in character class at offset 3
# Line 136  Capturing subpattern count = 0 Line 136  Capturing subpattern count = 0
136  No options  No options
137  No first char  No first char
138  No need char  No need char
139    Study size = 40
140  Starting character set: c d e  Starting character set: c d e
141      this sentence eventually mentions a cat      this sentence eventually mentions a cat
142   0: cat   0: cat
# Line 147  Capturing subpattern count = 0 Line 148  Capturing subpattern count = 0
148  Options: caseless  Options: caseless
149  No first char  No first char
150  No need char  No need char
151    Study size = 40
152  Starting character set: C D E c d e  Starting character set: C D E c d e
153      this sentence eventually mentions a CAT cat      this sentence eventually mentions a CAT cat
154   0: CAT   0: CAT
# Line 158  Capturing subpattern count = 0 Line 160  Capturing subpattern count = 0
160  No options  No options
161  No first char  No first char
162  No need char  No need char
163    Study size = 40
164  Starting character set: a b c d  Starting character set: a b c d
165    
166  /(a|[^\dZ])/S  /(a|[^\dZ])/S
# Line 165  Capturing subpattern count = 1 Line 168  Capturing subpattern count = 1
168  No options  No options
169  No first char  No first char
170  No need char  No need char
171    Study size = 40
172  Starting character set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a  Starting character set: \x00 \x01 \x02 \x03 \x04 \x05 \x06 \x07 \x08 \x09 \x0a
173    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19    \x0b \x0c \x0d \x0e \x0f \x10 \x11 \x12 \x13 \x14 \x15 \x16 \x17 \x18 \x19
174    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >    \x1a \x1b \x1c \x1d \x1e \x1f \x20 ! " # $ % & ' ( ) * + , - . / : ; < = >
# Line 185  Capturing subpattern count = 1 Line 189  Capturing subpattern count = 1
189  No options  No options
190  No first char  No first char
191  No need char  No need char
192  Starting character set: \x09 \x0a \x0b \x0c \x0d \x20 a b  Study size = 40
193    Starting character set: \x09 \x0a \x0c \x0d \x20 a b
194    
195  /(ab\2)/  /(ab\2)/
196  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
197    
198  /{4,5}abc/  /{4,5}abc/
199  Failed: nothing to repeat at offset 4  Failed: nothing to repeat at offset 4
# Line 281  No match Line 286  No match
286  No match  No match
287    
288  /(a)(b)(c)(d)(e)\6/  /(a)(b)(c)(d)(e)\6/
289  Failed: back reference to non-existent subpattern at offset 17  Failed: reference to non-existent subpattern at offset 17
290    
291  /the quick brown fox/  /the quick brown fox/
292  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 426  Need char = '>' Line 431  Need char = '>'
431      abc<def>ghi<klm>nop      abc<def>ghi<klm>nop
432   0: <def>   0: <def>
433    
434  /<.*>(?U)/  /(?U)<.*>/
435  Capturing subpattern count = 0  Capturing subpattern count = 0
436  Options: ungreedy  Options: ungreedy
437  First char = '<'  First char = '<'
# Line 486  Failed: lookbehind assertion is not fixe Line 491  Failed: lookbehind assertion is not fixe
491  /(?i)abc/  /(?i)abc/
492  Capturing subpattern count = 0  Capturing subpattern count = 0
493  Options: caseless  Options: caseless
494  First char = 'a'  First char = 'a' (caseless)
495  Need char = 'c'  Need char = 'c' (caseless)
496    
497  /(a|(?m)a)/  /(a|(?m)a)/
498  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 519  Capturing subpattern count = 0 Line 524  Capturing subpattern count = 0
524  No options  No options
525  No first char  No first char
526  No need char  No need char
527    Study size = 40
528  Starting character set: a b c d  Starting character set: a b c d
529    
530  /(?i)[abcd]/S  /(?i)[abcd]/S
# Line 526  Capturing subpattern count = 0 Line 532  Capturing subpattern count = 0
532  Options: caseless  Options: caseless
533  No first char  No first char
534  No need char  No need char
535    Study size = 40
536  Starting character set: A B C D a b c d  Starting character set: A B C D a b c d
537    
538  /(?m)[xy]|(b|c)/S  /(?m)[xy]|(b|c)/S
# Line 533  Capturing subpattern count = 1 Line 540  Capturing subpattern count = 1
540  Options: multiline  Options: multiline
541  No first char  No first char
542  No need char  No need char
543    Study size = 40
544  Starting character set: b c x y  Starting character set: b c x y
545    
546  /(^a|^b)/m  /(^a|^b)/m
# Line 563  Failed: assertion expected after (?( at Line 571  Failed: assertion expected after (?( at
571  Failed: assertion expected after (?( at offset 3  Failed: assertion expected after (?( at offset 3
572    
573  /(?(?<ab))/  /(?(?<ab))/
574  Failed: unrecognized character after (?< at offset 2  Failed: unrecognized character after (?< at offset 5
575    
576  /((?s)blah)\s+\1/  /((?s)blah)\s+\1/
577  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 577  Capturing subpattern count = 1 Line 585  Capturing subpattern count = 1
585  Max back reference = 1  Max back reference = 1
586  No options  No options
587  Case state changes  Case state changes
588  No first char  First char = 'b' (caseless)
589  Need char = 'h'  Need char = 'h' (caseless)
590    
591  /((?i)b)/DS  /((?i)b)/DS
592  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 594  Need char = 'h' Line 602  Need char = 'h'
602  Capturing subpattern count = 1  Capturing subpattern count = 1
603  No options  No options
604  Case state changes  Case state changes
605  No first char  First char = 'b' (caseless)
606  Need char = 'b'  No need char
607  Starting character set: B b  Study returned NULL
608    
609  /(a*b|(?i:c*(?-i)d))/S  /(a*b|(?i:c*(?-i)d))/S
610  Capturing subpattern count = 1  Capturing subpattern count = 1
# Line 604  No options Line 612  No options
612  Case state changes  Case state changes
613  No first char  No first char
614  No need char  No need char
615    Study size = 40
616  Starting character set: C a b c d  Starting character set: C a b c d
617    
618  /a$/  /a$/
# Line 668  Capturing subpattern count = 0 Line 677  Capturing subpattern count = 0
677  No options  No options
678  No first char  No first char
679  No need char  No need char
680    Study size = 40
681  Starting character set: a b  Starting character set: a b
682    
683  /(?<!foo)(alpha|omega)/S  /(?<!foo)(alpha|omega)/S
# Line 675  Capturing subpattern count = 1 Line 685  Capturing subpattern count = 1
685  No options  No options
686  No first char  No first char
687  Need char = 'a'  Need char = 'a'
688    Study size = 40
689  Starting character set: a o  Starting character set: a o
690    
691  /(?!alphabet)[ab]/S  /(?!alphabet)[ab]/S
# Line 682  Capturing subpattern count = 0 Line 693  Capturing subpattern count = 0
693  No options  No options
694  No first char  No first char
695  No need char  No need char
696    Study size = 40
697  Starting character set: a b  Starting character set: a b
698    
699  /(?<=foo\n)^bar/m  /(?<=foo\n)^bar/m
# Line 864  Failed: nothing to repeat at offset 2 Line 876  Failed: nothing to repeat at offset 2
876  Failed: unmatched parentheses at offset 0  Failed: unmatched parentheses at offset 0
877    
878  /\1/  /\1/
879  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
880    
881  /\2/  /\2/
882  Failed: back reference to non-existent subpattern at offset 2  Failed: reference to non-existent subpattern at offset 2
883    
884  /(a)|\2/  /(a)|\2/
885  Failed: back reference to non-existent subpattern at offset 6  Failed: reference to non-existent subpattern at offset 6
886    
887  /a[b-a]/i  /a[b-a]/i
888  Failed: range out of order in character class at offset 4  Failed: range out of order in character class at offset 4
# Line 903  Failed: unmatched parentheses at offset Line 915  Failed: unmatched parentheses at offset
915  Failed: missing ) at offset 4  Failed: missing ) at offset 4
916    
917  /(?<%)b/  /(?<%)b/
918  Failed: unrecognized character after (?< at offset 0  Failed: unrecognized character after (?< at offset 3
919    
920  /a(?{)b/  /a(?{)b/
921  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? at offset 3
# Line 1483  Need char = 'a' Line 1495  Need char = 'a'
1495  Capturing subpattern count = 0  Capturing subpattern count = 0
1496  No options  No options
1497  First char = 'a'  First char = 'a'
1498  No need char  Need char = 'a'
1499    
1500  /(?=a)a.*/  /(?=a)a.*/
1501  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 1787  Need char = ')' Line 1799  Need char = ')'
1799   0: (abcd(xyz<p>qrs)123)   0: (abcd(xyz<p>qrs)123)
1800   1: abcd(xyz<p>qrs)123   1: abcd(xyz<p>qrs)123
1801   2: 123   2: 123
1802   3: <p>qrs   3: <unset>
1803    
1804  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x  /\( ( ( (?>[^()]+) | ((?R)) )* ) \) /x
1805  Capturing subpattern count = 3  Capturing subpattern count = 3
# Line 1844  Options: anchored Line 1856  Options: anchored
1856  No first char  No first char
1857  No need char  No need char
1858    
1859    /^[[:blank:]]/D
1860    ------------------------------------------------------------------
1861      0  37 Bra 0
1862      3     ^
1863      4     [\x09 ]
1864     37  37 Ket
1865     40     End
1866    ------------------------------------------------------------------
1867    Capturing subpattern count = 0
1868    Options: anchored
1869    No first char
1870    No need char
1871    
1872  /^[[:cntrl:]]/D  /^[[:cntrl:]]/D
1873  ------------------------------------------------------------------  ------------------------------------------------------------------
1874    0  37 Bra 0    0  37 Bra 0
# Line 2000  Options: anchored Line 2025  Options: anchored
2025  No first char  No first char
2026  No need char  No need char
2027    
2028    /^[[:^blank:]]/D
2029    ------------------------------------------------------------------
2030      0  37 Bra 0
2031      3     ^
2032      4     [\x00-\x08\x0a-\x1f!-\xff]
2033     37  37 Ket
2034     40     End
2035    ------------------------------------------------------------------
2036    Capturing subpattern count = 0
2037    Options: anchored
2038    No first char
2039    No need char
2040    
2041  /[01[:alpha:]%]/D  /[01[:alpha:]%]/D
2042  ------------------------------------------------------------------  ------------------------------------------------------------------
2043    0  36 Bra 0    0  36 Bra 0
# Line 2372  Need char = 'n' Line 2410  Need char = 'n'
2410   1: main   1: main
2411   2: O   2: O
2412    
2413    /These are all cases where Perl does it differently (nested captures)/
2414    Capturing subpattern count = 1
2415    No options
2416    First char = 'T'
2417    Need char = 's'
2418    
2419    /^(a(b)?)+$/
2420    Capturing subpattern count = 2
2421    Options: anchored
2422    No first char
2423    Need char = 'a'
2424        aba
2425     0: aba
2426     1: a
2427     2: b
2428    
2429    /^(aa(bb)?)+$/
2430    Capturing subpattern count = 2
2431    Options: anchored
2432    No first char
2433    Need char = 'a'
2434        aabbaa
2435     0: aabbaa
2436     1: aa
2437     2: bb
2438    
2439    /^(aa|aa(bb))+$/
2440    Capturing subpattern count = 2
2441    Options: anchored
2442    No first char
2443    Need char = 'a'
2444        aabbaa
2445     0: aabbaa
2446     1: aa
2447     2: bb
2448    
2449    /^(aa(bb)??)+$/
2450    Capturing subpattern count = 2
2451    Options: anchored
2452    No first char
2453    Need char = 'a'
2454        aabbaa
2455     0: aabbaa
2456     1: aa
2457     2: bb
2458    
2459    /^(?:aa(bb)?)+$/
2460    Capturing subpattern count = 1
2461    Options: anchored
2462    No first char
2463    Need char = 'a'
2464        aabbaa
2465     0: aabbaa
2466     1: bb
2467    
2468    /^(aa(b(b))?)+$/
2469    Capturing subpattern count = 3
2470    Options: anchored
2471    No first char
2472    Need char = 'a'
2473        aabbaa
2474     0: aabbaa
2475     1: aa
2476     2: bb
2477     3: b
2478    
2479    /^(?:aa(b(b))?)+$/
2480    Capturing subpattern count = 2
2481    Options: anchored
2482    No first char
2483    Need char = 'a'
2484        aabbaa
2485     0: aabbaa
2486     1: bb
2487     2: b
2488    
2489    /^(?:aa(b(?:b))?)+$/
2490    Capturing subpattern count = 1
2491    Options: anchored
2492    No first char
2493    Need char = 'a'
2494        aabbaa
2495     0: aabbaa
2496     1: bb
2497    
2498    /^(?:aa(bb(?:b))?)+$/
2499    Capturing subpattern count = 1
2500    Options: anchored
2501    No first char
2502    Need char = 'a'
2503        aabbbaa
2504     0: aabbbaa
2505     1: bbb
2506    
2507    /^(?:aa(b(?:bb))?)+$/
2508    Capturing subpattern count = 1
2509    Options: anchored
2510    No first char
2511    Need char = 'a'
2512        aabbbaa
2513     0: aabbbaa
2514     1: bbb
2515    
2516    /^(?:aa(?:b(b))?)+$/
2517    Capturing subpattern count = 1
2518    Options: anchored
2519    No first char
2520    Need char = 'a'
2521        aabbaa
2522     0: aabbaa
2523     1: b
2524    
2525    /^(?:aa(?:b(bb))?)+$/
2526    Capturing subpattern count = 1
2527    Options: anchored
2528    No first char
2529    Need char = 'a'
2530        aabbbaa
2531     0: aabbbaa
2532     1: bb
2533    
2534    /^(aa(b(bb))?)+$/
2535    Capturing subpattern count = 3
2536    Options: anchored
2537    No first char
2538    Need char = 'a'
2539        aabbbaa
2540     0: aabbbaa
2541     1: aa
2542     2: bbb
2543     3: bb
2544    
2545    /^(aa(bb(bb))?)+$/
2546    Capturing subpattern count = 3
2547    Options: anchored
2548    No first char
2549    Need char = 'a'
2550        aabbbbaa
2551     0: aabbbbaa
2552     1: aa
2553     2: bbbb
2554     3: bb
2555    
2556    /--------------------------------------------------------------------/
2557    Capturing subpattern count = 0
2558    No options
2559    First char = '-'
2560    Need char = '-'
2561    
2562    /#/xMD
2563    Memory allocation (code space): 7
2564    ------------------------------------------------------------------
2565      0   3 Bra 0
2566      3   3 Ket
2567      6     End
2568    ------------------------------------------------------------------
2569    Capturing subpattern count = 0
2570    Options: extended
2571    No first char
2572    No need char
2573    
2574    /a#/xMD
2575    Memory allocation (code space): 13
2576    ------------------------------------------------------------------
2577      0   6 Bra 0
2578      3   1 a
2579      6   6 Ket
2580      9     End
2581    ------------------------------------------------------------------
2582    Capturing subpattern count = 0
2583    Options: extended
2584    First char = 'a'
2585    No need char
2586    
2587    /[\s]/D
2588    ------------------------------------------------------------------
2589      0  36 Bra 0
2590      3     [\x09-\x0a\x0c-\x0d ]
2591     36  36 Ket
2592     39     End
2593    ------------------------------------------------------------------
2594    Capturing subpattern count = 0
2595    No options
2596    No first char
2597    No need char
2598    
2599    /[\S]/D
2600    ------------------------------------------------------------------
2601      0  36 Bra 0
2602      3     [\x00-\x08\x0b\x0e-\x1f!-\xff]
2603     36  36 Ket
2604     39     End
2605    ------------------------------------------------------------------
2606    Capturing subpattern count = 0
2607    No options
2608    No first char
2609    No need char
2610    
2611    /a(?i)b/D
2612    ------------------------------------------------------------------
2613      0  11 Bra 0
2614      3   1 a
2615      6  01 Opt
2616      8   1 b
2617     11  11 Ket
2618     14     End
2619    ------------------------------------------------------------------
2620    Capturing subpattern count = 0
2621    No options
2622    Case state changes
2623    First char = 'a'
2624    Need char = 'b' (caseless)
2625        ab
2626     0: ab
2627        aB
2628     0: aB
2629        *** Failers
2630    No match
2631        AB
2632    No match
2633    
2634    /(a(?i)b)/D
2635    ------------------------------------------------------------------
2636      0  19 Bra 0
2637      3  11 Bra 1
2638      6   1 a
2639      9  01 Opt
2640     11   1 b
2641     14  11 Ket
2642     17  00 Opt
2643     19  19 Ket
2644     22     End
2645    ------------------------------------------------------------------
2646    Capturing subpattern count = 1
2647    No options
2648    Case state changes
2649    First char = 'a'
2650    Need char = 'b' (caseless)
2651        ab
2652     0: ab
2653     1: ab
2654        aB
2655     0: aB
2656     1: aB
2657        *** Failers
2658    No match
2659        AB
2660    No match
2661    
2662    /   (?i)abc/xD
2663    ------------------------------------------------------------------
2664      0   8 Bra 0
2665      3   3 abc
2666      8   8 Ket
2667     11     End
2668    ------------------------------------------------------------------
2669    Capturing subpattern count = 0
2670    Options: caseless extended
2671    First char = 'a' (caseless)
2672    Need char = 'c' (caseless)
2673    
2674    /#this is a comment
2675      (?i)abc/xD
2676    ------------------------------------------------------------------
2677      0   8 Bra 0
2678      3   3 abc
2679      8   8 Ket
2680     11     End
2681    ------------------------------------------------------------------
2682    Capturing subpattern count = 0
2683    Options: caseless extended
2684    First char = 'a' (caseless)
2685    Need char = 'c' (caseless)
2686    
2687    /123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2688    ------------------------------------------------------------------
2689      0 307 Bra 0
2690      3 250 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2691    255  50 12345678901234567890123456789012345678901234567890
2692    307 307 Ket
2693    310     End
2694    ------------------------------------------------------------------
2695    Capturing subpattern count = 0
2696    No options
2697    First char = '1'
2698    Need char = '0'
2699    
2700    /\Q123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890/D
2701    ------------------------------------------------------------------
2702      0 307 Bra 0
2703      3 250 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
2704    255  50 12345678901234567890123456789012345678901234567890
2705    307 307 Ket
2706    310     End
2707    ------------------------------------------------------------------
2708    Capturing subpattern count = 0
2709    No options
2710    First char = '1'
2711    Need char = '0'
2712    
2713    /\Q\E/D
2714    ------------------------------------------------------------------
2715      0   3 Bra 0
2716      3   3 Ket
2717      6     End
2718    ------------------------------------------------------------------
2719    Capturing subpattern count = 0
2720    No options
2721    No first char
2722    No need char
2723        \
2724     0:
2725    
2726    /\Q\Ex/D
2727    ------------------------------------------------------------------
2728      0   6 Bra 0
2729      3   1 x
2730      6   6 Ket
2731      9     End
2732    ------------------------------------------------------------------
2733    Capturing subpattern count = 0
2734    No options
2735    First char = 'x'
2736    No need char
2737    
2738    / \Q\E/D
2739    ------------------------------------------------------------------
2740      0   6 Bra 0
2741      3   1
2742      6   6 Ket
2743      9     End
2744    ------------------------------------------------------------------
2745    Capturing subpattern count = 0
2746    No options
2747    First char = ' '
2748    No need char
2749    
2750    /a\Q\E/D
2751    ------------------------------------------------------------------
2752      0   6 Bra 0
2753      3   1 a
2754      6   6 Ket
2755      9     End
2756    ------------------------------------------------------------------
2757    Capturing subpattern count = 0
2758    No options
2759    First char = 'a'
2760    No need char
2761      abc
2762     0: a
2763      bca
2764     0: a
2765      bac
2766     0: a
2767    
2768    /a\Q\Eb/D
2769    ------------------------------------------------------------------
2770      0   9 Bra 0
2771      3   1 a
2772      6   1 b
2773      9   9 Ket
2774     12     End
2775    ------------------------------------------------------------------
2776    Capturing subpattern count = 0
2777    No options
2778    First char = 'a'
2779    Need char = 'b'
2780      abc
2781     0: ab
2782    
2783    /\Q\Eabc/D
2784    ------------------------------------------------------------------
2785      0   8 Bra 0
2786      3   3 abc
2787      8   8 Ket
2788     11     End
2789    ------------------------------------------------------------------
2790    Capturing subpattern count = 0
2791    No options
2792    First char = 'a'
2793    Need char = 'c'
2794    
2795    /x*+\w/D
2796    ------------------------------------------------------------------
2797      0  12 Bra 0
2798      3   5 Once
2799      6     x*
2800      8   5 Ket
2801     11     \w
2802     12  12 Ket
2803     15     End
2804    ------------------------------------------------------------------
2805    Capturing subpattern count = 0
2806    No options
2807    No first char
2808    No need char
2809        *** Failers
2810     0: F
2811        xxxxx
2812    No match
2813    
2814    /x?+/D
2815    ------------------------------------------------------------------
2816      0  11 Bra 0
2817      3   5 Once
2818      6     x?
2819      8   5 Ket
2820     11  11 Ket
2821     14     End
2822    ------------------------------------------------------------------
2823    Capturing subpattern count = 0
2824    No options
2825    No first char
2826    No need char
2827    
2828    /x++/D
2829    ------------------------------------------------------------------
2830      0  11 Bra 0
2831      3   5 Once
2832      6     x+
2833      8   5 Ket
2834     11  11 Ket
2835     14     End
2836    ------------------------------------------------------------------
2837    Capturing subpattern count = 0
2838    No options
2839    First char = 'x'
2840    No need char
2841    
2842    /x{1,3}+/D
2843    ------------------------------------------------------------------
2844      0  16 Bra 0
2845      3  10 Once
2846      6   1 x
2847      9     x{,2}
2848     13  10 Ket
2849     16  16 Ket
2850     19     End
2851    ------------------------------------------------------------------
2852    Capturing subpattern count = 0
2853    No options
2854    First char = 'x'
2855    No need char
2856    
2857    /(x)*+/D
2858    ------------------------------------------------------------------
2859      0  19 Bra 0
2860      3  13 Once
2861      6     Brazero
2862      7   6 Bra 1
2863     10   1 x
2864     13   6 KetRmax
2865     16  13 Ket
2866     19  19 Ket
2867     22     End
2868    ------------------------------------------------------------------
2869    Capturing subpattern count = 1
2870    No options
2871    No first char
2872    No need char
2873    
2874    /^(\w++|\s++)*$/
2875    Capturing subpattern count = 1
2876    Options: anchored
2877    No first char
2878    No need char
2879        now is the time for all good men to come to the aid of the party
2880     0: now is the time for all good men to come to the aid of the party
2881     1: party
2882        *** Failers
2883    No match
2884        this is not a line with only words and spaces!
2885    No match
2886    
2887    /(\d++)(\w)/
2888    Capturing subpattern count = 2
2889    No options
2890    No first char
2891    No need char
2892        12345a
2893     0: 12345a
2894     1: 12345
2895     2: a
2896        *** Failers
2897    No match
2898        12345+
2899    No match
2900    
2901    /a++b/
2902    Capturing subpattern count = 0
2903    No options
2904    First char = 'a'
2905    Need char = 'b'
2906        aaab
2907     0: aaab
2908    
2909    /(a++b)/
2910    Capturing subpattern count = 1
2911    No options
2912    First char = 'a'
2913    Need char = 'b'
2914        aaab
2915     0: aaab
2916     1: aaab
2917    
2918    /(a++)b/
2919    Capturing subpattern count = 1
2920    No options
2921    First char = 'a'
2922    Need char = 'b'
2923        aaab
2924     0: aaab
2925     1: aaa
2926    
2927    /([^()]++|\([^()]*\))+/
2928    Capturing subpattern count = 1
2929    No options
2930    No first char
2931    No need char
2932        ((abc(ade)ufh()()x
2933     0: abc(ade)ufh()()x
2934     1: x
2935    
2936    /\(([^()]++|\([^()]+\))+\)/
2937    Capturing subpattern count = 1
2938    No options
2939    First char = '('
2940    Need char = ')'
2941        (abc)
2942     0: (abc)
2943     1: abc
2944        (abc(def)xyz)
2945     0: (abc(def)xyz)
2946     1: xyz
2947        *** Failers
2948    No match
2949        ((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2950    No match
2951    
2952    /(abc){1,3}+/D
2953    ------------------------------------------------------------------
2954      0  50 Bra 0
2955      3  44 Once
2956      6   8 Bra 1
2957      9   3 abc
2958     14   8 Ket
2959     17     Brazero
2960     18  26 Bra 0
2961     21   8 Bra 1
2962     24   3 abc
2963     29   8 Ket
2964     32     Brazero
2965     33   8 Bra 1
2966     36   3 abc
2967     41   8 Ket
2968     44  26 Ket
2969     47  44 Ket
2970     50  50 Ket
2971     53     End
2972    ------------------------------------------------------------------
2973    Capturing subpattern count = 1
2974    No options
2975    First char = 'a'
2976    Need char = 'c'
2977    
2978    /a+?+/
2979    Failed: nothing to repeat at offset 3
2980    
2981    /a{2,3}?+b/
2982    Failed: nothing to repeat at offset 7
2983    
2984    /(?U)a+?+/
2985    Failed: nothing to repeat at offset 7
2986    
2987    /a{2,3}?+b/U
2988    Failed: nothing to repeat at offset 7
2989    
2990    /x(?U)a++b/D
2991    ------------------------------------------------------------------
2992      0  17 Bra 0
2993      3   1 x
2994      6   5 Once
2995      9     a+
2996     11   5 Ket
2997     14   1 b
2998     17  17 Ket
2999     20     End
3000    ------------------------------------------------------------------
3001    Capturing subpattern count = 0
3002    No options
3003    First char = 'x'
3004    Need char = 'b'
3005        xaaaab
3006     0: xaaaab
3007    
3008    /(?U)xa++b/D
3009    ------------------------------------------------------------------
3010      0  17 Bra 0
3011      3   1 x
3012      6   5 Once
3013      9     a+
3014     11   5 Ket
3015     14   1 b
3016     17  17 Ket
3017     20     End
3018    ------------------------------------------------------------------
3019    Capturing subpattern count = 0
3020    Options: ungreedy
3021    First char = 'x'
3022    Need char = 'b'
3023        xaaaab
3024     0: xaaaab
3025    
3026    /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/D
3027    ------------------------------------------------------------------
3028      0 106 Bra 0
3029      3     ^
3030      4  99 Bra 1
3031      7   5 Bra 2
3032     10     a+
3033     12   5 Ket
3034     15  37 Bra 3
3035     18     [a-b]+?
3036     52  37 Ket
3037     55  37 Bra 4
3038     58     [b-c]+
3039     92  37 Ket
3040     95   5 Bra 5
3041     98     \w*
3042    100   5 Ket
3043    103  99 Ket
3044    106 106 Ket
3045    109     End
3046    ------------------------------------------------------------------
3047    Capturing subpattern count = 5
3048    Options: anchored
3049    No first char
3050    Need char = 'a'
3051    
3052    /^x(?U)a+b/D
3053    ------------------------------------------------------------------
3054      0  12 Bra 0
3055      3     ^
3056      4   1 x
3057      7     a+?
3058      9   1 b
3059     12  12 Ket
3060     15     End
3061    ------------------------------------------------------------------
3062    Capturing subpattern count = 0
3063    Options: anchored
3064    No first char
3065    Need char = 'b'
3066    
3067    /^x(?U)(a+)b/D
3068    ------------------------------------------------------------------
3069      0  18 Bra 0
3070      3     ^
3071      4   1 x
3072      7   5 Bra 1
3073     10     a+?
3074     12   5 Ket
3075     15   1 b
3076     18  18 Ket
3077     21     End
3078    ------------------------------------------------------------------
3079    Capturing subpattern count = 1
3080    Options: anchored
3081    No first char
3082    Need char = 'b'
3083    
3084    /[.x.]/
3085    Failed: POSIX collating elements are not supported at offset 0
3086    
3087    /[=x=]/
3088    Failed: POSIX collating elements are not supported at offset 0
3089    
3090    /[:x:]/
3091    Failed: POSIX named classes are supported only within a class at offset 0
3092    
3093    /\l/
3094    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3095    
3096    /\L/
3097    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3098    
3099    /\N{name}/
3100    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3101    
3102    /\pP/
3103    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3104    
3105    /\PP/
3106    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3107    
3108    /\p{prop}/
3109    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3110    
3111    /\P{prop}/
3112    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3113    
3114    /\u/
3115    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3116    
3117    /\U/
3118    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3119    
3120    /\X/
3121    Failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 1
3122    
3123    /[/
3124    Failed: missing terminating ] for character class at offset 1
3125    
3126    /[a-/
3127    Failed: missing terminating ] for character class at offset 3
3128    
3129    /[[:space:]/
3130    Failed: missing terminating ] for character class at offset 10
3131    
3132    /[\s]/DM
3133    Memory allocation (code space): 40
3134    ------------------------------------------------------------------
3135      0  36 Bra 0
3136      3     [\x09-\x0a\x0c-\x0d ]
3137     36  36 Ket
3138     39     End
3139    ------------------------------------------------------------------
3140    Capturing subpattern count = 0
3141    No options
3142    No first char
3143    No need char
3144    
3145    /[[:space:]]/DM
3146    Memory allocation (code space): 40
3147    ------------------------------------------------------------------
3148      0  36 Bra 0
3149      3     [\x09-\x0d ]
3150     36  36 Ket
3151     39     End
3152    ------------------------------------------------------------------
3153    Capturing subpattern count = 0
3154    No options
3155    No first char
3156    No need char
3157    
3158    /[[:space:]abcde]/DM
3159    Memory allocation (code space): 40
3160    ------------------------------------------------------------------
3161      0  36 Bra 0
3162      3     [\x09-\x0d a-e]
3163     36  36 Ket
3164     39     End
3165    ------------------------------------------------------------------
3166    Capturing subpattern count = 0
3167    No options
3168    No first char
3169    No need char
3170    
3171    /< (?: (?(R) \d++  | [^<>]*+) | (?R)) * >/x
3172    Capturing subpattern count = 0
3173    Options: extended
3174    First char = '<'
3175    Need char = '>'
3176        <>
3177     0: <>
3178        <abcd>
3179     0: <abcd>
3180        <abc <123> hij>
3181     0: <abc <123> hij>
3182        <abc <def> hij>
3183     0: <def>
3184        <abc<>def>
3185     0: <abc<>def>
3186        <abc<>
3187     0: <>
3188        *** Failers
3189    No match
3190        <abc
3191    No match
3192    
3193    |8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM
3194    Memory allocation (code space): 421
3195    ------------------------------------------------------------------
3196      0 417 Bra 0
3197      3 250 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:
3198    255 159 x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3199    416     \b
3200    417 417 Ket
3201    420     End
3202    ------------------------------------------------------------------
3203    Capturing subpattern count = 0
3204    No options
3205    First char = '8'
3206    Need char = 'X'
3207    
3208    |\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b|DM
3209    Memory allocation (code space): 416
3210    ------------------------------------------------------------------
3211      0 412 Bra 0
3212      3 250 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[
3213    255 154 %z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
3214    411     \b
3215    412 412 Ket
3216    415     End
3217    ------------------------------------------------------------------
3218    Capturing subpattern count = 0
3219    No options
3220    First char = '$'
3221    Need char = 'X'
3222    
3223    /(.*)\d+\1/I
3224    Capturing subpattern count = 1
3225    Max back reference = 1
3226    No options
3227    No first char
3228    No need char
3229    
3230    /(.*)\d+/I
3231    Capturing subpattern count = 1
3232    No options
3233    First char at start or follows \n
3234    No need char
3235    
3236    /(.*)\d+\1/Is
3237    Capturing subpattern count = 1
3238    Max back reference = 1
3239    Options: dotall
3240    No first char
3241    No need char
3242    
3243    /(.*)\d+/Is
3244    Capturing subpattern count = 1
3245    Options: anchored dotall
3246    No first char
3247    No need char
3248    
3249    /(.*(xyz))\d+\2/I
3250    Capturing subpattern count = 2
3251    Max back reference = 2
3252    No options
3253    First char at start or follows \n
3254    Need char = 'z'
3255    
3256    /((.*))\d+\1/I
3257    Capturing subpattern count = 2
3258    Max back reference = 1
3259    No options
3260    No first char
3261    No need char
3262        abc123bc
3263     0: bc123bc
3264     1: bc
3265     2: bc
3266    
3267    /a[b]/I
3268    Capturing subpattern count = 0
3269    No options
3270    First char = 'a'
3271    Need char = 'b'
3272    
3273    /(?=a).*/I
3274    Capturing subpattern count = 0
3275    No options
3276    First char = 'a'
3277    No need char
3278    
3279    /(?=abc).xyz/iI
3280    Capturing subpattern count = 0
3281    Options: caseless
3282    First char = 'a' (caseless)
3283    Need char = 'z' (caseless)
3284    
3285    /(?=abc)(?i).xyz/I
3286    Capturing subpattern count = 0
3287    No options
3288    Case state changes
3289    First char = 'a'
3290    Need char = 'z' (caseless)
3291    
3292    /(?=a)(?=b)/I
3293    Capturing subpattern count = 0
3294    No options
3295    First char = 'a'
3296    No need char
3297    
3298    /(?=.)a/I
3299    Capturing subpattern count = 0
3300    No options
3301    First char = 'a'
3302    No need char
3303    
3304    /((?=abcda)a)/I
3305    Capturing subpattern count = 1
3306    No options
3307    First char = 'a'
3308    Need char = 'a'
3309    
3310    /((?=abcda)ab)/I
3311    Capturing subpattern count = 1
3312    No options
3313    First char = 'a'
3314    Need char = 'b'
3315    
3316    /()a/I
3317    Capturing subpattern count = 1
3318    No options
3319    No first char
3320    Need char = 'a'
3321    
3322    /(?(1)ab|ac)/I
3323    Capturing subpattern count = 0
3324    No options
3325    First char = 'a'
3326    No need char
3327    
3328    /(?(1)abz|acz)/I
3329    Capturing subpattern count = 0
3330    No options
3331    First char = 'a'
3332    Need char = 'z'
3333    
3334    /(?(1)abz)/I
3335    Capturing subpattern count = 0
3336    No options
3337    No first char
3338    No need char
3339    
3340    /(?(1)abz)123/I
3341    Capturing subpattern count = 0
3342    No options
3343    No first char
3344    Need char = '3'
3345    
3346    /(a)+/I
3347    Capturing subpattern count = 1
3348    No options
3349    First char = 'a'
3350    No need char
3351    
3352    /(a){2,3}/I
3353    Capturing subpattern count = 1
3354    No options
3355    First char = 'a'
3356    Need char = 'a'
3357    
3358    /(a)*/I
3359    Capturing subpattern count = 1
3360    No options
3361    No first char
3362    No need char
3363    
3364    /[a]/I
3365    Capturing subpattern count = 0
3366    No options
3367    First char = 'a'
3368    No need char
3369    
3370    /[ab]/I
3371    Capturing subpattern count = 0
3372    No options
3373    No first char
3374    No need char
3375    
3376    /[ab]/IS
3377    Capturing subpattern count = 0
3378    No options
3379    No first char
3380    No need char
3381    Study size = 40
3382    Starting character set: a b
3383    
3384    /[^a]/I
3385    Capturing subpattern count = 0
3386    No options
3387    No first char
3388    No need char
3389    
3390    /\d456/I
3391    Capturing subpattern count = 0
3392    No options
3393    No first char
3394    Need char = '6'
3395    
3396    /\d456/IS
3397    Capturing subpattern count = 0
3398    No options
3399    No first char
3400    Need char = '6'
3401    Study size = 40
3402    Starting character set: 0 1 2 3 4 5 6 7 8 9
3403    
3404    /a^b/I
3405    Capturing subpattern count = 0
3406    No options
3407    First char = 'a'
3408    Need char = 'b'
3409    
3410    /^a/mI
3411    Capturing subpattern count = 0
3412    Options: multiline
3413    First char at start or follows \n
3414    Need char = 'a'
3415      abcde
3416     0: a
3417      xy\nabc
3418     0: a
3419      *** Failers
3420    No match
3421      xyabc
3422    No match
3423    
3424    /c|abc/I
3425    Capturing subpattern count = 0
3426    No options
3427    No first char
3428    Need char = 'c'
3429    
3430    /(?i)[ab]/IS
3431    Capturing subpattern count = 0
3432    Options: caseless
3433    No first char
3434    No need char
3435    Study size = 40
3436    Starting character set: A B a b
3437    
3438    /[ab](?i)cd/IS
3439    Capturing subpattern count = 0
3440    No options
3441    Case state changes
3442    No first char
3443    Need char = 'd' (caseless)
3444    Study size = 40
3445    Starting character set: a b
3446    
3447    /abc(?C)def/
3448    Capturing subpattern count = 0
3449    No options
3450    First char = 'a'
3451    Need char = 'f'
3452        abcdef
3453    --->abcdef
3454      0 ^  ^
3455     0: abcdef
3456        1234abcdef
3457    --->1234abcdef
3458      0     ^  ^
3459     0: abcdef
3460        *** Failers
3461    No match
3462        abcxyz
3463    No match
3464        abcxyzf
3465    --->abcxyzf
3466      0 ^  ^
3467    No match
3468    
3469    /abc(?C)de(?C1)f/
3470    Capturing subpattern count = 0
3471    No options
3472    First char = 'a'
3473    Need char = 'f'
3474        123abcdef
3475    --->123abcdef
3476      0    ^  ^
3477      1    ^    ^
3478     0: abcdef
3479    
3480    /(?C1)\dabc(?C2)def/
3481    Capturing subpattern count = 0
3482    No options
3483    No first char
3484    Need char = 'f'
3485        1234abcdef
3486    --->1234abcdef
3487      1 ^
3488      1  ^
3489      1   ^
3490      1    ^
3491      2    ^   ^
3492     0: 4abcdef
3493        *** Failers
3494    No match
3495        abcdef
3496    --->abcdef
3497      1 ^
3498      1  ^
3499      1   ^
3500      1    ^
3501      1     ^
3502      1      ^
3503    No match
3504    
3505    /(?C255)ab/
3506    Capturing subpattern count = 0
3507    No options
3508    First char = 'a'
3509    Need char = 'b'
3510    
3511    /(?C256)ab/
3512    Failed: number after (?C is > 255 at offset 6
3513    
3514    /(?Cab)xx/
3515    Failed: closing ) for (?C expected at offset 3
3516    
3517    /(?C12vr)x/
3518    Failed: closing ) for (?C expected at offset 5
3519    
3520    /abc(?C)def/
3521    Capturing subpattern count = 0
3522    No options
3523    First char = 'a'
3524    Need char = 'f'
3525        *** Failers
3526    No match
3527        \x83\x0\x61bcdef
3528    --->\x83\x00abcdef
3529      0         ^  ^
3530     0: abcdef
3531    
3532    /(abc)(?C)de(?C1)f/
3533    Capturing subpattern count = 1
3534    No options
3535    First char = 'a'
3536    Need char = 'f'
3537        123abcdef
3538    --->123abcdef
3539      0    ^  ^
3540      1    ^    ^
3541     0: abcdef
3542     1: abc
3543        123abcdef\C+
3544    Callout 0: last capture = 1
3545     0: <unset>
3546     1: abc
3547    --->123abcdef
3548           ^  ^
3549    Callout 1: last capture = 1
3550     0: <unset>
3551     1: abc
3552    --->123abcdef
3553           ^    ^
3554     0: abcdef
3555     1: abc
3556        123abcdef\C-
3557     0: abcdef
3558     1: abc
3559        *** Failers
3560    No match
3561        123abcdef\C!1
3562    --->123abcdef
3563      0    ^  ^
3564      1    ^    ^
3565    No match
3566    
3567    /(?C0)(abc(?C1))*/
3568    Capturing subpattern count = 1
3569    No options
3570    No first char
3571    No need char
3572        abcabcabc
3573    --->abcabcabc
3574      0 ^
3575      1 ^  ^
3576      1 ^     ^
3577      1 ^        ^
3578     0: abcabcabc
3579     1: abc
3580        abcabc\C!1!3
3581    --->abcabc
3582      0 ^
3583      1 ^  ^
3584      1 ^     ^
3585     0: abcabc
3586     1: abc
3587        *** Failers
3588    --->*** Failers
3589      0 ^
3590     0:
3591        abcabcabc\C!1!3
3592    --->abcabcabc
3593      0 ^
3594      1 ^  ^
3595      1 ^     ^
3596      1 ^        ^
3597     0: abcabc
3598     1: abc
3599    
3600    /(\d{3}(?C))*/
3601    Capturing subpattern count = 1
3602    No options
3603    No first char
3604    No need char
3605        123\C+
3606    Callout 0: last capture = -1
3607     0: <unset>
3608    --->123
3609        ^  ^
3610     0: 123
3611     1: 123
3612        123456\C+
3613    Callout 0: last capture = -1
3614     0: <unset>
3615    --->123456
3616        ^  ^
3617    Callout 0: last capture = 1
3618     0: <unset>
3619     1: 123
3620    --->123456
3621        ^     ^
3622     0: 123456
3623     1: 456
3624        123456789\C+
3625    Callout 0: last capture = -1
3626     0: <unset>
3627    --->123456789
3628        ^  ^
3629    Callout 0: last capture = 1
3630     0: <unset>
3631     1: 123
3632    --->123456789
3633        ^     ^
3634    Callout 0: last capture = 1
3635     0: <unset>
3636     1: 456
3637    --->123456789
3638        ^        ^
3639     0: 123456789
3640     1: 789
3641    
3642    /((xyz)(?C)p|(?C1)xyzabc)/
3643    Capturing subpattern count = 2
3644    No options
3645    First char = 'x'
3646    No need char
3647        xyzabc\C+
3648    Callout 0: last capture = 2
3649     0: <unset>
3650     1: <unset>
3651     2: xyz
3652    --->xyzabc
3653        ^  ^
3654    Callout 1: last capture = -1
3655     0: <unset>
3656    --->xyzabc
3657        ^
3658     0: xyzabc
3659     1: xyzabc
3660    
3661    /(X)((xyz)(?C)p|(?C1)xyzabc)/
3662    Capturing subpattern count = 3
3663    No options
3664    First char = 'X'
3665    Need char = 'x'
3666        Xxyzabc\C+
3667    Callout 0: last capture = 3
3668     0: <unset>
3669     1: X
3670     2: <unset>
3671     3: xyz
3672    --->Xxyzabc
3673        ^   ^
3674    Callout 1: last capture = 1
3675     0: <unset>
3676     1: X
3677    --->Xxyzabc
3678        ^^
3679     0: Xxyzabc
3680     1: X
3681     2: xyzabc
3682    
3683    /(?=(abc))(?C)abcdef/
3684    Capturing subpattern count = 1
3685    No options
3686    First char = 'a'
3687    Need char = 'f'
3688        abcdef\C+
3689    Callout 0: last capture = 1
3690     0: <unset>
3691     1: abc
3692    --->abcdef
3693        ^
3694     0: abcdef
3695     1: abc
3696    
3697    /(?!(abc)(?C1)d)(?C2)abcxyz/
3698    Capturing subpattern count = 1
3699    No options
3700    First char = 'a'
3701    Need char = 'z'
3702        abcxyz\C+
3703    Callout 1: last capture = 1
3704     0: <unset>
3705     1: abc
3706    --->abcxyz
3707        ^  ^
3708    Callout 2: last capture = -1
3709     0: <unset>
3710    --->abcxyz
3711        ^
3712     0: abcxyz
3713    
3714    /(?<=(abc)(?C))xyz/
3715    Capturing subpattern count = 1
3716    No options
3717    First char = 'x'
3718    Need char = 'z'
3719       abcxyz\C+
3720    Callout 0: last capture = 1
3721     0: <unset>
3722     1: abc
3723    --->abcxyz
3724           ^
3725     0: xyz
3726     1: abc
3727    
3728    /(?C)abc/
3729    Capturing subpattern count = 0
3730    No options
3731    First char = 'a'
3732    Need char = 'c'
3733    
3734    /(?C)^abc/
3735    Capturing subpattern count = 0
3736    Options: anchored
3737    No first char
3738    Need char = 'c'
3739    
3740    /(?C)a|b/S
3741    Capturing subpattern count = 0
3742    No options
3743    No first char
3744    No need char
3745    Study size = 40
3746    Starting character set: a b
3747    
3748    /(?R)/
3749    Failed: recursive call could loop indefinitely at offset 3
3750    
3751    /(a|(?R))/
3752    Failed: recursive call could loop indefinitely at offset 6
3753    
3754    /(ab|(bc|(de|(?R))))/
3755    Failed: recursive call could loop indefinitely at offset 15
3756    
3757    /x(ab|(bc|(de|(?R))))/
3758    Capturing subpattern count = 3
3759    No options
3760    First char = 'x'
3761    No need char
3762        xab
3763     0: xab
3764     1: ab
3765        xbc
3766     0: xbc
3767     1: bc
3768     2: bc
3769        xde
3770     0: xde
3771     1: de
3772     2: de
3773     3: de
3774        xxab
3775     0: xxab
3776     1: xab
3777     2: xab
3778     3: xab
3779        xxxab
3780     0: xxxab
3781     1: xxab
3782     2: xxab
3783     3: xxab
3784        *** Failers
3785    No match
3786        xyab
3787    No match
3788    
3789    /(ab|(bc|(de|(?1))))/
3790    Failed: recursive call could loop indefinitely at offset 15
3791    
3792    /x(ab|(bc|(de|(?1)x)x)x)/
3793    Failed: recursive call could loop indefinitely at offset 16
3794    
3795    /^([^()]|\((?1)*\))*$/
3796    Capturing subpattern count = 1
3797    Options: anchored
3798    No first char
3799    No need char
3800        abc
3801     0: abc
3802     1: c
3803        a(b)c
3804     0: a(b)c
3805     1: c
3806        a(b(c))d
3807     0: a(b(c))d
3808     1: d
3809        *** Failers)
3810    No match
3811        a(b(c)d
3812    No match
3813    
3814    /^>abc>([^()]|\((?1)*\))*<xyz<$/
3815    Capturing subpattern count = 1
3816    Options: anchored
3817    No first char
3818    Need char = '<'
3819       >abc>123<xyz<
3820     0: >abc>123<xyz<
3821     1: 3
3822       >abc>1(2)3<xyz<
3823     0: >abc>1(2)3<xyz<
3824     1: 3
3825       >abc>(1(2)3)<xyz<
3826     0: >abc>(1(2)3)<xyz<
3827     1: (1(2)3)
3828    
3829    /(a(?1)b)/D
3830    ------------------------------------------------------------------
3831      0  18 Bra 0
3832      3  12 Bra 1
3833      6   1 a
3834      9   3 Recurse
3835     12   1 b
3836     15  12 Ket
3837     18  18 Ket
3838     21     End
3839    ------------------------------------------------------------------
3840    Capturing subpattern count = 1
3841    No options
3842    First char = 'a'
3843    Need char = 'b'
3844    
3845    /(a(?1)+b)/D
3846    ------------------------------------------------------------------
3847      0  24 Bra 0
3848      3  18 Bra 1
3849      6   1 a
3850      9   6 Bra 0
3851     12   3 Recurse
3852     15   6 KetRmax
3853     18   1 b
3854     21  18 Ket
3855     24  24 Ket
3856     27     End
3857    ------------------------------------------------------------------
3858    Capturing subpattern count = 1
3859    No options
3860    First char = 'a'
3861    Need char = 'b'
3862    
3863    /^\W*(?:((.)\W*(?1)\W*\2|)|((.)\W*(?3)\W*\4|\W*.\W*))\W*$/i
3864    Capturing subpattern count = 4
3865    Max back reference = 4
3866    Options: anchored caseless
3867    No first char
3868    No need char
3869        1221
3870     0: 1221
3871     1: 1221
3872     2: 1
3873        Satan, oscillate my metallic sonatas!
3874     0: Satan, oscillate my metallic sonatas!
3875     1: <unset>
3876     2: <unset>
3877     3: Satan, oscillate my metallic sonatas
3878     4: S
3879        A man, a plan, a canal: Panama!
3880     0: A man, a plan, a canal: Panama!
3881     1: <unset>
3882     2: <unset>
3883     3: A man, a plan, a canal: Panama
3884     4: A
3885        Able was I ere I saw Elba.
3886     0: Able was I ere I saw Elba.
3887     1: <unset>
3888     2: <unset>
3889     3: Able was I ere I saw Elba
3890     4: A
3891        *** Failers
3892    No match
3893        The quick brown fox
3894    No match
3895    
3896    /^(\d+|\((?1)([+*-])(?1)\)|-(?1))$/
3897    Capturing subpattern count = 2
3898    Options: anchored
3899    No first char
3900    No need char
3901        12
3902     0: 12
3903     1: 12
3904        (((2+2)*-3)-7)
3905     0: (((2+2)*-3)-7)
3906     1: (((2+2)*-3)-7)
3907     2: -
3908        -12
3909     0: -12
3910     1: -12
3911        *** Failers
3912    No match
3913        ((2+2)*-3)-7)
3914    No match
3915    
3916    /^(x(y|(?1){2})z)/
3917    Capturing subpattern count = 2
3918    Options: anchored
3919    No first char
3920    Need char = 'z'
3921        xyz
3922     0: xyz
3923     1: xyz
3924     2: y
3925        xxyzxyzz
3926     0: xxyzxyzz
3927     1: xxyzxyzz
3928     2: xyzxyz
3929        *** Failers
3930    No match
3931        xxyzz
3932    No match
3933        xxyzxyzxyzz
3934    No match
3935    
3936    /((< (?: (?(R) \d++  | [^<>]*+) | (?2)) * >))/x
3937    Capturing subpattern count = 2
3938    Options: extended
3939    First char = '<'
3940    Need char = '>'
3941        <>
3942     0: <>
3943     1: <>
3944     2: <>
3945        <abcd>
3946     0: <abcd>
3947     1: <abcd>
3948     2: <abcd>
3949        <abc <123> hij>
3950     0: <abc <123> hij>
3951     1: <abc <123> hij>
3952     2: <abc <123> hij>
3953        <abc <def> hij>
3954     0: <def>
3955     1: <def>
3956     2: <def>
3957        <abc<>def>
3958     0: <abc<>def>
3959     1: <abc<>def>
3960     2: <abc<>def>
3961        <abc<>
3962     0: <>
3963     1: <>
3964     2: <>
3965        *** Failers
3966    No match
3967        <abc
3968    No match
3969    
3970    /(?1)/
3971    Failed: reference to non-existent subpattern at offset 3
3972    
3973    /((?2)(abc)/
3974    Failed: reference to non-existent subpattern at offset 4
3975    
3976    /^(abc)def(?1)/
3977    Capturing subpattern count = 1
3978    Options: anchored
3979    No first char
3980    Need char = 'f'
3981        abcdefabc
3982     0: abcdefabc
3983     1: abc
3984    
3985    /^(a|b|c)=(?1)+/
3986    Capturing subpattern count = 1
3987    Options: anchored
3988    No first char
3989    Need char = '='
3990        a=a
3991     0: a=a
3992     1: a
3993        a=b
3994     0: a=b
3995     1: a
3996        a=bc
3997     0: a=bc
3998     1: a
3999    
4000    /^(a|b|c)=((?1))+/
4001    Capturing subpattern count = 2
4002    Options: anchored
4003    No first char
4004    Need char = '='
4005        a=a
4006     0: a=a
4007     1: a
4008     2: a
4009        a=b
4010     0: a=b
4011     1: a
4012     2: b
4013        a=bc
4014     0: a=bc
4015     1: a
4016     2: c
4017    
4018    /a(?P<name1>b|c)d(?P<longername2>e)/D
4019    ------------------------------------------------------------------
4020      0  33 Bra 0
4021      3   1 a
4022      6   6 Bra 1
4023      9   1 b
4024     12   6 Alt
4025     15   1 c
4026     18  12 Ket
4027     21   1 d
4028     24   6 Bra 2
4029     27   1 e
4030     30   6 Ket
4031     33  33 Ket
4032     36     End
4033    ------------------------------------------------------------------
4034    Capturing subpattern count = 2
4035    Named capturing subpatterns:
4036      longername2   2
4037      name1         1
4038    No options
4039    First char = 'a'
4040    Need char = 'e'
4041        abde
4042     0: abde
4043     1: b
4044     2: e
4045        acde
4046     0: acde
4047     1: c
4048     2: e
4049    
4050    /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/D
4051    ------------------------------------------------------------------
4052      0  39 Bra 0
4053      3  24 Bra 0
4054      6   1 a
4055      9  15 Bra 1
4056     12   1 c
4057     15   6 Bra 2
4058     18   1 d
4059     21   6 Ket
4060     24  15 Ket
4061     27  24 Ket
4062     30   6 Bra 3
4063     33   1 a
4064     36   6 Ket
4065     39  39 Ket
4066     42     End
4067    ------------------------------------------------------------------
4068    Capturing subpattern count = 3
4069    Named capturing subpatterns:
4070      a   3
4071      c   1
4072      d   2
4073    No options
4074    First char = 'a'
4075    Need char = 'a'
4076    
4077    /(?P<a>a)...(?P=a)bbb(?P>a)d/D
4078    ------------------------------------------------------------------
4079      0  29 Bra 0
4080      3   6 Bra 1
4081      6   1 a
4082      9   6 Ket
4083     12     Any
4084     13     Any
4085     14     Any
4086     15     \1
4087     18   3 bbb
4088     23   3 Recurse
4089     26   1 d
4090     29  29 Ket
4091     32     End
4092    ------------------------------------------------------------------
4093    Capturing subpattern count = 1
4094    Max back reference = 1
4095    Named capturing subpatterns:
4096      a   1
4097    No options
4098    First char = 'a'
4099    Need char = 'd'
4100    
4101    /^\W*(?:(?P<one>(?P<two>.)\W*(?P>one)\W*(?P=two)|)|(?P<three>(?P<four>.)\W*(?P>three)\W*(?P=four)|\W*.\W*))\W*$/i
4102    Capturing subpattern count = 4
4103    Max back reference = 4
4104    Named capturing subpatterns:
4105      four    4
4106      one     1
4107      three   3
4108      two     2
4109    Options: anchored caseless
4110    No first char
4111    No need char
4112        1221
4113     0: 1221
4114     1: 1221
4115     2: 1
4116        Satan, oscillate my metallic sonatas!
4117     0: Satan, oscillate my metallic sonatas!
4118     1: <unset>
4119     2: <unset>
4120     3: Satan, oscillate my metallic sonatas
4121     4: S
4122        A man, a plan, a canal: Panama!
4123     0: A man, a plan, a canal: Panama!
4124     1: <unset>
4125     2: <unset>
4126     3: A man, a plan, a canal: Panama
4127     4: A
4128        Able was I ere I saw Elba.
4129     0: Able was I ere I saw Elba.
4130     1: <unset>
4131     2: <unset>
4132     3: Able was I ere I saw Elba
4133     4: A
4134        *** Failers
4135    No match
4136        The quick brown fox
4137    No match
4138    
4139    /((?(R)a|b))\1(?1)?/
4140    Capturing subpattern count = 1
4141    Max back reference = 1
4142    No options
4143    No first char
4144    No need char
4145      bb
4146     0: bb
4147     1: b
4148      bbaa
4149     0: bba
4150     1: b
4151    
4152    /(.*)a/sI
4153    Capturing subpattern count = 1
4154    Options: anchored dotall
4155    No first char
4156    Need char = 'a'
4157    
4158    /(.*)a\1/sI
4159    Capturing subpattern count = 1
4160    Max back reference = 1
4161    Options: dotall
4162    No first char
4163    Need char = 'a'
4164    
4165    /(.*)a(b)\2/sI
4166    Capturing subpattern count = 2
4167    Max back reference = 2
4168    Options: anchored dotall
4169    No first char
4170    Need char = 'b'
4171    
4172    /((.*)a|(.*)b)z/sI
4173    Capturing subpattern count = 3
4174    Options: anchored dotall
4175    No first char
4176    Need char = 'z'
4177    
4178    /((.*)a|(.*)b)z\1/sI
4179    Capturing subpattern count = 3
4180    Max back reference = 1
4181    Options: dotall
4182    No first char
4183    Need char = 'z'
4184    
4185    /((.*)a|(.*)b)z\2/sI
4186    Capturing subpattern count = 3
4187    Max back reference = 2
4188    Options: dotall
4189    No first char
4190    Need char = 'z'
4191    
4192    /((.*)a|(.*)b)z\3/sI
4193    Capturing subpattern count = 3
4194    Max back reference = 3
4195    Options: dotall
4196    No first char
4197    Need char = 'z'
4198    
4199    /((.*)a|^(.*)b)z\3/sI
4200    Capturing subpattern count = 3
4201    Max back reference = 3
4202    Options: anchored dotall
4203    No first char
4204    Need char = 'z'
4205    
4206    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a/sI
4207    Capturing subpattern count = 31
4208    Options: anchored dotall
4209    No first char
4210    No need char
4211    
4212    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\31/sI
4213    Capturing subpattern count = 31
4214    Max back reference = 31
4215    Options: dotall
4216    No first char
4217    No need char
4218    
4219    /(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)|(.*)a\32/sI
4220    Capturing subpattern count = 32
4221    Max back reference = 32
4222    Options: dotall
4223    No first char
4224    No need char
4225    
4226    /(a)(bc)/ND
4227    ------------------------------------------------------------------
4228      0  22 Bra 0
4229      3   6 Bra 0
4230      6   1 a
4231      9   6 Ket
4232     12   7 Bra 0
4233     15   2 bc
4234     19   7 Ket
4235     22  22 Ket
4236     25     End
4237    ------------------------------------------------------------------
4238    Capturing subpattern count = 0
4239    Options:
4240    First char = 'a'
4241    Need char = 'c'
4242      abc
4243     0: abc
4244    
4245    /(?P<one>a)(bc)/ND
4246    ------------------------------------------------------------------
4247      0  22 Bra 0
4248      3   6 Bra 1
4249      6   1 a
4250      9   6 Ket
4251     12   7 Bra 0
4252     15   2 bc
4253     19   7 Ket
4254     22  22 Ket
4255     25     End
4256    ------------------------------------------------------------------
4257    Capturing subpattern count = 1
4258    Named capturing subpatterns:
4259      one   1
4260    Options:
4261    First char = 'a'
4262    Need char = 'c'
4263      abc
4264     0: abc
4265     1: a
4266    
4267    /(a)(?P<named>bc)/ND
4268    ------------------------------------------------------------------
4269      0  22 Bra 0
4270      3   6 Bra 0
4271      6   1 a
4272      9   6 Ket
4273     12   7 Bra 1
4274     15   2 bc
4275     19   7 Ket
4276     22  22 Ket
4277     25     End
4278    ------------------------------------------------------------------
4279    Capturing subpattern count = 1
4280    Named capturing subpatterns:
4281      named   1
4282    Options:
4283    First char = 'a'
4284    Need char = 'c'
4285    
4286    /(a+)*zz/
4287    Capturing subpattern count = 1
4288    No options
4289    No first char
4290    Need char = 'z'
4291      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\M
4292    Minimum match limit = 8
4293     0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
4294     1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
4295      aaaaaaaaaaaaaz\M
4296    Minimum match limit = 32768
4297    No match
4298    
4299    /(aaa(?C1)bbb|ab)/
4300    Capturing subpattern count = 1
4301    No options
4302    First char = 'a'
4303    Need char = 'b'
4304       aaabbb
4305    --->aaabbb
4306      1 ^  ^
4307     0: aaabbb
4308     1: aaabbb
4309       aaabbb\C*0
4310    --->aaabbb
4311      1 ^  ^
4312     0: aaabbb
4313     1: aaabbb
4314       aaabbb\C*1
4315    --->aaabbb
4316      1 ^  ^
4317    Callout data = 1
4318     0: ab
4319     1: ab
4320       aaabbb\C*-1
4321    --->aaabbb
4322      1 ^  ^
4323    Callout data = -1
4324    No match
4325    
4326    /ab(?P<one>cd)ef(?P<two>gh)/
4327    Capturing subpattern count = 2
4328    Named capturing subpatterns:
4329      one   1
4330      two   2
4331    No options
4332    First char = 'a'
4333    Need char = 'h'
4334        abcdefgh
4335     0: abcdefgh
4336     1: cd
4337     2: gh
4338        abcdefgh\C1\Gtwo
4339     0: abcdefgh
4340     1: cd
4341     2: gh
4342     1C cd (2)
4343     2G gh (2)
4344        abcdefgh\Cone\Ctwo
4345     0: abcdefgh
4346     1: cd
4347     2: gh
4348     1C cd (2)
4349     2C gh (2)
4350        abcdefgh\Cthree
4351    no parentheses with name "three"
4352     0: abcdefgh
4353     1: cd
4354     2: gh
4355    
4356    /(?P<Tes>)(?P<Test>)/D
4357    ------------------------------------------------------------------
4358      0  15 Bra 0
4359      3   3 Bra 1
4360      6   3 Ket
4361      9   3 Bra 2
4362     12   3 Ket
4363     15  15 Ket
4364     18     End
4365    ------------------------------------------------------------------
4366    Capturing subpattern count = 2
4367    Named capturing subpatterns:
4368      Tes    1
4369      Test   2
4370    No options
4371    No first char
4372    No need char
4373    
4374    /(?P<Test>)(?P<Tes>)/D
4375    ------------------------------------------------------------------
4376      0  15 Bra 0
4377      3   3 Bra 1
4378      6   3 Ket
4379      9   3 Bra 2
4380     12   3 Ket
4381     15  15 Ket
4382     18     End
4383    ------------------------------------------------------------------
4384    Capturing subpattern count = 2
4385    Named capturing subpatterns:
4386      Tes    2
4387      Test   1
4388    No options
4389    No first char
4390    No need char
4391    
4392    /(?P<Z>zz)(?P<A>aa)/
4393    Capturing subpattern count = 2
4394    Named capturing subpatterns:
4395      A   2
4396      Z   1
4397    No options
4398    First char = 'z'
4399    Need char = 'a'
4400        zzaa\CZ
4401     0: zzaa
4402     1: zz
4403     2: aa
4404     1C zz (2)
4405        zzaa\CA
4406     0: zzaa
4407     1: zz
4408     2: aa
4409     2C aa (2)
4410    
4411  / End of testinput2 /  / End of testinput2 /
4412  Capturing subpattern count = 0  Capturing subpattern count = 0
4413  No options  No options

Legend:
Removed from v.61  
changed lines
  Added in v.63

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12