Я хочу соответствовать правилу, какое-то имя встречается как ABA, и A не должно равняться B. "allen_allen_allen" недействителен. at https://regexr.com/, я написал шаблон регулярного выражения ([a-z]+)_(?!\1)([a-z]+)_\1
, и он отлично работает,
Но когда я пишу это на C ++, используйте std :: regex,
using namespace std;
#include <regex>
int main() {
std::regex regex_test2("([a-z]+)_(?<!\\1)([a-z]+)_\\1");
return 0;
}
Я получил следующую ошибку:
libc++abi.dylib: terminating with uncaught exception of type std::__1::regex_error: The expression contained an invalid back reference.
вот информация о моем компиляторе:
введите описание изображения здесь Есть ли способ исправить это?