Dear Monks,
I am trying to do pattern matching, but can’t get the results I am looking for. Here is a very reduced example of what I am trying to do:
My search string is The quick brown fox jumps over the lazy dog, and I am trying to match the lazy dog, but my problem is that I only have limited information about the snipped that I am interested in; I only know the first word (the) and the last word (dog). I tried to accomplish this with a simple lazy regular expression:
#!/usr/bin/perl -w use strict; my $string = "The quick brown fox jumps over the lazy dog"; $string =~ /(the .*? dog)/i; print "Match: '", $1, "'";
But this gives me
Match: 'The quick brown fox jumps over the lazy dog'
instead of the desired
Match: 'the lazy dog'
Is there an elegant way of matching in the ‘laziest’ way (in the sense that a three-word match is lazier than matching the whole string)?
Thank you for you help,
Benedikt
In reply to Pattern matching: Lazy vs. greedy by false_friend
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |