728x90

정규식 Regular Expression

패턴으로 문자열을 검색 및 치환하는데 사용한다.
문자, 문자열, 문자패턴을 나타내기 위한 특수문자들.

. - 개행문자(\n)를 제외한 1자를 의미
^ - 문자열의 시작
$ - 문자열의 종류
[ ] - 문자열집합
| - OR
() - 괄호안의 ‘정규식’을 그룹으로 만듦
*-문자가 0회이상 반복할시
+ - 문자가 1회이상 바복
? 문자가 0 혹은 1회 반복
{m} 문자가 m회 반복
{m, n} 문자가 m회이상 n회이하까지 반복되는 경우
{m, } 문자가 m회이상부터 무한 반복되는 경우

ple$ : ple로 끝나는 걸 찾고 치환(매치)하기
‘appl[a-z]’ : 소문자 a이상 z이하까지 올 수 있다.
‘appl[a-z]’에 여집합을 표현할때 역전시킬때 ^기호를 쓴다
‘app^[a-z]’이렇게
정규표현식 중 Escape문자열
여기에서 여집합 및 역전시킬대는 소문자의미의 역전으로 대문자를 쓰네

\w: 밑줄과 표현 가능한 문자
\W: 밑줄과 표현 가능한 문자를 제외한 나머지 문자
\d: 0에서 9이하 10진수(decimal) 포함하는 모든 숫자
\D: 숫자를 제외한 모든 문자
\s: 공백문자(space)
\S: 공백문자를 제외한 모든 문자
\\ : 역슬래시 문자자체를 의미(경로를 표현할때 쓰겠지???)
위와 같은 정규표현식 요소들을 활용하여 모듈로 만들어놓은게 있다.

re모듈

search(pattern, string[, flags])
#string전체에 대해서 pattern이 존재하는지 검사하여 MatchObject인스턴스를 반환한다
#참고로 엑셀에서 FIND()와 SEARCH(), SEARCHB()함수가 있는데 SEARCH()가 FIND()보다 더 넓은 범위로 Greedy하게 Lazy하게 찾아준다.

match(pattern, string[, flags])
#string 시작부분부터 pattern이 존재하는지 검사하여 MatchObject인스턴스를 반환

split(patern, string[, flags])
#스플릿은 쪼개는건데 무슨 기준으로 쪼갤것인지 뭘로 세퍼레이터로 쓸것인지 알려줘야한다. 인자로 넣어줘야한다. 반환은 리스트에 담아반환

findall(pattern, string[, flags])
#말그대로 string에서 pattern과 매치되는 모든 경우를 찾아 리스트로 담아 반환해준다

sub(pattern, repl, string[,count])
#string에서 pattern과 일치하는 부분에 대하여 repl로 교체하여 결과 문자열을 반환. 즉 subtract하고 replace할거라는거

+ Recent posts