gpt4 book ai didi

python 正则表达式去掉反斜杠

转载 作者:太空宇宙 更新时间:2023-11-03 19:30:40 25 4
gpt4 key购买 nike

通过这段代码我得到:

newContent='asdf asdf \nOUTPUT_DIRECTORY       = working\topOnly'

我希望它是:

newContent='asdf asdf \nOUTPUT_DIRECTORY       = working\\topOnly'

reg ex 正在删除 """working""""""topOnly"""之间的 """\""" 。如果我执行类似 """valStr = 'working\\ytopOnly'""" 的操作,那么它会按预期工作。

我需要对代码进行哪些更改才能达到预期效果?

import re

valStr = 'working\\topOnly'
cmdFileContent = 'asdf asdf \nOUTPUT_DIRECTORY = asdf'
name = 'OUTPUT_DIRECTORY'

varRegEx = r"""
(\n #match new line
%s #var
\s* #skip white spaces
=
\s?) #skip white spaces
(.*) #match and store rest of line
"""%name

newContent = re.compile(varRegEx, re.VERBOSE).sub(r'\1%s'%valStr, cmdFileContent)

最佳答案

re.sub 的帮助说:

repl can be either a string or a callable; if a string, backslash escapes in it are processed.

由于它正在执行自己的处理转义层,因此您将需要另一层转义:

newContent = re.compile(varRegEx, re.VERBOSE).sub(r'\1%s'%valStr.replace('\\', '\\\\'), cmdFileContent)

关于python 正则表达式去掉反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6035347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com