거의 모든 프로그래밍 언어에서 정규식 / 정규표현식 (Regular Expressions; Regex)을 지원하지만, C/C++ 에서만은 정규식을 자체적으로 지원하지 않습니다.
C++에서 정규식을 가능케하는 라이브러리가 있습니다. Regex++ 라는 것입니다. Boost C++ Libraries 의 일부분입니다. C++에서 정규식을 구현할 때는 Regex++ 라이브러리가 사실상 표준입니다.
무료이고
* Microsoft Visual C++ 6, 7
* gcc 2.95 (Cygwin, Linux and BSD)
* Borland C++ Builder 4, 5, 6
등의 컴파일러에서 사용할 수 있습니다.
<regex++ 에 대해 더 알아보기>
----------------------------------------------------------
/*
정규 표현식에 적용되는 것은 문자 하나 단위지 문자열 단위가 아니라는 것!
*/
. | 개행문자를 제외한 어떠한 문자와도 매칭 |
* | 이전 표현식과 매칭되는 문자가 0개 이거나 그 이상이 있음 |
+ | 이전 표현식과 매칭되는 문자가 1개 이거나 그 이상이 있음 |
? | 이전 표현식과 매칭되는 문자가 0개 이거나 1개가 있음 |
$ | 문자열의 마지막 문자와 매칭 |
\ | escape 문자 앞에 사용하여 literal문자로 표시 |
[] | 단, [] 기호 안에 ^가 들어가면 []안에 있는 문자들을 제외 한 모든 문자와 매칭 된다는 뜻이다. i.e) [^0-9] 숫자를 제외한 모든 문자와 매칭 |
{} | 이전에 표현된 패턴이 얼마나 반복 될 것인가를 지정. i.e) A{1,3} A가 1~3회 연속 되는 패턴과 일치한다. |
() | 정규표현식들을 그룹화 한다. *, +, and, | 를 사용하는 복잡한 표현식들을 묶어서 사용할 때 유용하다. |
| | |으로 구분되어 있는 문자열중 하나와 매칭된다. i.e) cow|cat|dog 는 dog와 매칭 된다. |
“…” | “ ” 사이에 있는 모든 문자열은 문자 그대로 해석되며 meta-character들은 그 본래의미를 잃는다. |
'UNIX_LINUX_C_C++' 카테고리의 다른 글
Linux에서 MS-SQL에 접속하기 - FreeTDS (0) | 2011.10.16 |
---|---|
[FreeTDS] Linux 에서 MSSQL 연동 FreeTDS의 Compile 및 Install (0) | 2011.10.16 |
epoll 서버 샘플 프로그래밍 (0) | 2011.10.16 |
linux C++ 정규표현 사용하기 (0) | 2011.10.16 |
좋은 정보가 많은 블러그 목록 (0) | 2011.10.16 |