메모장
빅데이터 분산 컴퓨팅 정리(24~29강 python spark 정규식) 본문
정규표현식
- 문자열검색(search and match)
- 문자열의 부분을 변환(sub)
- 작은조각으로 문자열 자르기(split)
정규식 -> apple
ex. Scrapple from the apple.
정규식 -> b[eor]at
ex. beat a brat on a boat
[x]는 x의 문자 리스트중 어느 하나와 매칭
ex. "[abc]"는 'a' 또는 'b' 또는 'c'와 매칭
[^x]는 x의 문자 리스트에 포함되지 않는 한 문자와 매칭
ex. "[^abc]"는 'a' 또는 'b' 또는 'c'를 제외한 나머지와 매칭
"."모든 하나의 문자와 매칭
괄호는 그룹으로 만들때 사용
ex. "(abc)+"는 'abc', 'abcabc', 'abcabcabc'등과 매칭
x|y는 x 또는 y와 매칭
ex. "this|that"는 'this' and 'that'와 매칭되고, 'thisthat'는 매칭되지 않음
x* : 0개 이상의 x와 매칭
ex. "a*"는 '', 'a', 'aa'등과 매칭
x+ : 1개 이상의 x와 매칭
ex. "a+"는 'a', 'aa', 'aaa'등과 매칭
x? : 0개 또는 1개의 x와 매칭
ex. "a?"는 '' 또는 'a'와 매칭
x{m, n} : m개 이상 n개 이하의 x와 매칭
ex. "a{2, 3}"은 'aa' 또는 'aaa'와 매칭
"\d" 정수와 매칭
"\D" 정수가 아닌 것과 매칭
"\s" 공백과 매칭
"\S" 공백이 아닌 문자와 매칭
"\w" 문자, 숫자와 매칭 (=[a-zA-Z0-9_])
"\W" 문자와 숫자가 아닌것과 매칭 (=[^A-Za-z0-9])
"^" 문자열의 시작과 매칭
ex. ^a 는 a로 시작
ex. $a는 문자열이 a로 끝남
"$" 문자열의 끝과 매칭
"\b" 단어의 경계와 매칭
"\B" 단어의 경계가 아닌것과 매칭. (즉, 문자경계와 매칭)
2개의 기본함수 re.search, re.match
- search는 문자열의 전체에서 패턴을 검색
- match는 문자열의 시작에서 패턴을 매칭 확인
>>> import re
>>> pat = "a*b"
>>> re.search(pat, "fooaaabcde")
<_sre.SRE_Match object at 0x809c0>
>>> re.match(pat, "fooaaabcde")
이메일 패턴 예시
\w+@(\w+\.)+(com|org|net|edu)
문자와 숫자로 매칭 + @ 문자와 숫자로 매칭 +
nation909 @ naver .com
'교육(KOCW, 오프라인)' 카테고리의 다른 글
빅데이터 분산을 위한 스파크2 프로그래밍 (0) | 2017.09.11 |
---|---|
빅데이터 분산 컴퓨팅 정리(15~18강 python관련) (0) | 2017.09.05 |