본문 바로가기
컴퓨터관련/Python

python에서 정규식표현 사용하기

by 빛과 어둠사이 2020. 4. 16.
728x90
반응형
SMALL

오늘은 파이썬에서의 정규식 사용하는 방법을

정리해보고자 합니다.


여러 언어들에서 정규식을 지원하고 있습니다.

그래서 원하는 문자대역만 받을 수 있도록,

사용할 수 있도록 하고 있습니다.


python에서도 역시나

정규식 표현을 지원하고 있습니다.


그래서 오늘은 파이썬에서의 정규식표현을

사용하는 방법을

정리해보겠습니다.




우선, python에서 정규식을 사용하기 위해서는

re를 import 해주어야 합니다.

그리고 사용을 해주시면 되십니다.




정규식 표현 예제를 이제 확인해보도록 하겠습니다.

우선, 숫자만 나오도록 하는

정규식 표현을 확인해보도록 하겠습니다.


예제소스는 다음과 같습니다.

import re

#테스트용 문자
tmp_str = "abab!@#`242홍길동ZZZZ<<>>"
print(re.sub('[^0-9]', '', tmp_str))

위처럼 코딩을 해주시면 되십니다.

그리고 실행을 해주시면

결과는 다음과 같이 나오게 됩니다.



위처럼 나오게 됩니다.

숫자만 남고

나머지 다른 문자, 특수기호 등은

제거가 된 것을

확인할 수 있습니다.




이번에는 영어만 남도록

정규식표현을 사용해보도록 하겠습니다.

예제 소스는 다음과 같습니다.

import re

#테스트용 문자
tmp_str = "abab!@#`242홍길동ZZZZ<<>>"
print(re.sub('[^a-zA-Z]', '', tmp_str))

위처럼 해주시면 되십니다.

소문자, 대문자 문자를 놔두기 위해서

위처럼 두개를 다 적어야 합니다.


그리고 실행을 하면

결과는 다음과 같습니다.



위처럼 나오게 됩니다.

위처럼 영어 문자만 남게 되었고

나머지는 지우게 되었습니다.





이번에는 한글만 남도록 해보겠습니다.

예제 소스는 다음과 같습니다.

import re

#테스트용 문자
tmp_str = "abab!@#`242홍길동ZZZZ<<>>"
print(re.sub('[^ㄱ-힗]', '', tmp_str))


위처럼 해주시면 됩니다.

한글 ㄱ 부터 힗까지 나오게 하는 것입니다.

위 소스를 실행하면

결과는 다음과 같이 나오게 됩니다.



위처럼 한글만 남게 됩니다.





그러면 이제 마지막으로

특수문자를 제외하고

모두 나오도록 해보도록 하겠습니다.

위의 정규식표현에 썼던 것들을

모두 적어주면 됩니다.


실제로 사용하는 소스는 다음과 같습니다.

import re

#테스트용 문자
tmp_str = "abab!@#`242홍길동ZZZZ<<>>"
print(re.sub('[^0-9a-zA-Zㄱ-힗]', '', tmp_str))

위처럼 해주시고

실행을 하면

결과는 다음과 같습니다.



위처럼 특수문자를 제외하고

나오는 것으로 확인을 할 수 있습니다.






오늘은 파이썬에서의 정규식표현 방법을

정리해보았습니다.

정규식은 여러 언어에서

여러가지 방법으로 지원을 해주고 있습니다.

거의 모든 언어에서 지원을 해주는 것은 

그만큼 많이 사용이 된다는 얘기입니다.


그렇기 때문에

python에서의 정규식 사용방법을

잘 알고 있으면 좋을 것 같네요.





이상으로 python에서의 정규식표현 사용방법이였습니다~






손에 잡히는 파이썬:주피터 노트북을 이용한 파이썬 프로그래밍, 비제이퍼블릭

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


728x90
반응형
LIST