안녕하세요.이 항목의 기존 레이블을 살펴본 후 아무 것도 찾지 못했지만 여기에서 물어볼 것이라고 생각했습니다. 본질적으로 나는 정규 표현식과 C++에 대한 초보자이지만, 레거시 코드를 C++로 이식하려고하고있다. 읽어야 할 문학에 대한 도움이 있으면 대단히 감사하겠습니다.구조화되지 않은 문자열의 regex_search 향상
내가하는 문자열에 "Life\\s*Policy\\s*=\\s*(([0-9]+)|[0-9]+\\.[0-9]*);"
검색 패턴 문자열이 "인생 정책 = 9.67을, 인생은 = 1000 장점, 생명 청구 = 100"나는 값을 얻기 위해 regex_search
기능을 사용할 수 있습니다 어떻게
을 9.67
그래서 내가 더 계산에 그것을 사용할 수 있도록 ??
나는 현재이 코드를 가지고 내가 원하는 것을 추출 할 수 없습니까 :
std::string::const_iterator begin;
boost::match_results<std::string::const_iterator> what;
begin = st.begin();
boost::match_flag_type flags = boost::match_perl;
while(boost::regex_search(begin,st.end(),what,ex,flags))
{
successcode = 200;
}
내 생각은 내가 필요로하는 모든 정보를 무엇을해야합니다이었다. what[0].first
은 일치하는 문자열의 시작 부분을 가리 킵니다. 즉 Life Policy = 9.67;Life Claims = ..
마리우스에게 감사드립니다. [1] 내가 필요한 것을 가져야한다는 것을 의미합니까 ?? – user751279
물론, 미안하지만, 나는 잘못 입력했다. –
while 루프를 벗어나는 것을 잊지 마십시오. 라인 검색을 계속해야한다면 다음과 같이 begin iterator를 업데이트해야합니다. start = what [0] .second; –