정규 표현식은 표준인 POSIX의 정규표현식과, POSIX 정규 표현식에서 확장된 Perl 방식의 PCRE가 대표적이며, 이외에도 수많은 정규 표현식이 존재함
다양한 정규 표현식 간에 약간의 차이는 있으나 대부분 비슷함
정규 표현식에서 사용하는 기호를 Meta 문자
라고 함
Meta 문자
는 표현식 내부에서 특정한 의미를 갖는 문자를 말함
공통적인 기본 Meta 문자
의 종류는 다음과 같다.
. ^ $ * + ? { } [ ] \ | ( )
^ : 문자열의 시작
$ : 문자열의 종료. 옵션에 따라 문장의 끝 또는 문서의 끝에 매치된다.
. : 임의의 한 문자
[]: 문자 클래스. 문자 클래스 안에 들어가 있는 문자는 그 바깥에서 하나의 문자로 취급된다.
^ : 문자 클래스 내에서 ^는 not
- : ex) a-z는 a에서 z까지의 문자
| : or를 나타냄
? : 앞 문자가 없거나 하나 있음
+ : 앞 문자가 1개 이상임
* : 앞 문자가 0개 이상임
{n,m} : 앞 문자가 n개 이상 m개 이하. {0,1} 은 ?와 같은 의미다.
{n,} : 앞 문자가 n개 이상. 위의 형태에서 m이 생략된 형태이다. {0,} 이면 *와 같고 {1,} 이면 +와 같은 의미이다.
{n} : 앞 문자가 정확히 n개. {n,n} 과 같은 의미이다.
() : 하나의 패턴구분자 안에 서브 패턴을 지정해서 사용할 경우 괄호로 묶어주는 방식을 사용한다.
\s : 공백문자
\b : 문자와 공백 사이를 의미한다.
\d : 숫자 [0-9]와 같다.
\t : 탭문자
\w : 단어 영문자+숫자+(밑줄) [0-9a-zA-Z]
문자 이스케이프는 대문자로 적으면 반대를 의미
자세한 내용은 다음 블로그를 참고하면 될 듯 하다.
정규표현식 :: 불곰
파이썬 정규표현식 사용