#keywords C++,C++0x,정규표현식 [[TableOfContents]] == 사용 == === 매치 regex_match === {{{#!gcode 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 }}} === 매치 결과 cmatch === {{{#!gcode char* buf = (char*)malloc(sizeof(char)*BUFFER_SIZE); fgets(buf, BUFFER_SIZE, fp); std::tr1::cmatch matches; std::tr1::regex rx(".*]*>(.*)"); if (std::tr1::regex_match(buf, matches, rx)) { std::string str(matches[1]); cout << str << endl; } }}} ---- {{{
  • 경제
  • ↓ 경제 }}} === 대체 regex_replace === {{{#!gcode // 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); }}} ---- {{{ 공했습니다.

    공정위는 죄질이 나쁘다며 재판매가격 위반 사건 가운데 가장 높은 6억 5천9백만 원의 과징금을 부과했습니다.

    MBN뉴스 황승택입니다.
    [ 황승택 / hstneo@mbn.co.kr ]
    트위터 @hstneo

    ])*>"); }}} === href 링크 추출 === {{{#!gcode std::tr1::regex href("href\s*=\s*(?:\"([^\"]*)\"|([^\']*)\'|([^\'\">\s]+))"); }}} === 숫자와 기호 매치 === {{{#!gcode std::tr1::regex num_and_sign"[-0-9#&+%@=/\\:;.,\'\"^`~_|!\?*$#<>()]"); }}}