Мне нужно выражение regex , которое будет выбирать файлы с определенным форматом имени файла из списка файлов свойств.
Мне нужно выбрать файлы с именами файлов в следующем формате:
<app_name>_<app_version>_<environment>.properties
- здесь
<app_name>
может быть любым буквенно-цифровым символом со специальным символом <A-Z/a-z/0-9/special char>
, например abc123
или app1-1
- здесь
<app_version>
может быть любым буквенно-цифровым символом со специальным символом <A-Z/a-z/0-9/special char/float value>
например abc
или даже число с плавающей запятой / целое число / строка 1.0
или 2
или abc1 - здесь
<environment>
может быть любым буквенно-цифровым со специальным символом <A-Z/a-z/0-9/special char>
подобно production
или prod1
Вместе они связаны 2 подчеркиванием следующим образом: -
<A-Z/a-z/0-9/special char>_<A-Z/a-z/0-9/special char/float value>_<A-Z/a-z/0-9/special char>.properties
Имя файла всегда содержит 2 подчеркивания _
, и это может быть любая строка междуподчеркивания.
для примеров, следующие: допустимые имена файлов, которые можно выбрать:
app1_1.0_prod1.properties
app2_2_prod2.properties
app_vers1_prod.properties
app-1_vers1_prod-2.properties
asd_efg_eee.properties
Это может быть буква или цифра или специальный символ или комбинация между ними, междуподчеркивание.
Обратите внимание, чтоt в имени файла может быть только 2 подчеркивания _
.
Все, кроме 2 подчеркивания _
не является допустимым именем файла и не будет выбрано, а в имени файла эти 3 раздела всегда должны быть разделены 2подчеркивание _
Ниже приведены недопустимые имя файла:
abc.properties
abc.123.efg.properties
as_1.efg.ddd.rr.properties
ee_rr.properties
_rr_.properties
Я попробовал следующее регулярное выражение:
[^_]*\\.[^_].properties
, но не работает.Может быть, это не так.Я не понимаю, как это получить.Пожалуйста, помогите мне в создании этого регулярного выражения.
Спасибо