Выполните следующие шаги
Yippee .... ваш код будет запущен:)
Очень интересно ... Я не мог найти ссылку на документацию, но небольшие эксперименты обнаружили, что:
␠ *
и . *
работал, если Ноль-или-другое в порядке для вас ␠ +
не работает. Ни один из ␠ {1,}
... но ␠ \ {1, \}
работал ␠ \ +
также работает! ( ␠
представляет собой пространственный символ, который не появился).
Я использую GNU Diff из GNU Diffulls 2.8.1.
MAN DIFF
и Info diff
не объяснил синтаксис Re.
Надеюсь, это поможет.
Обновление: я нашел краткий раздел в Man Greep
:
Основные против расширенных регулярных выражений
в основных регулярных выражениях мета-символов?, +, {, |, (И Несомненно потерять свое особое значение; вместо этого используйте версии с обратной спиной \? \ +, \ {, \ |, \ (и \).
Так что я думаю, это использует базовый синтаксис Regex.
Хорошо, вот что говорит источник GNU Diff.
re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING);
Я думаю, что это означает: «То же самое, что и GNU GreeP -G» (основное регулярное выражение). Согласно странице Man GrEP GNU:
в основных регулярных выражениях мета-символов?, +, {, |, (, и ) потерять свое особое значение; вместо этого используйте версии на обратную спину \ ?, \ +, \ {, \ |, \ (и \).
Забудьте о \ S, \ S и т. Д.
может быть растоптать память - что-то написание над этим VTable
по ошибке. Существует почти бесконечное количество способов «достичь» это в C ++. Например, переполнение буфера.
Согласно спецификации , diff
не поддерживает регулярные выражения, а также не имеет -I
.
Вы, кажется, используете нестандартные diff
с нестандартными расширениями. Как работают те нестандартные расширения, должны быть описаны в документации о любом нестандартном
, которые вы используете.