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

Legend:
Removed from v.59  
changed lines
  Added in v.71

  ViewVC Help
Powered by ViewVC 1.1.5