Регулярное выражение соответствует подстроке, если этой подстроке не предшествует определенная строка, и игнорирует всю строку? - PullRequest
1 голос
/ 16 июня 2019

Пробуя несколько вещей с негативным и позитивным взглядом, я не могу получить именно то, что хочу.Также прошел этот вопрос SO: Regex соответствует подстроке, если этой подстроке не предшествует конкретная строка?

То, что я хочу, это просто "да, вся эта строка должна рассматриваться"и "нет, игнорировать всю эту строку" из-за совпадений этих подстрок.Пост выше поможет мне сопоставить подстроку, но если отрицательные слова предшествуют подстроке, это все равно совпадение, вы можете увидеть мои тесты здесь: https://regex101.com/r/aqn1gO/2

То, что я пытаюсь сделать, это иметьрегулярное выражение соответствует подстроке i need, но игнорирует случаи, когда это не запрос, а вопрос.Примеры:

  1. мне нужно, чтобы вы сделали это
  2. эй, мне это нужно к завтрашнему дню
  3. эй, мне нужно это в доставке?
  4. эй, мне нужно это сделать?
  5. как у тебя дела сегодня?

Где 1. и 2. должны совпадать, но 3., 4.и 5. не должен, хотя там есть i need.

1 Ответ

1 голос
/ 16 июня 2019

Один из подходов может состоять в том, чтобы свести на нет те, у которых do или should, за которыми следуют любые символы и обязательный положительный прогноз с i need:

^(?=.*i need.*)(?!.*should.*i need.*|.*do.*i need.*).*$

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...