我是正则表达式表达式的新手。我已经阅读了文档,但是仍然有一些疑问。
我有以下字符串:
[('15000042', 19)]
我需要获取密钥,逗号和值作为字符串。 像这样:
15000042,19
我需要输入这些值作为逗号分隔的值在数据库中。
我尝试了下一个正则表达式:
([\w,]+)
但是这只会将字符串分成3个子字符串。有没有办法获得全场比赛?
https://regex101.com/r/vtYKOG/1
我正在使用python
答案 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
例如:
\[\('(\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,]+