小编LAL*_*LAL的帖子

正则表达式:bash 3 vs bash 4

带有正则表达式检查的跟随代码不会在bash 3和bash 4之间输出相同的结果:

TESTCASE="testcase0"
[[ ${TESTCASE} =~ "^testcase[0-9\.]*$" ]]
echo $?
echo ${BASH_REMATCH}
Run Code Online (Sandbox Code Playgroud)

bash 3.2输出一个成功的正则表达式检查:

0
testcase0
Run Code Online (Sandbox Code Playgroud)

bash 4.1未通过正则表达式检查:

1
<empty line>
Run Code Online (Sandbox Code Playgroud)

我无法确定表达式失败的正则表达式模式中的哪个位置.我需要两个版本的bash兼容的代码.

有谁知道我的问题是什么?

谢谢 !

regex linux bash shell bash4

2
推荐指数
1
解决办法
1364
查看次数

标签 统计

bash ×1

bash4 ×1

linux ×1

regex ×1

shell ×1