Выражение регулярного выражения для соответствия косой черты с последующей строкой - PullRequest
0 голосов
/ 04 апреля 2019

Мне нужно отфильтровать строку, если она содержит три строки:

/A/ABC
A_ABC
Downloaded

У меня есть два типа строк.Все содержат Downloaded, но только либо /A/ABC, либо A_ABC

Каждая подстрока имеет пробелы слева и справа.

Какие правильные выражения регулярного выражения соответствуют строке, если она содержит Downloaded и ABC?

Моей большой проблемой для совпадения с ABC является либо косая черта, либо подчеркивание с левой стороны.

Я пробовал следующее выражение:

'\bDownloaded\b + \b/A/ABC\b | \/ABC\b'

Однако я не надеваюне получить совпадающие строки.Может быть, кто-то может легко исправить мою попытку.Спасибо!

/A/ и A_ являются только примерами.Там может быть любое другое письмо или несколько букв.Мне просто нужно знать, есть ли где-нибудь в строке ABC.

Для ясности: я проверил несколько других сообщений , которые были близки к моей проблеме, но не смогли окончательно решить мою.

1 Ответ

1 голос
/ 04 апреля 2019

Вы можете использовать положительный прогноз и указать слово Downloaded, а затем сопоставить ABC в строке

^(?=.*\bDownloaded\b).*ABC.*$

Regex demo

Это будет соответствовать:

  • ^ Утверждение начала строки
  • (?=.*\bDownloaded\b) Положительный lookahead , подтвердите, что ниже следует слово Загруженный между границами слова
  • .*ABC.* Соответствует любому символу 0+ раз, затем ABC, за которым следует любой символ 0+ раз
  • $ Подтвердить конец строки
...