• Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.

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

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,285
Симпатии
4,829
#1
c:\program files\groover181220151419\ххх.exe
Для поиска по маске нужно создать регулярное выражение для выделенной цветом части строки, где:
c:\program files\groover - не изменяемое название
18122015 - дата создания адвари, будет изменяться
1419 - модификация адвари, будет изменяться

Попытался написать по аналогии с известными мне выражениями и получил вот такое:
Может кто подскажет правильно или нет.
 

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
11,834
Симпатии
5,564
#2
Точней будет так
Код:
\\groover\d{12}\\
захватывать будет этот кусок вместе со слешами
Код:
\groover181220151419\
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,412
Симпатии
5,277
#4
Может кто подскажет правильно или нет.
Правильно. (от 1 цифры и больше)
А если количество цифр изменится, например номер модификации увеличится на порядок?
Тогда:
Код:
\\groover\d{12,13}\\
или по примеру твоего варианта.
 

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
11,834
Симпатии
5,564
#6
вот такой вариант правильнее?
такой вариант захватит и \groover1\ - а это как понимаю будет неправильно.
Так что рекомендую использовать мой, а если
номер модификации увеличится на порядок
то Dragokas,
Код:
\\groover\d{12,13}\\
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,412
Симпатии
5,277
#7
shestale, я к сожалению тебе ответить не могу, т.к. не знаю, где ты это используешь и что ожидаешь получить.
Например, чтобы в текстовом редакторе выделить всю строку по совпадению с шаблоном, то нужно писать что-то вроде:
Код:
.*\\groover\d{1,}.*
Но я так понял, это к --------------, а там свои правила.
 
Последнее редактирование:

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,285
Симпатии
4,829
#8
не хочется привязываться к конкретному порядку цифр...мало ли чего взбредет в голову вирмейкерам и модификация будет например 10 разрядная)))
Тогда может так?
Код:
\\groover\d{8,}\\
где 8 это количество цифр в дате, а уж более восьми это модификации.
 

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
11,834
Симпатии
5,564
#10

shestale

Ассоциация VN/VIP
Преподаватель
Сообщения
9,285
Симпатии
4,829
#11
Ок. Всем спасибо.
 

regist

гоняюсь за туманом
Ассоциация VN/VIP
VIP
Разработчик
Сообщения
11,834
Симпатии
5,564
#12
shestale, замени лучше на
Код:
\\groover\d{8}
работать будет быстрее.