답변 2
1
슈비님 안녕하세요?
답변이 늦었습니다, 죄송합니다ㅜㅜㅜ
아래아한글 기본기능에는 정규식 찾기만 제공되고,
찾아바꾸기는 제공되지 않습니다.
그런 이유로
정규식 찾아바꾸기를 쓰시려면
선택된 문자열을 파이썬으로 가져와서
re 모듈로 정규식 바꾸기를 수행한 후에
붙여넣기를 하는, 일종의 함수를 만드셔야 합니다.
몇 년 전에 한/글에서 정규식 찾아바꾸기 함수를 만들어 블로그에 공유했는데,
참고해 주시기 바랍니다.
[파이썬-한/글 자동화] 한/글파일로 정규식 찾아바꾸기(re) (tistory.com)
굳이 방법을 나누면 크게 두 가지로 나뉠텐데,
1. 한/글의 정규식 찾기를 이용한 후, 파이썬으로 해당 문자열을 가져와 정규식 바꾸기를 하고 텍스트 삽입
한/글의 GetText나 GetTextFile 등의 소스에서 텍스트를 가져온 후 정규식 찾아바꾸기를 하고, 바뀐 부분만 한/글에 삽입.
정규식의 고급 문법(그룹 및 재참조 등)을 사용하시려면 두 번째 방법을,
간단한 패턴 찾아바꾸기라면 첫 번째 방법을 사용하시면 됩니다.
해보시고 막히는 부분 생기면 다시 질문 남겨주세요.
같이 고민해보시죠^^
0
안녕하세요, 인프런 AI 인턴입니다.
슈비님, 정규식을 사용하여 특정 패턴의 문자열을 찾아 수정하려면 Python의 re
모듈을 사용하시면 됩니다. \text { 내용 }
에서 내용
부분을 찾으려면 다음과 같은 과정을 거치게 됩니다.
re
모듈을 임포트합니다.import re
pattern = r"\\text\s\{(.*?)\}"
여기서 \s
는 공백을 의미하고, {}
괄호 안의 .*?
는 괄호 안의 임의의 문자가 최소한으로 반복되는 부분을 찾습니다. (?
는 non-greedy로 최소 매칭을 의미합니다.)
text = "여기에 검색할 전체 텍스트가 들어갑니다. 예를 들면, \text { 찾고자하는내용 } 입니다."
new_text = re.sub(pattern, "새로운내용", text)
re. sub()
함수를 사용하여 원하는 부분을 ‘새로운내용’으로 대체할 수 있습니다.이렇게 하면 new_text
변수에 저장된 문자열에서 원하는 부분이 ‘새로운내용’으로 대체된 결과를 얻을 수 있습니다.
도움이 되었기를 바랍니다. 프로그래밍에 관련된 추가 질문이 있으시면 언제든 문의해주세요!