in reply to Re: How do I avoid double substitution when replacing many patterns?
in thread How do I avoid double substitution when replacing many patterns?
The leading $and the middle \w are common between patterns. In fact, all that's required is to require a closing ) only when there was an opening (.
Using a less well known feature
\$ # Our '$' prefix (?: # Optionally *don't* find the opening paren. | (\() # Optionally find the opening paren ) (\w+) # The middle part is captured in $2 (?(1)\)) # Require a closing paren only if $1 matched.
Merely removing the prefix
\$ # Our '$' prefix ( # Capture into $1 (?: \w+ # Plain word. | \( \w+ \) # A word with parentheses around it. ) )
⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: How do I avoid double substitution when replacing many patterns?
by japhy (Canon) on Jan 20, 2007 at 18:18 UTC | |
by diotalevi (Canon) on Jan 20, 2007 at 19:02 UTC |