检索正则表达式完整匹配

时间:2019-03-28 17:01:18

标签: python regex python-3.x python-3.7

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

我有以下字符串:

[('15000042', 19)]

我需要获取密钥,逗号和值作为字符串。 像这样:

15000042,19

我需要输入这些值作为逗号分隔的值在数据库中。

我尝试了下一个正则表达式:

([\w,]+)

但是这只会将字符串分成3个子字符串。有没有办法获得全场比赛?

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

我正在使用python

1 个答案:

答案 0 :(得分:2)

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

BEGIN:VCARD
VERSION:3.0
EMAIL;TYPE=INTERNET:foobar1@foo.bar.com
FN:Foo_bar1
N:;Foo_bar1;;;
TEL;TYPE=CELL:123456789
TEL;TYPE=CELL:987654321
END:VCARD

Regex demo

例如:

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

结果

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,]+

Regex demo