регулярные расширения файлов печати в строках идеально - PullRequest
1 голос
/ 12 июля 2020

Я хочу, чтобы регулярное выражение получало расширения файлов с префиксом 5 символов.

предположим, что Input:

rtdsa.log; dsfdskj.env uopy. java asdflhlahd sdi .logasd sdf.env98

Я хочу:

rtdsa.log fdskj.env uopy. java

правила: печатать с 5-символьный префикс расширения, не печатать, если расширение продолжается буквой или числом, например .logasd или .log78

Я пробовал:

'file ext': r'.(.log|.env|.java)[a-zA-Z0-9=:_\+\/-]{0}',

Я получил:

файл ext -> d файл ext -> s файл ext -> файл a.log ext ->; файл ext -> k файл ext -> j.env файл ext -> g файл ext -> p файл ext -> y. java файл ext -> файл i.log ext -> файл ext -> f.env файл ext -> 9 файл ext -> 8 файл ext -> b файл ext -> f. java файл ext -> файл ext -> f файл ext -> l файл ext -> h`

1 Ответ

1 голос
/ 12 июля 2020

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

\w{1,5}\.(?:log|env|java)\b

См. демонстрацию регулярных выражений . Обратите внимание, что вы можете заменить \w на \S для соответствия любым символам, не являющимся пробелами.

Подробности

  • \w{1,5} - от одной до пяти букв / цифры / подчеркивания
  • \. - точка
  • (?:log|env|java) - log, env или java подстроки
  • \b - слово граница, непосредственно справа, должен быть символ, не являющийся словом, или конец строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...