Matching with Greedy vs. Nongreedy Expressions : Regular Expressions « String « PHP






Matching with Greedy vs. Nongreedy Expressions

 
<?php 
$teststring = '"Hello" and "Goodbye."'; 
$greedyresult = preg_replace('/".*"/', '"***"', $teststring); 
$nongreedyresult = preg_replace('/".*?"/', '"***"', $teststring); 

echo "Original: $teststring\n"; 

echo "Greedy Replace: $greedyresult\n"; 

echo "Nongreedy Replace: $nongreedyresult\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 character classes and anchors
15.Matching with |
16.Define a pattern and use parentheses to match individual elements within it
17.Greedy Qualifiers
18.Greedy and non-greedy matching
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