많이 쓰는 정규표현식 종류

SUSU·2023년 10월 14일
0

많이 쓰는 정규표현식 종류

  • 기본 패턴:
    • .: 어떤 문자 하나를 나타냅니다.
    • *: 앞의 패턴이 0번 이상 반복됨을 나타냅니다.
    • +: 앞의 패턴이 1번 이상 반복됨을 나타냅니다.
    • ?: 앞의 패턴이 0번 또는 1번 나타남을 나타냅니다.
  • 문자 클래스:
    • [...]: 대괄호 안에 있는 어떤 문자든 하나와 일치합니다. 예를 들어, [aeiou]는 소문자 모음 문자와 일치합니다.
  • 특수 문자:
    • \d: 숫자에 일치합니다.
    • \w: 단어 문자 (알파벳, 숫자, 밑줄)에 일치합니다.
    • \s: 공백 문자 (공백, 탭, 줄 바꿈)에 일치합니다.
  • 반복자:
    • {n}: 앞의 패턴이 n번 나타남을 나타냅니다.
    • {n,}: 앞의 패턴이 최소한 n번 나타남을 나타냅니다.
    • {n,m}: 앞의 패턴이 n번 이상, m번 이하 나타남을 나타냅니다.
  • 앵커:
    • ^: 문자열의 시작 부분과 일치합니다.
    • $: 문자열의 끝 부분과 일치합니다.
  • 그룹화:
    • (...): 괄호로 묶인 부분은 그룹으로 처리됩니다.
  • OR 연산자:
    • |: OR 조건을 나타냅니다. 예를 들어, cat|dog는 "cat" 또는 "dog"와 일치합니다.
  • 전후방 탐색:
    • (?=...): 전방 탐색 (lookahead)으로, 뒤에 패턴이 일치해야 합니다.
    • (?<=...): 후방 탐색 (lookbehind)으로, 앞에 패턴이 일치해야 합니다.
  • 문자 클래스 단축 기호:
    • \d: 숫자와 일치
    • \D: 숫자가 아닌 것과 일치
    • \w: 단어 문자와 일치
    • \W: 단어 문자가 아닌 것과 일치
    • \s: 공백 문자와 일치
    • \S: 공백 문자가 아닌 것과 일치

사실 이렇게 하나하나 뜻보다 전화번호, 이메일, 글자수 등 아예 뭉탱이로 되어있는 애들을 쓰는 경우가 많다

예를 들어
r'[A-Z]' : 대문자를 찾는 패턴
r'\w+' : 글자 또는 숫자(단어 문자)를 찾는 패턴
r'c.t' : 'c'로 시작하고 't'로 끝나는 세 글자의 단어 찾기
r'\bseee\w*' : \b는 단어 경계, seee로 시작하는 모든 단어 찾기
r'^(\d{3}) \d{3}-\d{4}$' : 예) (123) 456-7890 형식인지 확인

r'^[\w.-]+@[\w.-]+.\w+$' :예: "example@email.com"형식인지 확인

※서두에 붙인 r 접두어는 파이썬에서 원시(raw) 문자열을 나타낸다
정규표현식은 백슬래시()가 많이 사용되는데, 백슬래시가 특수 문자로 해석되는 것을 방지하고자 r을 붙이는 것이 좋다고 한다.

# r을 사용하지 않는 경우
pattern = "\\d+"

# r을 사용한 경우
pattern = r"\d+"
profile
기록용

0개의 댓글