Удалить пробел строки и сравнить с помощью RegEx - PullRequest
0 голосов
/ 29 марта 2019

У меня есть следующая строка:

Name was changed from *** to %%%

, в то время как *** и %%% могут быть чем угодно.

Что мне нужно сделать, это убедиться, что *** и %%% различны. Мне также нужно убедиться, что если *** равно Yan n и %%% равно Yann, они будут считаться похожими (пробелы могут появляться до и / после переменной).

Мой текущий RegEx обнаруживает только само предложение:

^Name was changed from.*to.*$

Как я могу убедиться, что он не учитывает, когда *** и %%% идентичны (исключая пробелы)?

К вашему сведению, я использую это регулярное выражение в макросе VBA / Excel

1 Ответ

1 голос
/ 29 марта 2019

Кажется, на основе комментариев с использованием группы захвата в сочетании с отрицательным прогнозом и обратной ссылкой на группу было бы достаточно получить совпадения:

^Name was changed from (.+?) to (?!\s*\1\s*$).*$

Regex101 demo

Объяснение

  • ^ Начало строки
  • Name was changed from (.+?) to Совпадение начального текста и захват в группе без жадности между от и до
  • (?! Отрицательный прогноз, утверждаем, что прямо справа не является
    • \s*\1\s*$ Совпадение с 0+ пробелами, обратная ссылка на группу 1, 0+ пробельных символов и утверждение конца строки
  • ) Закрыть взгляд вперед
  • .*$ Соответствовать любому символу до концастрока
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...