这一切都在标题中。
分阶段解决问题的另一种方法是:在 BASH 中,检查字符串是否为 [0-9]
范围内的 40(或 32)个字符序列的简洁方法是什么和[a-f]
?
最佳答案
有一个函数:
is_valid() {
case $1 in
( *[!0-9A-Fa-f]* | "" ) return 1 ;;
( * )
case ${#1} in
( 32 | 40 ) return 0 ;;
( * ) return 1 ;;
esac
esac
}
如果 shell 支持 POSIX 字符类 [![:xdigit:]]
可以用来代替 [!0 -9A-Fa-f]
.
关于regex - BASH:是否有一种简单的方法来检查字符串是否是有效的 SHA-1(或 MD5)散列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7662465/