我试图re.sub用例如替换用值指定的模式
for lines in f:
pattern='\${2}'+key[0]+'\${2}'
re.search(pattern,lines)
Run Code Online (Sandbox Code Playgroud)
这将返回找到模式的行.例如,这是获得的测试返回之一
这是一个$$测试$$
我遇到的问题是当我做以下事情时
re.sub(pattern,key[1],lines)
Run Code Online (Sandbox Code Playgroud)
什么都没发生.我错过了什么?有关更多信息key[0]=test,key[1]=replace
我正在尝试做的是每当遇到"$$ test $$"时,它将用"替换"替换它.我没有问题找到"$$ test $$"但由于某种原因re.sub没有取代它.
kin*_*all 14
您是分配的结果re.sub返回到一个变量,对不对?例如
lines = re.sub(pattern, key[1], lines)
Run Code Online (Sandbox Code Playgroud)
它是一个字符串,因此无法更改(字符串在Python中是不可变的),因此会创建一个新字符串并返回给您.如果您不将其分配回名称,您将失去它.