1.1. 매치 regex_match #
- char* buf = (char*)malloc(sizeof(char)*BUFFER_SIZE);
- strcpy_s(buf, 80, "asdfABCDasdf");
- std::tr1::regex rx(".*ABCD.*");
- if (std::tr1::regex_match(buf, rx))
- {
- // some code
- cout << "ABCD exist" << endl;
- }
ABCD exist
1.2. 매치 결과 cmatch #
- char* buf = (char*)malloc(sizeof(char)*BUFFER_SIZE);
- fgets(buf, BUFFER_SIZE, fp);
- std::tr1::cmatch matches;
- std::tr1::regex rx(".*<a class=\"select\".[^>]*>(.*)</a></li>");
- if (std::tr1::regex_match(buf, matches, rx))
- {
- std::string str(matches[1]);
- cout << str << endl;
- }
<li class="news04"><a class="select" onclick="ndrclick('RIG22');" href="http://news.nate.com/section?mid=n0300">경제</a></li> ↓ 경제
1.3. 대체 regex_replace #
- // E-Mail 이후를 잘라낸다.
- string fmt("");
- std::tr1::regex email_ascii("[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}.*");
- str = std::tr1::regex_replace(str, email_ascii, fmt);
공했습니다.<br /><br />공정위는 죄질이 나쁘다며 재판매가격 위반 사건 가운데 가장 높은 6억 5천9백만 원의 과징금을 부과했습니다.<br /><br />MBN뉴스 황승택입니다.<br />[ 황승택 / hstneo@mbn.co.kr ]<br />트위터 @hstneo<br /><br /><div><h4 style='padding-top:15px;p ↓ 공했습니다.<br /><br />공정위는 죄질이 나쁘다며 재판매가격 위반 사건 가운데 가장 높은 6억 5천9백만 원의 과징금을 부과했습니다.<br /><br />MBN뉴스 황승택입니다.<br />[ 황승택 / hstneo@mbn.co.kr
2.1. CLSID 매치 #
- std::tr1::regex clsid("\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}");