[python] 정규표현식(Regex)
1. 정규표현식이란?
- 문자열을 추출, 검사, 편집 할때 사용한다.
- 가독성이 떨어지만 코드의 길이가 줄어든다는 특징이 있다.
2. 정규표현식 사용방법
- Flags
- Character classes
. : 개행문자를 제외한 모든 문자(줄바꿈 제거)
\w : 문자열 중 알파벳 숫자인 모든 문자를 선택(word)
\W : 문자열 중 알파벳 숫자를 제외한 모든 문자를 선택(띄어쓰기도 포함)
\d : 문자열 중 숫자인 모든 문자를 선택(digit)
\D : 문자열 중 숫자를 제외한 모든 문자를 선택
\s : 문자열 중 공백을 선택(whitespace)
\S : 문자열 중 공백을 제외한 모든 문자를 선택
[] : 대괄호([])안에 포함된 문자를 OR로 선택
ex> : [abc] : a, b, c 중 어느 한 문자라도 포함되면 선택
[^abc] : a,b,c 중 어느 한 문자도 포함하지 않는 문자를 선택(NOT OR)
[a-z] : a 부터 z까지 문자중 어느 한 문자라도 포함되면 선택 ( - 는 연결된 범위 선택)
^abc : 대괄호([])없이 ^ 를 사용하면 이후 문자로 시작되는 문자열 선택
ex> ^abc 정확히 abc로 시작하는 문자열을 선택한다.
abc$ : $ 앞 문자로 끝나는 문자열 선택
ex> abc$ 정확히 abc로 끝나는 문자열을 선택한다.
\babc : \b 이후에 문자(abc)로 시작하는 단어를 선택한다.
ex> abcdd sfdesc 가 한문자열일 경우 abcdd만을 선택한다.
\Babc : \B 이후에 문자(abc)로 시작하지 않는 단어를 선택한다.
abc\b : \b 이전에 문자(abc)로 시작하는 단어를 선택한다.
ex> abcdd sfdabc 가 한문자열일 경우 sfdabc 만을 선택한다.
abc\B : \B 이전에 문자(abc)로 시작하지 않는 단어를 선택한다.
import re
str = 'abccsdfsa'
result = re.match('\w',str)