Javier Ramirez
Javier Ramirez

Reputation: 347

Retrieve regex full match

I'm new in regex expressions. I've read the documentation but I still have some questions.

I Have the following string:

[('15000042', 19)]

And I need to get the key, the comma and the value as a string. like this:

15000042,19

I need this to enter these value as a comma separated value in a database.

I've tried the next regular expression:

([\w,]+)

but this only split the string into 3 substrings. Is there a way to get the full match?

https://regex101.com/r/vtYKOG/1

I'm using python

Upvotes: 0

Views: 147

Answers (1)

The fourth bird
The fourth bird

Reputation: 163632

You match what you don't want to keep and use 3 groups instead of 1 and assemble your value using these 3 groups:

\[\('(\d+)'(,) (\d+)\)\]

Regex demo

For example:

import re

test_str = "[('15000042', 19)]"
result = re.sub(r"\[\('(\d+)'(,) (\d+)\)\]", r"\1\2\3", test_str)

if result:
    print (result)

Result

15000042,19

Another option is to use only your character class [^\w,]+ and negate it so match not what is listed.

Then replace those characters with an empty string:

import re

test_str = "[('15000042', 19)]"
result = re.sub(r"[^\w,]+", "", test_str)

if result:
    print (result)

Regex demo

Upvotes: 2

Related Questions