Регулярное выражение с различными пробелами - PullRequest
1 голос
/ 09 января 2020

Я пытаюсь написать Regex, чтобы найти строки в файлах, где команды не используют абсолютные пути. К сожалению, с этими строками возникают проблемы с пробелами.

// PATHS
pathmunge /absolute/path
  pathmunge   ~not/absolute/path
 pathmunge           /absolute/path


// matches

  pathmunge   ~not/absolute/path

Мое выражение соответствует строкам с пробелами в начале и перед строкой pathmunge, но не находит строки с переменной длиной Пробел, но без «/» в качестве следующего непробельного символа.

Пока у меня есть:

^(?=\s+pathmunge)\s+(?!\/).*$

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 09 января 2020

Уберите взгляд и сделайте пространство притяжательным:

^\s*pathmunge\s++(?!\/).*$

Демонстрация и объяснение

1 голос
/ 09 января 2020

Для регулярного выражения я бы сделал:

^(?:[[:blank:]]*pathmunge[[:blank:]]+([^\s\/].*$))

Демо

Ключевым элементом является [^\s\/], который соответствует одному символу, отличному от горизонтального пробел или \n или / начало любого абсолютного пути.

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