Greedy and non-greedy matching : Regular Expressions « String « PHP






Greedy and non-greedy matching

 
<?
$meats = "<b>Chicken</b>, <b>Beef</b>, <b>Duck</b>";

preg_match_all('@<b>.*?</b>@',$meats,$matches);
foreach ($matches[0] as $meat) {
    print "Meat A: $meat\n";
}

preg_match_all('@<b>.*</b>@',$meats,$matches);
foreach ($matches[0] as $meat) {
    print "Meat B: $meat\n";
}
?>
  
  








Related examples in the same category

1.Brackets [] finds a range of characters.
2.Character Classes
3.Complete list of regular expression examples
4.\b and \B, equate to "On a word boundary" and "Not on a word boundary," respectively.
5.^ and $ are line anchors.
6.Line Anchors
7.Match URL
8.Match an IP address
9.Match the smallest number of characters starting with "p" and ending with "t"
10.Matching GUIDs/UUIDs
11.Matching a Valid E-mail Address
12.Matching a Valid IP Address
13.Matching using backreferences
14.Matching with Greedy vs. Nongreedy Expressions
15.Matching with character classes and anchors
16.Matching with |
17.Define a pattern and use parentheses to match individual elements within it
18.Greedy Qualifiers
19.Greedy versus nongreedy matching
20.Grouping captured subpatterns
21.Validating Pascal Case Names
22.Validating U.S. Currency
23.Validating a credit card number
24.Nongreedy Qualifiers
25.POSIX Regular Expressions Character Classes
26.POSIX Regular Expressions Character Classes
27.Ranges
28.Option patterns:
29.Predefined Character Ranges (Character Classes)
30.Pattern matches:
31.Pattern match extenders:
32.Perl-Compatible Regular Expressions (PCRE)
33.Qualifiers restrict the number of times the preceding expression may appear.
34.Quantifiers for Matching a Recurring Character
35.Quantifiers: +, *, ?, {int. range}, and $ follow a character sequence:
36.Special classes for regular expression
37.Regular expressions using character classes