File: rx_captures

package info (click to toggle)
nqp 2022.12%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 9,436 kB
  • sloc: java: 28,030; perl: 3,394; ansic: 451; makefile: 200; javascript: 68; sh: 1
file content (57 lines) | stat: -rw-r--r-- 5,050 bytes parent folder | download | duplicates (4)
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