정확한 부분 문자열과 일치하는 정규 표현식을 만들어 문자열에서 제거 할 수있게하려고합니다. (그것이 내가가 원하는처럼 {ABC}을 일치) C++에서 std :: regex를 사용하여 정확한 부분 문자열과 일치합니다.
std::string str = "{abc}slkj skdjv{abc}nei slkjdf";
std::regex reg("{abc}");
str = std::regex_replace(str, reg, "");
나는
Regexr에 정규식을 시도하고 작동합니다. 그러나 위의 코드는 무한 루프로 진행되는 것 같습니다.
정규식을 사용하고 싶은 이유는 문자열 일치 검색 이외의 다른 것들을 제거하기 위해서입니다. 따라서 주어진 문자열 조작을 찾지 못했습니다. here.
정규식 문자열이 실제로 특정 문자열과 일치해야하는 대상은 무엇입니까?
정규식 일치를 찾지 못하면 어떻게 코드가 무한 루프에서 실행됩니까? – Praetorian
그 질문에 답이 없다. 그것은 regex_replace에서 멈추게됩니다. : | – mxdg
'{}}는 반복 횟수에 사용되기 때문에'{abc}'는 유효하지 않은 정규 표현식입니다. 예를 들어'a {1,3}'은 1-3 개의'a' 문자를 찾습니다. 입력 내용의 형식이 잘못되었습니다. 단지 일치하는 항목을 찾지 못했을뿐입니다. 내 최고의 추측은 빈 문자열의 반복을 찾아서 검색 과정에서 결코 진전을 보이지 않으려 고하는 것이지만, 나는 확실하지 않습니다. –