regex - BASH:是否有一种简单的方法来检查字符串是否是有效的 SHA-1(或 MD5)散列?

标签 regex bash

这一切都在标题中。

分阶段解决问题的另一种方法是:在 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/

相关文章:

php - 在正则表达式中正确转义 URL 斜杠

javascript - 检查第一个字符是否是数字 - Discord.js

bash - 如何找到出现在括号之间的所有单词?

linux - 编写脚本以使用预定义密码创建多个用户

linux - Bash 脚本在相对路径目录中找不到文件

git - Bash - 用于分支管理的 GIT 小片段

javascript - 正则表达式替换引号和小于、大于符号

PHP 从 url 获取版本

python - 如何使用正则表达式删除python字符串中的特定模式?

bash - Sox 批量转换