How can I pull out the 2 numbers in-between Price Our:
and the following |
from this string?
"Delivery: Price => 30.00 - 45.00 | Price Our: 1900.00 => 1800.00 | Delivery: Contact => 3 - 4 Days | "
I tried (Price Our:.*?(?=\\|))
But thats the limit of my regex knowledge
You could use 2 capture groups:
\bPrice Our: (\d+(?:\.\d+)?) => (\d+(?:\.\d+)?) \|
The pattern matches:
\\bPrice Our:
A word boundary to prevent a partial match, then match Price Our:
(\\d+(?:\\.\\d+)?)
Capture group 1, match a number with an optional decimal part =>
Match literally (\\d+(?:\\.\\d+)?)
Capture group 2, match a number with an optional decimal part \\|
Match |
const s = "Delivery: Price => 30.00 - 45.00 | Price Our: 1900.00 => 1800.00 | Delivery: Contact => 3 - 4 Days | "; const regex = /\\bPrice Our: (\\d+(?:\\.\\d+)?) => (\\d+(?:\\.\\d+)?) \\|/; const match = s.match(regex); if (match) { console.log(match[1]); console.log(match[2]); }
In case the digits are at the end of the string, and there is no |
following, you can account for that using an alternation to assert the end of the string:
\bPrice Our: (\d+(?:\.\d+)?) => (\d+(?:\.\d+)?)(?: \||$)
(\\d*\\.\\d+)
regex101 explanation:
const regex = /(\\d*\\.\\d+)/gm; const str = "Delivery: Contact => 3 - 4 Days | Price Our: 1900.00 => 1800.00 | Delivery: Contact => 3 - 4 Days | "; const res = str.match(regex) console.log(res)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.