Почему эта часть кода кода C++ навсегда?Зачем заменять регулярное выражение?
string word = " a\n";
regex indent("^(|\t)*");
word = regex_replace(word, indent, "");
и почему этот фрагмент кода C++ заканчивается быстро?
string word = " a\n";
regex indent("^(|\t)+");
word = regex_replace(word, indent, "");
и добавить еще один поворот, почему это быстро заканчивается?
string word = " a\n";
regex indent("^(|\t)+?");
word = regex_replace(word, indent, "");
Я бы ожидать, что "^(|\t)+?"
будет такой же, как "^(|\t)*"
Я использую LibC++ и LLVM и стандартный C++ библиотека регулярных выражений.
Я слышал, что libstdC++ '' не является полным. [См. Этот ответ на соответствующий вопрос.] (Http://stackoverflow.com/a/12665408/445976) –
Blastfurnace
use boost regex lib – flyingfoxlee