在python中使用正则表达式进行搜索和替换

时间:2018-02-12 04:40:18

标签: python regex

str = '{"name": "John", "company": "AB"C corp", "id": "12g: "123 12-12"}'

B"C替换为空字符串''

g: "1替换为空字符串''

必填字符串

str = '{"name": "John", "company": "A corp", "id": "1223 12-12"}'

这是什么样的正则表达式?

尝试

import re

str = re.sub(r'^[a-zA-Z0-9: "0-9]$', "", str)

示例:

Valid: '"name": "John"'
Invalid: '"nam"e": "Jo"hn"'

Valid: '"id": "12A"'
Invalid: 'id: "12A"'

2 个答案:

答案 0 :(得分:2)

你可以试试这个!

检查您是否有"后面的字符,(冒号或空格或两者)以及\ w(字符或数字)。

>>> s
'{"name": "John", "company": "AB"C corp", "id": "12g: "123 12-12"}'
>>> re.sub('\w[: ]*"\w','',s)
'{"name": "John", "company": "A corp", "id": "1223 12-12"}'

答案 1 :(得分:0)

您的意思是\W"\W\w: "\d是您唯一担心的案例吗?

然后试试这个:

str = re.sub(r'([a-zA-Z](\: )?"[A-Z0-9])', "", str)