bru*_*l29 10 python regex python-2.7
我是python的新手
我需要通过一个正则表达式匹配所有情况并进行替换.这是一个示例子字符串 - >所需的结果:
<cross_sell id="123" sell_type="456"> --> <cross_sell>
Run Code Online (Sandbox Code Playgroud)
我想在我的代码中这样做:
myString = re.sub(r'\<[A-Za-z0-9_]+(\s[A-Za-z0-9_="\s]+)', "", myString)
Run Code Online (Sandbox Code Playgroud)
而不是替换之后的所有东西<cross_sell,它取代了所有东西,只是返回'>'
有没有办法让re.sub只替换捕获组而不是整个模式?
mgi*_*son 11
您可以使用替换组:
>>> my_string = '<cross_sell id="123" sell_type="456"> --> <cross_sell>'
>>> re.sub(r'(\<[A-Za-z0-9_]+)(\s[A-Za-z0-9_="\s]+)', r"\1", my_string)
'<cross_sell> --> <cross_sell>'
Run Code Online (Sandbox Code Playgroud)
请注意,我将第一组(您要保留的组)放在括号中,然后通过"\1"在替换字符串中使用修饰符(第一组)将其保留在输出中.
| 归档时间: |
|
| 查看次数: |
11506 次 |
| 最近记录: |