擅长:python、mysql、java
<p>就我个人而言,我通常重新拆分()使用起来比回复sub(). 这将重用Kevin的代码,并将捕获它所做的一切(加上中间组),然后替换中间组:</p>
<pre><code>import re
new_value = "'1999-12-31'"
with open("temp.txt") as infile:
data = infile.read()
data = re.split(r"(var beforeDate = new Date\()(.*?)(\))", data)
# data[0] is everything before the first capture
# data[1] is the first capture
# data[2] is the second capture the one we want to replace
data[2] = new_value
with open("output.txt", "w") as outfile:
outfile.write(''.join(stuff))
</code></pre>
<p>你可以放弃捕获中间组,但你会在列表中插入内容。换个地方比较容易。你知道吗</p>
<p>奥托,这个问题可能很小,不需要重锤。以下是相同的代码,没有re:</p>
<pre><code>new_value = "'1999-12-31'"
with open("temp.txt") as infile:
data = infile.read()
data = list(data.partition('var beforeDate = new Date('))
data += data.pop().partition(')')
data[2] = new_value
with open("output.txt", "w") as outfile:
for stuff in data:
outfile.write(stuff)
</code></pre>