我对python很陌生
我需要用一个正则表达式来匹配所有情况,然后做一个替换。这是一个示例子字符串-->;所需结果:
<cross_sell id="123" sell_type="456"> --> <cross_sell>
我试图在代码中这样做:
myString = re.sub(r'\<[A-Za-z0-9_]+(\s[A-Za-z0-9_="\s]+)', "", myString)
它不是替换<cross_sell
之后的所有内容,而是替换所有内容并返回'>'
有没有办法让re.sub只替换捕获组而不是整个模式?
Tags:
可以使用替换组:
注意,我将第一个组(要保留的组)放在括号中,然后在替换字符串中使用
"\1"
修饰符(第一个组)将其保留在输出中。因为输入数据是XML,所以最好使用XML解析器来解析它。
内置^{} 是一个选项:
^{} 是另一个选项。
您可以使用组引用来匹配第一个单词,使用否定字符类来匹配
<>
之间字符串的其余部分:\w
等于[A-Za-z0-9_]
。相关问题 更多 >
编程相关推荐