2017-12-04 1 views
0

파이썬에서 regex를 사용하여 문자열을 대체하려고합니다. "SERVERS"를 문자열의 "SERV"로 대체하고 싶습니다.")"정규식 검색 패턴 내에서

example_String = "This is a great SERVERS)" 

re.sub("SERVERS)","SERV", example_String) 

는 나는 정직 스왑 될 것으로 예상하지만 오류에 더 많은 읽을 때 나는 ")"일반 문자로가 아닌 특수를 읽을 수있는 정규식 패턴을 설정해야처럼, 그것은 본다 정규식 문자.

저는 정규식에 익숙하지 않아 도움을받을 수 있습니다.

편집 : 데이터베이스 (사용자 입력)에서 데이터를 가져오고 있습니다. 질문에 언급 된 것과 비슷한 몇 가지 유사한 문제가 있습니다. re.escape()은 청구서를 완벽하게 맞춰줍니다. 감사합니다.

답변

1

당신은

This is a great SERV 


는 솔직히 산출

import re 

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

갈 수없는 정규 표현식은 정말 필요하지 않습니다 : 후자에

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

, 당신은 아무것도 벗어날 필요가 없으며 더 빠를 것입니다.

+2

만약 사용자가'SERVERS '를 입력했다면, 파이썬의 ['re.escape()'] (https://stackoverflow.com/questions/280435/escaping-regex-string-in-python) 방법 – ctwheels