如何在python中替换非字符包围的字符串

时间:2015-10-08 08:34:03

标签: python regex string

我有一个带有参数集合的变量(newArgs),我想替换此变量中某个字符串的任何出现。我可以使用re.search命令进入我的if条件:

  

if(re.search(item,newArgs)):

如果条件在newArgs中找到了确切的项目,那么'if'条件将不会执行任何操作

当它进入'else'状态时,它应该触发re.sub命令:

不工作:

  

newArgs = re.sub(argVariable +'= r(\ S * \ S)?',item,newArgs)

注意:我可以获得'argVariable',在此示例中,其值为“-Dweblogic.Stderr”

如何使用'newArgs'中的新'item'替换匹配的字符串?

要替换的示例字符串:

  

-Dweblogic.Stderr = / TMP / error.out

我想搜索除=符号之外的任何内容,它会一直停止,直到它看到一个空格(因为超出空白区域是为了下一个参数)或者它是否是newArgs变量的结尾

我希望将其替换为:

  

-Dweblogic.Stderr = /应用/一些/其他/位置/ error.out

1 个答案:

答案 0 :(得分:0)

newArgs = re.sub(argVariable+r'=\S*', item, newArgs)

您需要从引号中取出r并使用此正则表达式。