Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

RE: RE: Quantifiers in regular expressions

by pkn (Initiate)
on Jul 20, 2000 at 04:19 UTC ( #23321=note: print w/replies, xml ) Need Help??

in reply to RE: Quantifiers in regular expressions
in thread Quantifiers in regular expressions

I don't understand this: $string = "<foo>...</foo><bar>...</bar>"; # This matches <foo></bar>, not what we want. $string =~ /\<.*\>(.*)\</.*\>/; How does it match? And I thought that the matching operator was m//, not m///. What does m/// do?
  • Comment on RE: RE: Quantifiers in regular expressions

Replies are listed 'Best First'.
RE: RE: RE: Quantifiers in regular expressions
by le (Friar) on Jul 20, 2000 at 11:30 UTC
    Yeah, AM escapes the wrong chars. Let's put it right. If you say:
    $string =~ /<.*>(.*)<\/.*>/;
    on a string "<foo>...</foo><bar>...</bar>" you get everything between "<foo>" and "</bar>", because the "*" modifier is "greedy", which means it tries to match as much as possible. A "." in a regex matches anything, so ".*" matches until the end of the string. Then the rest of the regex is evaluated, done by backtracking (the regex machine is now at the end of the string and goes back one by one until it finds a match). I hope this was correct.

    Damn HTML escaping :) I fixed it, so the strings actually show up.
Re: RE: RE: Quantifiers in regular expressions
by Anonymous Monk on Sep 24, 2002 at 23:05 UTC
    This is maching tag delimiters and their belongond text. Let`s say you have text in H1 format <h1>This is my text</h1> and you want to replace both the heading and the text with only one step. Then you`ll need such a string as the mentioned above to find a matching pair.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (2)
As of 2022-08-19 17:10 GMT
Find Nodes?
    Voting Booth?

    No recent polls found