У меня есть это регулярное выражение, которое отлично работает с моими желаемыми шаблонами соответствия на https://regex101.com/ (Python).Проблема в том, что мне нужно интегрировать его в сценарий оболочки, который вызывается из GitBash в Windows 7, но он не работает должным образом по сравнению с тем, когда я тестирую его в Интернете.
pattern='^([a-z][\-a-z0-9_/\.]*)?([A-Z]{3,10}\-[0-9]+([\-a-z0-9_/\.]+)?)?$'
пример использования:
if [[ ! $name =~ $pattern ]]; then ...
Соответствующие строки:
- abc / this-is / my.test1
- abc / ABC-12345
- ABC-12345
- ABC-12345 / тест
- ABC-12345 / 1.0
- aabcd / ABC-123 / 1.0
- abcd / abc-1234
Блокируемые строки:
- abc / THIS-is /my.test1
- 1.0 / abc / this-is / my.test1
- Abcd_10 / ABCD-12345
- ABCD-12345 / ABC-123
- abcd / ABCd-1234
- abc / THISISAVERYLONGEXAMPLE-1234
Моя версия bash
$ bash --version
GNU bash, version 4.4.19(2)-release (x86_64-pc-msys)
Copyright (C) 2016 Free Software Foundation, Inc.
Может ли кто-нибудь мне помочь?Спасибо!