Hi,
I am working a requirement where I need to extract the $ amount or % amount from a string. I have been able to extract dollar amount successfully using the following regex pattern
$pattern = '/\$[0-9]*\.{0,1}[0-9]+/';
I still however need help with finding % amount using the same regex. Can someone please help.
Example:
5% Off Your Order --> Need to get 5% from this
5.25% Off All Orders --> Need to get 5.25% from this
$10 Off Orders Over $100 --> Need to get $10, $100
Can someone please help me with the Regex.
Regex to find $ amount and % amount in a string
Moderator: General Moderators
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
Re: Regex to find $ amount and % amount in a string
Why don't you just match [0-9\.] and return all matches. That will work for your case. For any decimal number search for regexps e.g. \d+(\.\d{1,2})?
(#10850)
Re: Regex to find $ amount and % amount in a string
Is there a risk of the string containing numbers that aren't money or percentages?
Anyway, what happened when you tried a regex for the percentage? All you needed to do was replace the $ at the beginning for a % at the end...
Anyway, what happened when you tried a regex for the percentage? All you needed to do was replace the $ at the beginning for a % at the end...
Re: Regex to find $ amount and % amount in a string
requinix wrote:Is there a risk of the string containing numbers that aren't money or percentages?
Anyway, what happened when you tried a regex for the percentage? All you needed to do was replace the $ at the beginning for a % at the end...
How do I replace for $ at beginning with % at the end? I tried this
/\[0-9]*\.{0,1}[0-9]+%/ but it is not working to get % amount. Any help on how to get that?
Re: Regex to find $ amount and % amount in a string
You need to move that backslash too. The \ and $ are a pair, and together they represent a literal $ symbol.