I have the following Strings and wish to capture numbers only including decimal points.
So want to capture following type of numbers.
1
10
100
10.20
This is the regex which works for the Strings at the end.
Regex
(\$|£|$|£)(\d+(?:\.\d+)?)\b(?!\.)
See below where I have other Strings which all works less the following String.
$0 text $99.<sup>¤</sup>
This is cos the $99 is followed by a . It is not a decimal thus I don’t want to capture it plus it is optional, not always gonna occur. How could I modify the regex so that I can still capture the value 99 in above String as matcher 2?
>Solution :
You can use
(\$|£|$|£)(\d+(?:\.\d+)?)(?!\.?\d)
The (?!\.?\d) lookahead will only fail if there is an optional dot and then a digit immediately to the right of the current location.