basically I want to match a simple thing in a str but only want to return the first part of this match. This is what I want to look in.
Jo 4.5 Oz cold and flu stuff to drink.
and what I want to do is return the 4.5 but only when the match is followed with a variation of the once unit.
Here is my guess
/([0-9]*\.?[0-9])(?:[\s+][o(?<=\.)z(?<=\.)|ounce]?=\s)/i
on matching:
4.5oz
4.5 oz
4.5 o.z.
4.5 oz.
4.5 oz.
4.5ounce
4.5Ounce
4.5 Oz.
but I get when I run it as of yet.
$matches = null;
$returnValue = preg_match('/([0-9]*\.?[0-9])(?:[\s+][o(?<=\.)z(?<=\.)|ounce]?=\s)/i', 'Jo 4.5 Oz cold and flu stuff to drink.', $matches);
Any help would be great. Thank you
Cheers -Jeremy
Then you need a less complex pattern like:
Then either look at result
$matches[1]or make the remainder an assertion with by enclosing it in(?=...)or so.