Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: reset named capture buffer within regex

by tobyink (Abbot)
on Nov 22, 2012 at 16:28 UTC ( #1005156=note: print w/ replies, xml ) Need Help??

in reply to reset named capture buffer within regex

I can't seem to find any way of resetting named captures mid-regexp. (And have managed several segfaults trying.)

Why exactly do you need to reset it? Is it just because you want the right-most match instead of the left-most match? If so, take a look at %-.

++ for the question though; I'll be interested to read any other replies.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Comment on Re: reset named capture buffer within regex
Download Code
Replies are listed 'Best First'.
Re^2: reset named capture buffer within regex
by mhgoeschl (Novice) on Nov 22, 2012 at 17:11 UTC
    the purpose is matching sequences (variable length) of tokens out of a larger list (variable length) of tokens with each token carrying a number of additional attributes (e.g. number) that qualifies it as part of a token group, e.g. A1 B1 b1 B1 b2 C2 c2 d3 D3. For example, looking for sequences of B|b that are part of the same (number) group. Results here: 'B1 b1 B1' and 'b2'. Unfortunately, it is no option to slice the sequence by the 'group' (number) attribute and do the token matching on every subgroup, because there are other attributes on the tokens that bridge the groups and are being considered in the overall expression (to complex to show here). The philosophy of the current pattern attempts to match a token sequence, loads the group attribute of the first token in <mybuf> and continues matching using <mybuf> as a target for attributes of upcoming tokens. This works perfectly, however I need the option to break this sequence (reset <mybuf> without actual match) in certain cases.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1005156]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2015-11-25 23:50 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (693 votes), past polls