728x90
반응형
질문 : Python string.replace 정규식
다음 형식의 매개 변수 파일이 있습니다.
parameter-name parameter-value
매개 변수의 순서는 상관 없지만 한 줄에 하나의 매개 변수 만 있습니다. 한 매개 변수의 parameter-value
을 새 값으로 바꾸고 싶습니다.
string.replace(pattern, sub)
를 사용하는 줄을 바꾸기 위해 이전 에 게시 된 줄 바꾸기 함수를 사용하고 있습니다. 내가 사용하는 정규식은 예를 들어 vim에서 작동하지만 string.replace()
에서는 작동하지 않는 것 같습니다.
다음은 내가 사용중인 정규식입니다.
line.replace("^.*interfaceOpDataFile.*$/i", "interfaceOpDataFile %s" % (fileIn))
여기서 "interfaceOpDataFile"
은 대체 할 매개 변수 이름 (대소 문자를 구분하지 않는 경우 / i)이고 새 매개 변수 값은 fileIn
변수의 내용입니다.
파이썬이이 정규식을 인식하도록하는 방법이 있습니까? 아니면이 작업을 수행하는 다른 방법이 있습니까?
답변
str.replace()
v2 | v3 는 정규 표현식을 인식하지 않습니다.
정규식을 사용하여 대체를 수행하려면 re.sub()
v2 | v3 .
예를 들면 :
import re
line = re.sub(
r"(?i)^.*interfaceOpDataFile.*$",
"interfaceOpDataFile %s" % fileIn,
line
)
루프에서 먼저 정규식을 컴파일하는 것이 좋습니다.
import re
regex = re.compile(r"^.*interfaceOpDataFile.*$", re.IGNORECASE)
for line in some_file:
line = regex.sub("interfaceOpDataFile %s" % fileIn, line)
# do something with the updated line
출처 : https://stackoverflow.com/questions/16720541/python-string-replace-regular-expression
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
저장된 csv에서 Python / Pandas가 색인을 생성하지 않도록 하는 방법 (0) | 2021.11.26 |
---|---|
Python virtualenv를 leave/exit/deactivate 하는 방법 (0) | 2021.11.26 |
Python의 디렉토리 트리 목록을 얻는 방법 (0) | 2021.11.24 |
파이썬 f- 문자열로 소수점 뒤의 자릿수를 수정하는 쉬운 방법 (0) | 2021.11.24 |
Python에서 파일 생성 및 수정 날짜 / 시간을 얻는 방법 (0) | 2021.11.24 |