BASH检查变量是否匹配(或不匹配)regexpr

时间:2016-09-22 13:50:01

标签: regex bash if-statement

我需要一个帮助来找出如何检查变量是否与定义的正则表达式匹配。假设我有VAR1="Abcd,1234"并且所有vars都必须匹配regexpr。如我们所见,我的var不匹配,因为它有一个逗号,所以如何检查? 我在下面创建了if语句,但没有用:

IF [[ ${VAR1} == ^[a-zA-Z0-9`~!@#$%^&*()_+-={}|[]:";'?] ]]

感谢。

1 个答案:

答案 0 :(得分:0)

#!/bin/bash

regex="^[^,]*[^ ,][^,]*$"
var="$1"

if [[ "$var" =~ $regex ]]
then
    echo "matches";
else
    echo "doesn't match!";
fi

检查一些字符串没有逗号..