Теперь, когда у вас есть удобочитаемое описание имени вашего файла, довольно просто перевести его в регулярное выражение (по крайней мере, в этом случае;)
должно начинаться с
Символ каретки (^
) привязывает регулярное выражение к началу того, что вы хотите сопоставить, поэтому ваш повтор должен начинаться с этого символа.
'б',
Любой нестандартный символ в вашем ре будет совпадать буквально, поэтому вы просто используете «b» для этой части: ^b
.
, за которыми следуют [...] цифры,
Это немного зависит от того, какой вкус вы используете:
Наиболее общий способ выразить это - использовать скобки ([]
). Это означает, что "соответствует любому из символов, перечисленных в. [ASDF]
, например, будет соответствовать либо A
, либо S
, либо D
, либо F
, [0-9]
будет совпадать с любым значением от 0 до 9.
В вашей библиотеке, вероятно, есть ярлык "любая цифра". В sed
и awk
вы можете использовать [[:digit:]]
[sic!], В python и многих других языках вы можете использовать \d
.
Так что теперь вы читаете ^b\d
.
, за которыми следуют три [...]
Самый простой способ выразить это - просто повторить атом три раза так: \d\d\d
.
Опять же, ваш язык может содержать ярлык: фигурные скобки ({}
). Иногда вам придется избегать их с обратной косой чертой (если вы используете sed или awk, прочитайте о «расширенных регулярных выражениях»). Они также дают вам возможность сказать «хотя бы x, но не более y вхождений предыдущего атома»: {x,y}
.
Теперь у вас есть: ^b\d{3}
с последующим 'cv',
Буквальное соответствие снова, теперь у нас есть ^b\d{3}cv
, за которыми следуют две цифры,
Мы уже рассмотрели это: ^b\d{3}cv\d{2}
.
затем подчеркивание, затем 'release', затем.'Ext '
Опять же, все это должно совпадать буквально, но точка (.
) - это специальный символ. Это означает, что вы должны избежать его с обратной косой чертой: ^\d{3}cv\d{2}_release\.ext
Если оставить обратную косую черту, это будет означать, что имя файла, такое как "b410cv11_test_ext", также будет соответствовать, что может быть или не быть проблемой для вас.
Наконец, если вы хотите гарантировать, что после ".ext" больше ничего нет, закрепите точку до конца, чтобы соответствовать, используйте знак доллара ($
).
Таким образом, полное регулярное выражение для вашей конкретной задачи будет:
^b\d{3}cv\d{2}_release\.ext$
Легко.
Какой бы язык или библиотеку вы ни использовали, где-то в документации должна быть ссылка, которая покажет вам, каким должен быть точный синтаксис в вашем случае. Как только вы научитесь разбивать проблему на подходящее описание, шаг за шагом к вам придет понимание более продвинутых конструкций.