Я довольно новичок в bash сценариях и регулярных выражениях, но я пытаюсь учиться. Пока я получил это:
regexBranchPattern="[A-Za-z0-9_]+"
while [[ ! $branch_name =~ $regexBranchPattern ]]; do
echo "Specify a branch name"
read -r branch_name
if [[ ! $branch_name =~ $regexBranchPattern ]]; then
echo "Branch name can only conatin letters, numbers, and \"_\"."
fi
done
Это близко, но не совсем то, что я хочу. Я хочу иметь возможность принимать все буквы, цифры, "_" и "-", но отклонять все остальное.
РЕДАКТИРОВАТЬ: здесь конкретно то, что я хочу разрешить: - может содержать числовые значения, но начинаться с цифры - должен содержать символы - может содержать только специальные символы "_" и "-", но не может начинаться с
. Вот несколько примеров недопустимых имен ветвей:
4idu
testing/here
-branch_name
Вот несколько примеров правильных названий веток:
test-feature
feature_test
feature1-test
Любая помощь приветствуется.