Python에서 여러 대체에 정규식 사용

Python에서 여러 대체에 정규식 사용

Python에서 정규식을 사용하여 여러 유형의 대체를 수행할 수 있나요? "Hello, this is me"라는 문자열처럼 "hello"를 "hi"로, "this"를 "its"로 바꾸고 싶습니다. 한 줄로 할 수 있나요? 아니면 정규식에서 역참조를 사용할 수 있나요?

답변1

아니요, 실제로는 그렇지 않습니다. 호출하여 re.sub()문자열을 인수로 제공해야 하기 때문입니다. 보기 흉한 중첩 호출을 받게 됩니다. 대신 str.replace()문자열 자체에 대한 메서드 역할을 하고 새 문자열을 반환하므로 호출을 연결할 수 있습니다.

s='hello, this is me'
s=s.replace("hello", "hi").replace("this", "it's")

그러나 대체 항목 목록이 있는 경우 다음을 사용하여 이를 반복할 수 있습니다 re.sub().

import re
s='hello, this is me'
replacements=[("hello", "hi"), ("this", "it's")]
for pat,repl in replacements:
    s = re.sub(pat, repl, s)

아니요, 정규식 자체는 여러 대체에 대해 실제로 작동하지 않습니다.

관련 정보