【发布时间】:2018-07-31 05:32:30
【问题描述】:
我正在尝试使用正则表达式子分组匹配多个模式,并将匹配项替换为与以下字符串具有相似格式的数据文件的星号。但是,我只得到了第一场比赛的预期结果。随后的比赛正在消耗我没想到的字符串。有没有更好的方法来获得以下所需的输出?
import re
myString = '-fruit apple -number 123 -animal cat -name bob'
match = re.compile('(-fruit\s+)(\w+)|'
'(-animal\s+)(cat)|'
'(-name\s+)(bob)')
print(match.sub('\g<1>*', myString))
电流输出:
-fruit * -number 123 * *
期望的输出:
-fruit * -number 123 -animal * -name *
【问题讨论】: