728x90
반응형
- 정규표현식(Regular expression, regex)
프로그래밍에서 문자열을 다룰 때 문자열의 일정한 패턴을 표현하는 일종의 형식 언어
파이썬만의 고유 문법이 아니라 문자열을 처리하는 모든 프로그래밍에서 사용되는 공통 문법
- 대괄호([]): 대괄호 안에 포함된 문자들 중 하나와 매치. [] 안의 두 문자 사이에 하이폰(-)을 입력하면 두 문자의 사이의 범위를 의미. [] 안의 ^는 반대를 뜻함.
[cd] : 문자들 중 c 또는 d가 하나 이상 있으면 된다.
[a-e]: [abcde]와 동일
[1-3]: [123]과 동일
[^0-9]: 숫자를 제외한 문자만
[^abc]: a,b,c를 제외한 모든 문자와 매치
- \d: 숫자와 매치. [0-9]와 동일한 표현식
- \D: 숫자가 아닌 것과 매치. [^0-9]와 동일한 표현식
- \s: whitespace(공백) 문자와 매치, [\t\n\r\f\v]와 동일
- \S: whitespace 문자가 아닌 것과 매치, [^\t\n\r\f\v]와 동일
- \w: 문자+숫자와 매치, [a-zA-Z-09]와 동일
- \W: 문자+숫자가 아닌 문자와 매치, [^a-zA-Z0-9]
대문자로 표현된 문자 클래스는 소문자로 표현된 것과 반대
- Dot(.)는 줄바꿈 문자인 \n을 제외한 모든 문자와 매치되며, Dot 하나당 임의의 한 문자를 나타냄.
a.e: a+모든문자+e. a와 e 사이에 어떤 문자가 들어가도 모두 매치됨. 단 ae는 a와 e 사이에 문자가 없으므로 매치되지 않음.
- * : * 바로 앞에 있는 문자가 0부터 무한대로 반복될 수 있다는 의미
ca*t: c 다음의 a가 0부터 무한대로 반복되고 t로 끝이 난다.
- + : *와 비슷하나 +는 최소 1번 이상 반복될 때 사용.
- {} : 반복 횟수 고정. {m,n}은 반복 횟수가 m부터 n까지 고정됨. m 또는 n은 생략할 수도 있음.
- {3,}의 경우 반복횟수가 3 이상, {,3}의 경우 반복 횟수가 3이하.
- |: or와 동일한 의미. expr1 | expr2는 둘 중 하나의 형태만 만족해도 매치됨.
- ^: 문자열의 맨 처음과 일치함을 의미. ^a 정규식은 a로 시작하는 단어와 매치됨.
- $: ^와 반대의 의미로써, 문자열의 끝과 매치함을 의미. a$는 a로 끝나는 단어와 매치됨.
- \: 메타문자의 성질을 없앨 때 붙임. ^나 $문자를 메타문자가 아닌 그 자체로 매치하고 싶은 경우 \^, \$ 형태로 사용.
- (): 괄호 안의 문자열을 하나로 묶어 취급.
- 정규표현식과 관련된 메서드
- match(): 시작부분부터 일치하는 패턴을 찾음
- search(): 첫 번째 일치하는 패턴을 찾음
- findall(): 일치하는 모든 패턴을 찾음
728x90
반응형
'Programming Language > Python' 카테고리의 다른 글
[Python] 이터레이터(Iterator) (1) | 2024.06.14 |
---|---|
[Python][Anaconda] Solving environment: failed with initial frozen solve. Retrying with flexible solve. (2) | 2024.01.13 |
[Python] Selenium을 이용한 동적 크롤링 (1) | 2023.12.29 |
[Python] 크롤링(Crawling) (1) | 2023.12.29 |
[Python] Python과 SQL 연결 (0) | 2023.12.29 |