在正则表达式搜索模式中否定“)”

时间:2017-12-04 19:19:55

标签: python regex

我正在尝试在python中使用正则表达式来替换字符串。我想用字符串中的“SERV”替换“SERVERS)”。

Select 
CASE
WHEN suppliers.valid = 0 THEN 'Invalid'
WHEN suppliers.valid > 0 THEN 'Valid'
END AS 'Supplier Status' from suppliers;

我希望它是一个直接的交换,但是当我更多地阅读错误时,看起来我需要将正则表达式模式设置为读取“)”作为常规字符而不是特殊的正则表达式字符。

我对正则表达式不太熟悉,并且非常感谢帮助!

编辑:我正在从数据库导入数据(这是用户输入),问题中提到了很多类似的问题。 re.escape()完全适合这个法案,谢谢!

1 个答案:

答案 0 :(得分:1)

你可以去

import re

example_String = "This is a great SERVERS)"
new_string = re.sub(r"SERVERS\)","SERV", example_String)
print(new_string)

哪个收益

This is a great SERV

<小时/> 说实话,不需要正则表达式,实际上:

example_String = "This is a great SERVERS)"
new_string = example_String.replace('SERVERS)', 'SERV')
print(new_string)

在后者中,你甚至不需要逃避任何事情,它会更快。