개요
데이터만 추출(혹은 정제)Ex >
import re

문자 (클레스) 1개를 대변한다
- [ 어떤 문자도 올 수 있다 ]
- wt.여러 문자를 표현 ➤
나열ex) [a-z0-9A-Z]
- wt.문자를 여러번 등장 ➤
*, +(와일드카드)를 붙이면 된다
<*> 0 ~ 무한대 반복
<+> 1 ~ 무한대 반복ex) [a]*, [a]+

- [하이픈] = 문자 클레스 내, ([ .. ]) 두문자 사이의 범위를 표현"ascii코드" or "utf-8 인코딩" 해석
- utf-8 (완성형 코드) / Ex> 한글 = 자음 + 모음 + 완성글자
자음 : ㄱ ~ ㅎ 모음 : ㅏ ~ ㅣ 완성글자 : 가 ~ 힣 ➔ ∴ 완성형 한글 범위 : ㄱ-힣
- ascii
영소 : a-z

.[]의 바깥쪽에 사용할 때
-모든 문자를 대표(*예외. \n:줄바뀜기호)[.]문자 클레스 내부에 사용할 때
-.이라는문자 1개를 표현 (즉, 스스로 자기 자신 표현)✅결론 >사용위치에 따라 해석이 다름 ⛔
Ex-1> [ . ]
Ex-2> .[ ]
[^문자] : 해당 문자를 배제(제외)하고ex) [^a-zA-z]* : 알파벳(대소) "제외한 모든 문자" + 0~"무한대로" 올 수 있다
-re.sub()와 주로 같이 사용됨
^[문자]: match()와 맥락유사
ex ) 컴파일 옵션
Ex > [^문자]
[ ]$(문자열의 맨끝과 일치)
-의미: ≠ ^(시작)
Ex-1> 
🔽🔽🔽

non-match 해결> ^[0-9]+[a-z]+$
+: + 바로 앞의 문자가1 ~ 무한대반복등장 가능*: * 바로 앞의 문자가0 ~ 무한대반복등장 가능
Ex-1 > + : 한번 또는 무한대 등장 
Ex-1-1 > 
Ex-2 > *
Ex-2-1 >
반복 횟수 지정 표현
- 특정 문자가 몇번 반복되는가? -> 지정
🔸ex. [ a{3} ]
-문자 클레스내, 사용 X
🔸ex.[ a ]{3}=a{3}
-a라는 문자가3번 반복- 내부 뛰어쓰기 주의 (사용 x)
{3} : 3회 반복 {2,3} : 2~3회 반복 ⛔{2, 3} : 작동 X, 오류남
Ex> {2}

Ex> {2,3}
- 해당 문자가
0회or1회등장⤷ (즉, 나오거나 안나오거나)
Ex > 
⭐ 최종실습 ⭐ : 핸드폰 번호 정규식 생성
규칙
- xxx-xxxx-xxxx
- xxx-xxx-xxxx
- x : 0-9
- 강제 규정
- 시작문자(^) 맨앞에 xxx는 010으로 고정
- 끝문자($) 0-9 문자로 4개
- 가운데문자 0-9 문자로 3, 4개 나올수 있다
언급되지 않는 조건은 가정
Answer>