我需要一个唯一的正则表达式来替换子字符串或添加它如果丢失。你知道吗
示例:
set beta=10
"alpha=25 beta=42 delta=43" need to become "alpha=25 beta=10 delta=43"
"alpha=25 delta=43" need to become "alpha=25 delta=43 beta=10"
下面的代码仅用于替换现有值,但如果要替换的索引不存在,则不会添加任何内容。你知道吗
dest = re.sub(r'(.*)(beta=\d+)( .*)',r'\1 beta=10 \3',source)
我可以这么做,但我需要一个表达式:
if re.search(r'beta=\d+',source):
dest = re.sub(r'(.*)(beta=\d+)( .*)',r'\1 beta=10 \3',source)
else:
dest = source + " beta=10"
因此,如果beta=xx存在于一个字符串中,并且它与beta=yy不匹配,那么替换它
因此,如果beta=xx不存在于字符串中,那么将beta=yy附加到字符串中
假设beta=10在字符串中只出现了0或1次,您可以这样做:
该模式将行尾视为beta=\d+的可选匹配项,并且由于我们只替换第一个匹配项,因此仅当行不包含beta=\d+时才适用
相关问题 更多 >
编程相关推荐