Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: multiple matches per line *AND* multiple capture groups per match

by Laurent_R (Canon)
on Dec 21, 2013 at 18:54 UTC ( [id://1068049]=note: print w/replies, xml ) Need Help??


in reply to multiple matches per line *AND* multiple capture groups per match

Since you have so many slashes in your regex, I would suggest that you use some other character for delimiting your regex. This enables you to use slashes without escaping them and makes it much more readable. For example:
$test_regexp = qr[url="(http://downloads\.bbc\.co\.uk/podcasts/worldse +rvice/globalnews/ ... mp3))"];
  • Comment on Re: multiple matches per line *AND* multiple capture groups per match
  • Download Code

Replies are listed 'Best First'.
Re^2: multiple matches per line *AND* multiple capture groups per match
by Special_K (Monk) on Dec 22, 2013 at 01:43 UTC
    Wow, I didn't even know you could change the beginning and ending delimiter of a regexp. Is that only if you use the qr function, or can you change the delimiter in any context?
      You can do that with the quote and quote-like operators, but also, for regexes, with the m// and the s/// operators, which can be written, for example, m{...} and s[...]{...} or even m#...#, etc, as shown in the following Perl one-liners:
      $ perl -e 'print $1 if "foobar" =~ m{f(oo)ba}' oo $ perl -e 'print $1 if "foobar" =~ m#f(oo)ba#' oo
      Update: well, thinking again about what I wrote above, m// and s/// are in fact part of the quote and quote-like operators (so Ken's answer said it all), but I just wanted to point out that this can be done in direct regex constructs.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (6)
As of 2024-04-23 10:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found