使用正则表达式检查的以下代码在bash 3和bash 4之间输出的结果不相同:
TESTCASE="testcase0"
[[ ${TESTCASE} =~ "^testcase[0-9\.]*$" ]]
echo $?
echo ${BASH_REMATCH}
bash 3.2 输出正则表达式检查成功的结果:
0
testcase0
bash 4.1无法通过正则表达式检查:
1
<empty line>
我无法确定正则表达式模式中哪些表达式失败了。我需要一段适用于两个版本的bash的代码。
有人知道我的问题是什么吗?
谢谢!