정규표현식

nayoon·2021년 6월 3일
0

computer

목록 보기
15/25

https://programmers.co.kr/learn/courses/30/lessons/72410?language=python3

신규 아이디 추천이라는 2021 카카오 블라인드 채용 문제인데, 정규표현식을 쓰면 뚝딱 풀 수 있는데 맨날 까먹는다..

안 까먹고 싶어서 노트에 정리하고 에버노트에 정리하고 보면 읽고 쓰고 해도..잘 보이는 곳에 정리나 해두자 싶어서 정리한다.

문자 클래스

[a-zA-Z] : 알파벳 모두

[0-9] : 숫자

[^0-9] : 숫자가 아닌 것

[a-zA-Z0-9] : 문자와 숫자

[^a-zA-Z0-9] : 문자와 숫자가 아닌 문자

Dot(.)

정규 표현식의 Dot(.) 메타 문자는 줄바꿈 문자인 \n을 제외한 모든 문자와 매치됨을 의미한다.

a.b
# a + 모든 문자 + b
# a와 b라는 문자 사이에 어떤 문자가 들어가도 모두 매치된다는 의미

그렇다면 .이라는 문자를 사용하고 싶다면 어떻게 해야할까

a[.]b
# a + . + b
# a.b 문자열과 매치되고, a0b, aab와 같은 문자열과는 매치되지 않는다는 의미

반복(*)

정규식에는 반복을 의미하는 * 문자가 사용된다.

ca*t

바로 앞에 있는 문자 a가 0부터 무한대로 반복될 수 있다는 의미이다.

반복(+)

+도 반복을 나타내는 메타 문자인데, *와는 다르게 최소 1번 이상 반복될 때 사용한다.

re 모듈 sub

re.sub(pattern, repl, string)

string의 가장 왼쪽부터 pattern과 일치하는 문자를 repl로 치환하여 얻은 문자열을 반환합니다.

참고사이트

  1. https://docs.python.org/ko/3/library/re.html
  2. https://wikidocs.net/4308
profile
뚜벅뚜벅 열심히 공부하는 개발자

0개의 댓글