gpt4 book ai didi

Bash 正则表达式,否则

转载 作者:行者123 更新时间:2023-12-01 22:54:58 25 4
gpt4 key购买 nike

在 Bash 中,我试图检查字符串的格式是否正确。

#!/bin/bash

COMMIT_MSG="release/patch/JIRA-123"

[[ $COMMIT_MSG =~ 'release\/(major|minor|patch)\/[A-Z\d]+-\d+' ]] && echo "yes" || echo "no"

这是我用来匹配字符串的正则表达式,因为 patch 可以是 majorminorJIRA- 123 是 Jira Ticket ID,但在 Bash 正则表达式中尝试时,它总是返回 no

最佳答案

Bash 是称为“Extended Regular Expression”的正则表达式的简化版本。 \d 不存在,所以使用 [0-9] 代替。

此外,您不应在条件中引用正则表达式。

[[ $COMMIT_MSG =~ release/(major|minor|patch)/[A-Z0-9]+-[0-9]+ ]] && echo "yes" || echo "no"

关于Bash 正则表达式,否则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73492617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com