【发布时间】:2018-02-12 04:40:17
【问题描述】:
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"'
【问题讨论】:
-
正则表达式?为什么不
str.replace('B"C', '').replace('g: "1', '')? -
它可以是任何字母/数字,而不是 B"C 或 g:"1。因此正则表达式
-
您能准确地说明您的要求吗? 什么可以是任何字母/数字?无法判断您是否想要
\w: "\w或\w: "\d或[a-z]: "\d或其他 50 个可能的正则表达式之一。 -
这样的事情适用于您的案例
[A-Za-z][^"]*"\w,但正如@Aran-Fey 所说,要求并不明确 -
示例:有效:'"name":"John"' 无效:'"nam"e":"Jo"hn"' 有效:'"id":"12A"' 无效:'编号:“12A”'