Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 프로그래머스 #NULL 처리하기
- 프로그래머스 #c++ #코딩테스트
- 카카오 코테
- 프로그래머스 #sql #mysql #코딩테스트
- 프로그래머스 #python #코딩테스트 #코테공부 #알고리즘 #dict
- 그리디알고리즘 #그리디 #백준 #우선순위큐 #최소힙 #최대힙 #알고리즘 #코딩테스트 #python
- 카카오 #프로그래머스 #python #코딩테스트 #오픈채팅방
- 백준 #이거다시풀기
- 백준 #백준알고리즘 #알고리즘 #코딩테스트 #코딩테스트준비 #코테준비 #백준2110 #python #문제풀이
- 동
- 프로그래머스 #python #2021카카오 #카카오코테 #카카오인턴쉽
- 프로그래머스 #네트워크 #c++ #코딩테스트 #코테 #코테준비 #dfs
- 백준 #백준2217 #백준로프 #python
Archives
- Today
- Total
say repository
[python] 정규식 본문
728x90
메타문자
원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자
. ^ $ * + ? { } [ ] \ | (
문자 클래스 [ ]
[abc] 라면 "a,b,c" 중 한 개의 문자와 매치
[a-c] 가 [abc]랑 같다.
- [a-zA-Z] : 알파벳 모두
- [0-9] : 숫자
- [^0-9] : 숫자 아닌 문자만
자주 사용하는 문자 클래스
- \d - 숫자와 매치, [0-9] 와 같음
- \D - 숫자 아닌 것과 매치, [^0-9]
- \s - whitespace 문자와 매치, [ \t\n\r\f\v] 와 같음
- \S - whitespace 문자가 아닌 것과 매치
- \w - 문자 + 숫자와 매치 [a-zA-Z0-9] 와 같음
Dot(.)
줄바꿈 문자인 \n 을 제외한 모든 문자와 매치됨.
a.b
# "a+ 모든 문자 + b"
a와 b라는 문자 사이에 어떤 문자가 들어와도 매치된다.
반복
*, +, {m,n}, ?
# a가 0부터 무한번 반복 가능
ca*t
# a가 1부터 무한번 반복 가능
ca+t
# 반복 ({m,n},?)
# a 2번 반드시 반복
ca{2}t
# a 2~5번 반복
ca{2,5}t
# {0,1} 반복, ? : 있어도 되고 없어도 된다.
ca?t
re 모듈
import re
p = re.compile('ab*')
정규식 표현을 컴파일해 돌려주는 객체 p를 이용해 문자열 검색에 사용한다.
정규식을 이용한 문자열 검색
- match() : 문자열의 처음부터 정규식과 매치되는지 조사
- search() : 문자열 전체를 검색해 정규식과 매치되는지 조사
- findall() : 정규식과 매치되는 모든 문자열을 리스트로 돌려줌
- finditer() : 정규식과 매치되는 모든 문자열을 반복 가능한 객체로 돌려줌