Я писал регулярное выражение, чтобы извлечь каталог и имя файла. Я тестировал его в тесте регулярных выражений и, похоже, там работает, но когда я запускаю его в своей программе на C++, он сбой.Почему это регулярное выражение приводит к сбою моей программы?
regex re("^(.*)(\\/|\\\)(.*\\.flt)$");
Я компилирую с Visual Studio 2010 SP1. Когда я запускаю код, он разбивается на указанную выше строку. Зачем?
Edit: исключение я получаю
Исключение Microsoft C++: станд :: tr1 :: regex_error в ячейке памяти 0x0042eb4c.
И это разбивает в строке 19 regex.cpp
Определите, «он падает» и «он ломается». Мы не можем вам помочь, если вы не скажете нам, что происходит. Вы не ожидали, что коронер напишет о смерти, «он умер». –
Вы можете пропустить '\' at '| \ \ \) ' –
Используйте [C++ raw string литералы] (http://en.cppreference.com/w/cpp/language/string_literal) для регулярных выражений. Они сделают вашу жизнь намного легче. _ «Visual Studio 2010 SP1» _ Вам действительно нужно использовать такой старый компилятор для реализации вашего кода? –