Last active
August 10, 2024 02:23
-
-
Save wischweh/b6c0ac878913cca8b1ba to your computer and use it in GitHub Desktop.
This Regexp tries to grep a price from a string
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This Regexp tries to grep a price from a string. | |
// 1. The number must makes sense. it may contain "." or "," i.e 1 1.000,99 10,0 etc | |
// 2. The String must conatin a currency identifier like EUR,USD,€ or $. | |
// 2a) The currency identifer may be at the begining or at the end of the matching string | |
// 2b) There may be a space between value and currency identifier | |
// This regexp is based upon http://stackoverflow.com/questions/1547574/regex-for-prices | |
(USD|EUR|€|\$|£)\s?(\d{1,}(?:[.,]\d{3})*(?:[.,]\d{2}))|(\d{1,3}(?:[.,]\d{3})*(?:[.,]\d{2})?)\s?(USD|EUR) | |
updated Version (also matches numbers without delimiters in between like $2 $34 thx PepsiX for pointing out this issue: | |
(USD|EUR|€|\$|£)\s?(\d{1,}(?:[.,]*\d{3})*(?:[.,]*\d*))|(\d{1,3}(?:[.,]*\d*)*(?:[.,]*\d*)?)\s?(USD|EUR) | |
// here is the breakdown: | |
// Price Number: \d{1,3}(?:[.,]\d{3})*(?:[.,]\d{2})? | |
// Currency Symbol: a\s?(USD|EUR|€|\$) (with optional leading space)Ω// This Regexp tries to grep a price from a string. |
my elymbmx2.htm have prices in them and they are like this
$9.99
I get this error
cat elymbmx2.htm | grep -o (USD|EUR|€|$|£)\s?(\d{1,3}(?:[.,]\d{3})(?:[.,]\d{2})?)|(\d{1,3}(?:[.,]\d{3})(?:[.,]\d{2})?)\s?(USD|EUR|€|$|£)
*(?:[. was unexpected at this time.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
There is an bug in the first post. Valid regexp is: