메모장

빅데이터 분산 컴퓨팅 정리(24~29강 python spark 정규식) 본문

교육(KOCW, 오프라인)

빅데이터 분산 컴퓨팅 정리(24~29강 python spark 정규식)

hiandroid 2017. 9. 12. 14:37
반응형

정규표현식

 - 문자열검색(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

반응형