检索正则表达式完全匹配

Retrieve regex full match

我是正则表达式方面的新手。我已经阅读了文档,但仍有一些疑问。

我有以下字符串:

[('15000042', 19)]

我需要将键、逗号和值作为字符串获取。 像这样:

15000042,19

我需要它在数据库中以逗号分隔值的形式输入这些值。

我试过下一个正则表达式:

([\w,]+)

但这只是将字符串拆分为 3 个子字符串。有没有办法得到完整的比赛?

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

我正在使用 python

您匹配您不想保留的内容并使用 3 组而不是 1 组,并且 assemble 您使用这 3 组的值:

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

Regex demo

例如:

import re

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

if result:
    print (result)

结果

15000042,19

另一种选择是仅使用您的角色 class [^\w,]+ 并将其取反,以便与列出的内容不匹配。

然后用空字符串替换那些字符:

import re

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

if result:
    print (result)

Regex demo