Python 정규식에서 | 문자를 포함한 OR 연산을 어떻게 하나요?
조회수 657회
import re
kor_txt = """가나다 ㄱㄴㄷ ㅏㅓㅐ | ㄲ킈ㅗ ㅗㅜㅑㅒfd|jkaFSA 498130$#@!*&^ %)(-_=+ []{}<>,./?'"`"')"""
# kor_txt = kor_txt.replace("|","")
print(re.sub('[^ㄱ-ㅎ|ㅏ-ㅣ가-힣|a-zA-Z|0-9 |`!@#$%^&*()\[\]{}\-\_\'\"><\/\?]', '', kor_txt))
결과:
'가나다 ㄱㄴㄷ ㅏㅓㅐ | ㄲ킈ㅗ ㅗㅜㅑㅒfd|jkaFSA 498130$#@!*&^ %)(-_ []{}<>/?\'"`"\')'
원하는 결과:
'가나다 ㄱㄴㄷ ㅏㅓㅐ ㄲ킈ㅗ ㅗㅜㅑㅒfdjkaFSA 498130$#@!*&^ %)(-_ []{}<>/?\'"`"\')'
위와 같이 정규표현식을 짰습니다.
문장 내에서 한글, 영어, 숫자, 키보드로 입력하는 특수문자
를 제외한 모든 글자를 없애려고 하는데요,
정규표현식 or 연산을 쓰면 "|"문자가 포함됩니다. "|"문자가 계속 에러를 일으켜서 제외하고 싶은데,
|연산자를 빼지 않으면 계속 결과
처럼 결과에서도 |문자가 살아있습니다.
원하는 결과는 주석처리한 부분처럼 |가 제거된 문장입니다.
한글을 모두 포함하려면 ㄱ-ㅎ|ㅏ-ㅣ|가-힣
으로 작성해야 한다던데, 이런 경우 어떻게 해결해야 하나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력