Получить регулярное выражение регулярного выражения - PullRequest
0 голосов
/ 28 марта 2019

Я новичок в выражениях регулярных выражений.Я прочитал документацию, но у меня все еще есть некоторые вопросы.

У меня есть следующая строка:

[('15000042', 19)]

И мне нужно получить ключ, запятую и значение в виде строки,как это:

15000042,19

Мне нужно это ввести эти значения в виде значения через запятую в базе данных.

Я пробовал следующее регулярное выражение:

([\w,]+)

но это только разбивает строку на 3 подстроки.Есть ли способ получить полное совпадение?

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

Я использую python

1 Ответ

2 голосов
/ 28 марта 2019

Вы соответствуете тому, что не хотите хранить, и используете 3 группы вместо 1 и собираете свое значение, используя эти 3 группы:

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

Regex demo

Например:

import re

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

if result:
    print (result)

Результат

15000042,19

Другой вариант - использовать только свой класс символов [^\w,]+ и отрицать его, чтобы не совпадать с тем, что указано в списке.

Затем замените эти символы пустой строкой:

import re

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

if result:
    print (result)

Regex demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...