Tyi*_*ilo 3 regex bash if-statement
可能重复:
如何在bash脚本中使用正则表达式?
为什么这不起作用?
if [[ "foo" =~ "[f][o][o]" || "foo" =~ "(foo)" || "foo" =~ ".*" ]]
then
echo "Success"
else
echo "Fail"
fi
# Result: Fail
# Expected: Success
if [[ "foo" =~ "foo" ]]
then
echo "Success"
else
echo "Fail"
fi
# Result: Success
# Expected: Success
Run Code Online (Sandbox Code Playgroud)
从每个正则表达式中删除引号:
if [[ "foo" =~ [f][o][o] || "foo" =~ (foo) || "foo" =~ .* ]]
then
echo "Success"
else
echo "Fail"
fi
Run Code Online (Sandbox Code Playgroud)
显然,引号强制正则表达式被解释为文字字符串.