将“r”与re.sub中的变量一起使用

2024-04-26 03:06:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要这样做:

text = re.sub(r'\]\n', r']', text)

但是以findreplace为变量:

find = '\]\n'
replace = ']'
text = re.sub(find, replace, text)

我应该把r(raw)放在哪里?它不是一根绳子。


Tags: textrerawfindreplace绳子
3条回答

简而言之:应该将r与字符串放在一起。

前缀r是字符串语法的一部分。使用r,Python不会解释引号中的反斜杠序列,如\n\t等。如果没有r,则必须键入每个反斜杠两次才能将其传递给re.sub

r'\]\n'

以及

'\\]\\n'

是两种编写同一字符串的方法。

r''string literal syntax的一部分:

find = r'\]\n'
replace = r']'
text = re.sub(find, replace, text)

语法绝不特定于re模块。但是,指定正则表达式是原始字符串的主要用例之一。

保持r'...'

find = r'\]\n'
replace = r']'
text = re.sub(find, replace, text)

或与

find = '\\]\\n'
replace = ']'
text = re.sub(find, replace, text)

相关问题 更多 >