Reputation: 41
I have the string: I am 10 years old with 500 friends. I want to return 10 and 500 but when I executed the query below and it returned empty:
SELECT
REGEXP_MATCHES('I have the string: I am 10 years old with 500 friends',
'-?\\d+','g');
Upvotes: 3
Views: 53
Reputation: 222482
The problem is with the double anti-slash. While some databases require regex character classes to be escaped, Postgres expects just one anti-slash.
So:
select regexp_matches(
'I have the string: I am 10 years old with 500 friends',
'-?\d+',
'g'
);
'-?'
is not sensible for your example string. I left it as is in case you want to accomodate for possible negative numbers.
Upvotes: 1