2016-08-31 3 views
-1

현재 Boost Regex 라이브러리를 사용하고 있으며 C++에서 arguments라는 함수를 얻으려고합니다. 예를 들어, 나는 HTML로 페이지를 가지고라는 자바 스크립트 함수, 우리는 그것을 작동하지 않습니다 내가 현재 가지고있는Regex는 Boost Regex C++에서 어떻게 작동합니까?

XsrfToken.setToken('54sffds'); 

, 같은이 호출합니다.

여기서 response는 HTML 웹 페이지이며 expression은 정규식입니다. 조건문이 실행 중입니다, 그래서 나는 내 정규 표현식에 문제가 있다고 생각하지만, 나는 모른다.

[편집 됨]

?* 후 중복 비록 그 정규식은 PHP에서 추출하고 regex 구문이 아니라 PHP 정규식 검사기/디버거에서

+0

워드 프로세서를 읽을 수있는 모든 기회 : 백 슬래시 문자는 백 슬래시로 이스케이프해야 하는가? http://www.boost.org/doc/libs/1_53_0/libs/regex/doc/html/index.html – Serge

+1

필자의 의견으로는 문서를 읽지는 않았다. – Kurieita

답변

1

당신의 실수를 작동하는 것을 언급하는 것을 잊었다하지만, C++ 문자열 상수 리터럴 :

#include <boost/regex.hpp> 
#include <iostream> 
#include <string> 

std::string response("XsrfToken.setToken('ABC')"); 
boost::regex expression("XsrfToken.setToken\\('(.*?)'\\)"); 

int main() { 

    boost::smatch results; 

    if (boost::regex_search(response, results, expression)) { 
     std::cout << results[0] << " TOKEN" << std::endl; 
    } 
} 
관련 문제