Искам да съпоставя низ, даден в поле за въвеждане.
A sample data could be "hello" -> returns true
or "\"" -> returns true
or "this is a string" -> returns true
but """ should not be recognized as a string and should return false when checked by the regexp.
Инициализирам анализатор на регулярен израз за усилване, както следва:
std::string myString = "\"\"\"";
boost::smatch match;
boost::regex regExpString3("[\"']((:?[^\"']|\\\")+?)[\"']");
bool statusString3 = boost::regex_match(myString, match, regExpString3);
regex_match не трябва да съвпада, но за съжаление съвпада ...
Проверих на няколко онлайн тестера на регулярни изрази: регулярният ми израз не съвпадна (както се очакваше).
Някаква идея дали това може да е грешка при усилване или правя нещо нередно?
Демо на Debuggex: Щракнете върху мен, за да потвърдите ("[\"']((:?[^\"']| \\")+?)[\"']"
Благодаря