2016-12-29 2 views
-2

Я хочу, чтобы соответствовать Regex для sosreport файлов, которые отводящий на различные версии RHEL: , например:Regex факультативные 7 алфавитно-цифровых символов

sosreport-имя_сервера-20161229005243-d252.tar.xz

sosreport- имя_серверы-20161227015450.tar.xz

которого Regex ниже работал для меня.

^sosreport-servername- [0-9] {14} [^ деготь] * деготь \ ш \ ш \ д.? $

но я сталкиваюсь sosreport файл разного защитного Положения:

sosreport-имя_сервер-542046-98734e.tar.bz2

Пожалуйста, вы можете мне помочь сформировать новое регулярное выражение, которое будет соответствовать всем этим моделям?

+0

Что вы пытались настроить своим регулярным выражением? Вы можете использовать пробелы для обозначения этих строк в качестве кода, чтобы сделать их более читаемыми. Что вы на самом деле хотите делать с этими файлами? – Seth

+0

'. *' Наверняка будет соответствовать всем этим шаблонам. –

+0

'^ sosreport-illin01- [0-9] {14} [^ tar] *. Tar. \ W \ w \ d? $' Как это работает для 2 строк, которые вы предоставили? Замените 'illin01' на' servername' – MYGz

ответ

0

Для меня это регулярное выражение работает:

^sosreport-servername-[a-zA-Z0-9-]*.tar.(xz|bz2)$ 

Вы можете даже изменить имясервера по [a-zA-Z0-9]* или [a-zA-Z0-9-]{7} если вы сейчас, что вашим имя_серверам всегда длина 7 символов.

+0

Если это работает на вас, не могли бы вы принять ответ? – perbellinio

+0

следующее регулярное выражение, соответствующее всем приведенным выше шаблонам: – isb

Смежные вопросы