0
在bash中,如何檢查字符串變量是否與給定的正則表達式匹配?它應該是最快和最便攜的(OS X,Linux)方法。bash中的正則表達式匹配
基本上我想:
if [ $MY_VAR matches '[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}' ]; then
echo 'matched'
fi
在bash中,如何檢查字符串變量是否與給定的正則表達式匹配?它應該是最快和最便攜的(OS X,Linux)方法。bash中的正則表達式匹配
基本上我想:
if [ $MY_VAR matches '[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}' ]; then
echo 'matched'
fi
這將是,
if [[ $MY_VAR =~ [A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12} ]]; then
echo 'matched'
fi
中,爲了做一個確切的字符串匹配,需要添加錨點。
$MY_VAR =~ ^[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}$