Регулярное выражение: сопоставить слово между двумя пробелами по обе стороны - PullRequest
1 голос
/ 27 марта 2020

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

      Testing      space was before this part word space after this part      this part      shouldn't count.

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

 {2}.*?word.*? {2}

(Не должно быть пробела перед обеими {2})

Должно быть извлечено только "пробел был до этой части слова пробела после этой части". Любая помощь будет оценена, спасибо!

1 Ответ

2 голосов
/ 27 марта 2020

Вы можете использовать

 {2}(?:(?! {2}).)*?word.*? {2}

См. Демоверсию regex

Подробности

  • {2} - два пробела
  • (?:(?! {2}).)*? - любой символ, кроме символов разрыва строки, 0 или более раз, но как можно меньше, который не начинается с двухсимвольной строки символов
  • word - word строка
  • .*? - любые 0+ символов, кроме символов разрыва строки, как можно меньше
  • {2} - два пробела
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...