본문 바로가기

regex2

[pyhwpx] 파이썬 정규식으로 찾아바꾸기 pyhwpx.Hwp().find_replace_all(src, dst, regex=True) regex=True로 설정하면 re.sub와 동일한 방식으로 정규식 문법을 사용할 수 있다. 예를 들어 주민등록번호 패턴인 123456-1234567을 123456-1******로 변경하고자 하면, (여러가지 구현이 있겠지만) src = r"(\d{6})-(\d)\d{6}(?=\D|$)" dst = r"\g-\g******" hwp.find_replace_all(src, dst, regex=True) 라고 코드를 입력하고 실행해보자. 시연화면은 아래와 같다. 정규식 찾아바꾸기 시연화면 바뀌기 전의 원본문서는 아래와 같고 정규식 찾아바꾸기를 적용한 후의 문서는 아래와 같다. 메서드 내부에서는 re.sub를 사용하지.. 2024. 1. 23.
1. 가장 기본이 되는 중요한 패턴 "..." 정규식을 사용하는 가장 많은 사용사례는 "패턴이 일치하는가"를 조사하는 것입니다. 정규식에서 패턴은 "정규식으로 쓰여진 검색표현"을 뜻합니다. 이게 무슨 의미냐면 한 문서 안에 다양한 길이의 숫자들로만 구성되어 있다고 할 때, 우리는 (띄어쓰기나 줄바꿈 등으로 구분된) 세 자리의 숫자만 찾고 싶다고 가정하겠습니다. 일반적인 검색의 경우에는 001~999까지 숫자를 직접 결정해야 하기 때문에 모든 경우를 찾아내려면 999번을 반복해야 합니다. 하지만 정규식이면 단 한 번에 모든 탐색을 끝낼 수 있습니다. 바로 "..."을 통해서요. 말줄임표가 아니고, 엄연한 정규식입니다... 한 번 예를 들어볼까요? 아래와 같은 임의의 문서 중에서 세 자리 숫자를 전부 찾아서 출력하고 싶습니다. 예시 코드를 먼저 보여드리.. 2023. 1. 2.