У меня есть следующий код и вы можете посмотреть множество примеров, но не можете понять, что я делаю неправильно. Я знаю, что регулярное выражение работает (см. https://regex101.com/r/cB9hN1/1) - просто не в моем сценарии bash. Это для git update hook, но, очевидно, я делаю что-то неправильно! Вот что у меня есть:Bash Script Regular Expression Issue
regex='ref:(|)([D]|[U])([E]|[S])(\d+)';
string="My commit ref: US2233556"
if [[ $string =~ $regex ]];
then
echo "[SUCCESS] Your message contains ref: for a Story or Defect."
exit 0
else
echo "[POLICY] Your message is not formatted correctly. Please include a \"ref: USXXXXX\" or \"ref: DEXXX\" in the commit message."
exit 1
fi
Буду признателен за любую помощь! Спасибо!
Используйте 'regex = 'ref :(|) ([DU]) ([ES]) ([0-9] +)';'. –