일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 하둡에코시스템
- apache spark
- 클라우데라
- Terraform
- kubernetes
- kafka
- pyspark
- 빅데이터플랫폼
- 개발자혜성
- recommendation system
- 개발자
- 빅데이터
- spark
- Data engineering
- BigData
- dataengineer
- 추천시스템
- eks
- redis bloom filter
- 데이터엔지니어
- AWS SageMaker
- 블로그
- Python
- DataEngineering
- hadoop
- mlops
- cloudera
- Spark structured streaming
- 데이터엔지니어링
- 하둡
- Today
- Total
Hyesung Oh
Regular Expression, Regex 정규표현식 문자 본문
기본
1) [ ] : 문자 한개를 의미. [] 안에들어가는 모든 문자는 서로 독립적. 정규식에서 a는 [a] 와 동일함 abc는 [abc]가 아니고 [a][b][c]의미임
예)
[AaB] : a, B - 일치, b -일치하지 않음. AB에서는 A도 일치 하고, B도 일치함
[0-9] : 0~9 내의 숫자를 의미. 0 -일치, A - 일치 하지 않음
2) . : 임의의 문자/숫자 1개를 의미(단,\n(개행 문자)를 제외한 모든 문자와 매치)
예)
a.c 인 경우, abc - 일치, abb - 일치 하지 않음
3) * : 앞의 문자/숫자의 반복을 의미하며 한번도 반복이 안될 수 있음
예)
a*b 인 경우, ab : 일치, aab : 일치, aaab : 일치 , abc : 불일치
[ab]*b 인 경우, ab : 일치, b 일치 ( [ab]*에 의해 문자가 없을 수도 있음, 0번 또는 1번이상을 의미하기 때문임)
4) + : 앞의 문자/숫자의 반복을 의미하며 최소 한번의 반복이 있어야 함
예)
a+b 인 경우, ab : 불일치, aab : 일치, aaab : 일치 , abc : 불일치
[ab]+b 인 경우, ab : 일치, b 불일치 ( [ab]+에 의해 문자가 하나가 있어야 함)
5) {m,n} : 앞의 문자/숫자가 최소 m개 최대 n의 반복을 나타냄
예)
a{2,3} : a : 불일치, aa : 일치, aaa : 일치, aaaa : 불일치
{1}은 +와 동일하며 {0}은 *와 동일함
6) ? : {0, 1} 의미하며, 앞의 문자/숫자가 없거나 한개인 경우
예)
a?b : a : 불일치, ab : 일치, b : 일치
7) ^ : NOT 을 의미한다. [ ] 내에서 사용
예)
[^0-9] : 0 : 불일치, A : 일치
8) ^ : 문자열 시작을 의미예)
^abc : abc 일치, babc 불일치 중간에 abc가 있지만 시작이 아니므로 일치 하지 않음, kkk abc : abc 단어가 있긴하지만 문자열의 처음이 아니므로 불일치
9) $ : 문자열의 마지막을 의미함
예)
abc$ : kkkabc 는 일치 (search()메소드로 해야 함), re.compile('abc$').search('kkkabc')
10) ( ) : 문자를 묶는다위의 대부분의 문법이 앞의 문자 1글자를 의미했는데 ( )를 이용하면 여러개의 문자로 대치 된다.
예)
(ab)* : a : 불일치, b : 불일치, ab : 일치, ababab : 일치
11) | : OR을 의미한다. a|b 는 [ab] 와 같은 표현이다. ab|cd 는 [abcd]와 같은 표현은 아니다.
ab|cd 는 ([a][b])|([c][d]) 와 같다.
12) \ : 정규식 표현식에 사용이 안되는 문자들의 표시할때 사용한다.은 \. 으로 표시.
\은 \\로 표시함
자주 사용하는 문자열
\d - 숫자와 매치, [0-9]
\D - 숫자가 아닌 것과 매치, [^0-9]
\s - whitespace 문자와 매치, [ \t\n\r\f\v]와 동일한 표현식이다. 맨 앞의 빈 칸은 공백문자(space)를 의미한다.
\S - whitespace 문자가 아닌 것과 매치, [^ \t\n\r\f\v]
\w - 문자+숫자(alphanumeric)와 매치, [a-zA-Z0-9_]
\W - 문자+숫자(alphanumeric)가 아닌 문자와 매치, [^a-zA-Z0-9_].
'DEV > Python' 카테고리의 다른 글
CPython 톺아보기 - Tokenizer, AST, bytecode, PyCodeObject, PyFrameObject + TorchDynamo (0) | 2024.07.30 |
---|---|
Python, Node.js로 끄적여본 async, await (0) | 2022.08.11 |
#python#crawling - get, post 차이 이해 및 post 방식 동적 크롤링 실습 [2] (1) | 2019.08.22 |
#python#crawling - get, post 차이 이해 및 post 방식 동적 크롤링 실습 [1] (0) | 2019.08.22 |
#python#crawling#networkx - 연관검색어 크롤링 및 시각화 [2] (0) | 2019.08.22 |