1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
## captures
(a.)..(..) zzzabcdefzzz y basic match
(a.)..(..) zzzabcdefzzz <mob: abcdef @ 3> basic $0
(a.)..(..) zzzabcdefzzz <mob[0]: ab @ 3> basic $1
(a.)..(..) zzzabcdefzzz <mob[1]: ef @ 7> basic $2
(a(b(c))(d)) abcd y nested match
(a(b(c))(d)) abcd <mob: abcd @ 0> nested match
(a(b(c))(d)) abcd <mob[0]: abcd @ 0> nested match
(a(b(c))(d)) abcd <mob[0][0]: bc @ 1> nested match
(a(b(c))(d)) abcd <mob[0][0][0]: c @ 2> nested match
(a(b(c))(d)) abcd <mob[0][1]: d @ 3> nested match
((\w+)+) abcd <mob: abcd @ 0> nested match
((\w+)+) abcd <mob[0]: abcd @ 0> nested match
((\w+)+) abcd <mob[0][0][0]: abcd @ 0> nested match
((\w+)+) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz <mob: ABCD> nested match
((\w+)+) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz <mob[0]: ABCD> nested match
((\w+)+) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz <mob[0][0][0]: ABCD> nested match
(a) [ (bc) (d) || .* (ef) ] .* (g) abcdefg <mob[0]: a @ 0> alt subpattern before group
(a) [ (bc) (d) || .* (ef) ] .* (g) abcdefg <mob[1]: bc @ 1> alt subpattern in group
(a) [ (bc) (d) || .* (ef) ] .* (g) abcdefg <mob[2]: d @ 3> alt subpattern in group
(a) [ (bc) (d) || .* (ef) ] .* (g) abcdefg <mob[3]: g @ 6> alt subpattern after group
(a) [ (bc) (x) || .* (ef) ] .* (g) abcdefg <mob[1]: ef @ 4> 2nd alt subpattern in group
(a) [ (bc) (x) || .* (ef) ] .* (g) abcdefg <mob[3]: g @ 6> 2nd alt subpattern after group
( (.) )* abc <mob[0][1][0]: b @ 1> nested repeated captures
[ (.) ]* abc <mob[0][1]: b @ 1> nested repeated captures
( [.] )* abc <mob[0][1]: b @ 1> nested repeated captures
(.) (.) $7=(.) (.) $4=(.) abcdefg <mob[0]: a @ 0> numbered aliases $1
(.) (.) $7=(.) (.) $4=(.) abcdefg <mob[1]: b @ 1> numbered aliases $2
(.) (.) $7=(.) (.) $4=(.) abcdefg <mob[7]: c @ 2> numbered aliases $7
(.) (.) $7=(.) (.) $4=(.) abcdefg <mob[8]: d @ 3> numbered aliases $8
(.) (.) $7=(.) (.) $4=(.) abcdefg <mob[4]: e @ 4> numbered aliases $4
$1=[ (.) (.) (.) ] (.) abcdefg <mob[1]: abc @ 0> perl5 numbered captures $1
$1=[ (.) (.) (.) ] (.) abcdefg <mob[2]: a @ 0> perl5 numbered captures $1
$1=[ (.) (.) (.) ] (.) abcdefg <mob[3]: b @ 1> perl5 numbered captures $1
$1=[ (.) (.) (.) ] (.) abcdefg <mob[4]: c @ 2> perl5 numbered captures $1
$1=[ (.) (.) (.) ] (.) abcdefg <mob[5]: d @ 3> perl5 numbered captures $1
:s $<key>=[\w+] \= $<val>=[\S+] abc = 123 <mob<key>: abc @ 1> named capture
:s $<key>=[\w+] \= $<val>=[\S+] abc = 123 <mob<val>: 123 @ 7> named capture
:s (\w+) $<foo>=(\w+) (\w+) abc def ghi <mob<foo>: def @ 4> mixing named and unnamed capture
:s (\w+) $<foo>=(\w+) (\w+) abc def ghi <mob[1]: ghi @ 8> mixing named and unnamed capture
<alpha> [ \- <alpha> ]? abc def ghi <mob<alpha>[0]: a @ 0> multiple subrule captures in same scope
[(.)$0]+ bookkeeper y backreference
(\w+) <.ws> $0 hello hello y backreference at end of string
[(.)$0]+ bookkeeper <mob[0][0]: o @ 1> backref $1
[(.)$0]+ bookkeeper <mob[0][1]: k @ 3> backref $1
[(.)$0]+ bookkeeper <mob[0][2]: e @ 5> backref $1
(.)*x 123x <mob: 123x @ 0> repeated dot capture
$<key>=<alpha> 12ab34 <mob<key>: a @ 2> alias capture
<key=alpha> 12ab34 <mob<key>: a @ 2> alias capture
:s $<w1>=(\w+) $<w2>=(\w+)? $<w3>=(\w+)? one two three <mob<w3>: three @ 8> RT #107254
:s $<w1>=(\w+) $<w2>=(\w+)? $<w3>=(\w+)? one two three <mob<w2>: two @ 4> RT #107254
:s $<w1>=(\w+) $<w2>=(\w+)? $<w3>=(\w+)? one two <mob<w2>: two @ 4> RT #107254
:s :r $<w1>=(\w+) $<w2>=(\w+)? $<w3>=(\w+)? one two <mob<w2>: two @ 4> RT #107254
## vim: noexpandtab tabstop=4 shiftwidth=4
|