지금이 이상한 현상이 발생했습니다. ifstream을 사용하여 파일 내용으로 프로그램을 공급하고 들어오는 단어에 정규 표현식을 적용하면 독일 문자 ä ü ü가 나에게 약간의 어려움을 제공합니다. 이들 중 하나가 단어의 시작 부분에 나타나면, 정규 표현은 그 단어를 인식하지 못하지만,이 문자 중 하나라도 단어 내에 나타나지 않는다면 말입니다. 따라서이 줄은 문자열 검색에서 정규식을 찾지 못해서 작동하지 않습니다.독일어 Umlaute 및 정규식
string word = "über";
regex check {R"(\b)" + word + R"(\b)", regex_constants::icase};
string search = "Es war genau über ihm.";
이 작동하지 않습니다. 그러나
string word = "für";
regex check {R"(\b)" + word + R"(\b)", regex_constants::icase};
string search = "Es war für ihn.";
이 단어에 나타나기 때문에 작동합니다. 왜 그런데 어떻게 해결할 수 있습니까? 나는 모든 ü를 ue로 교체하고 모든 ä을 ae로 교체하고 나중에 모든 것을 oe로 교체하고 나중에 교체를 취소하는 것에 대해 생각해 보았습니다. 그러나 또 다른 가능성이 있습니까? Visual Studio 2015에서 작업하고 있습니다.
문자 집합 문제입니까? 모든 것이 UTF-8 또는 다른 것입니까? – tadman