Regex不匹配,即使匹配bash中的精确值


echo "Hello World";
string="v13.2.exe"
pattern='^v[0-9]*.[0-9]*.exe$'
if  [[ $str =~ pattern ]]; then
echo "found"
else
echo "not found"
fi

它总是找不到打印。出了什么问题

在一种情况下($str(,您没有使用您定义的变量($string(。在另一个(pattern(中,您缺少$符号($pattern(。尝试

string="v13.2.exe"
pattern='^v[0-9]*.[0-9]*.exe$'
if  [[ $string =~ $pattern ]]; then
echo "found"
else
echo "not found"
fi
found

最新更新