我是正则表达式的新手。我已阅读文档,但仍有一些问题。
我有以下字符串:
[('15000042', 19)]
我需要将密钥,逗号和值作为字符串。像这样:
15000042,19
我需要这个在数据库中输入这些值作为逗号分隔值。
我试过下一个正则表达式:
([\w,]+)
但这只将字符串拆分为3个子串。有没有办法获得完整的比赛?
https://regex101.com/r/vtYKOG/1
我正在使用python
您匹配您不想保留的内容并使用3组而不是1组,并使用这3组组合您的值:
\[\('(\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,]+
并否定它,所以不匹配列出的内容。
然后用空字符串替换这些字符:
import re
test_str = "[('15000042', 19)]"
result = re.sub(r"[^\w,]+", "", test_str)
if result:
print (result)