안녕하세요. 이번 포스팅에서는 파이썬의 re 모듈을 활용하여 정규표현식을 통해 문자열에서 특정문자를 찾아내는 방법을 포스팅합니다.
0. 정규 표현식
정규 표현식(regular expression)은 주어진 문자열 속에서 특정 패턴을 가진 문자 또는 문자열을 찾을 때 사용하는 식입니다.
사용자가 입력하는 폼 데이터를 검증할 때나 웹 페이지 주소 요청에서 필요한 문자열을 때를 포함해서
특정 규칙이 있는 식별자나 사용자 이름, IP 주소, URL 등 여러 문자열로부터 패턴을 가진 정보를 찾아야 할 떄 유용하게
사용할 수 있습니다.
1. 문자 찾기
위의 코드처럼 re 모듈을 import 하고 re 모듈에서 findall() 메소드를 사용하기 위해 코드를 입력합니다.
findall() 메소드는 패턴이 일치하면 그 객체(문자)를 반환합니다.
만약 일치하는 문자를 발견하면 그 문자는 match라는 변수에 담겨 return 될 것입니다.
- 특정 문자 1개 찾기
위와 같이 이전 코드에서 만든 find_pattern 함수를 사용해서 "Hello World" 라는 문자열에서
'H' 문자를 찾는 다고 한다면 결과는 아래와 같습니다.
그렇다면 문자열에서 특정문자를 못찾으면 어떻게 될까요?
위와 같이 "Hello World" 문자열안에서 'A' 라는 문자를 찾지 못할 때,
맨 처음 만든 코드에서 match 의 값이 없는 분기에 해당하는 No data 가 나옵니다.
- 숫자 찾기
만약 숫자에 해당하는 문자를 찾는다면 pattern의 범위를 '[0-9]' 로 지정해주면
숫자만 골라서 찾아줍니다.
위의 코드를 실행하면 [0-9]의 패턴을 인식하여 숫자만 골라내게 됩니다.
- 영문자 찾기
영문자에 해당하는 문자를 찾기 위해서는 세 가지로 구분할 수 있습니다.
소문자, 대문자, 소문자와 대문자 로 구분할 수 있는데
각각 [a-z], [A-Z], [a-zA-Z] 로 Pattern을 넣으면 구할 수 있습니다.
위의 코드를 실행하면 "Hello World" 문자열에서 대문자를 제외한 소문자들을 return 합니다.
본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.
인용 시 출처와 같이 공개해주세요!
도움이 되셨다면 댓글 또는 공감 부탁드립니다!
'IT > Programming_프로그래밍' 카테고리의 다른 글
[파이썬 / Python] 이진시프트(Binary Shift)를 이용하여 2의 승수 곱하기 (0) | 2022.05.08 |
---|---|
[파이썬 / python] 파이썬 pyperclip 모듈로 클립보드 내용 복사 & 붙여넣기 / pyperclip.copy(), pyperclip.paste() (0) | 2022.02.24 |
[IT / 파이썬]타임스탬프(timestamp) / 프로그램에서의 날짜와 시간 정보, 단조 시간(monotonic time), 실제 시간 (0) | 2021.06.12 |
[파이썬 / Python] len 함수로 문자열 데이터의 길이 구하기 (0) | 2021.05.23 |
[파이썬 / Python] split 함수로 문자열 데이터를 공백 기준 또는 다른 기준으로 나누기 (0) | 2021.05.19 |
댓글