【发布时间】:2016-08-17 13:44:51
【问题描述】:
所以我有这个代码
function test(){
local output="ASD[test]"
if [[ "$output" =~ ASD\[(.*?)\] ]]; then
echo "success";
else
echo "fail"
fi;
}
正如您所见,它应该回显成功,因为字符串与该正则表达式匹配。然而,这最终返回失败。我做错了什么?
【问题讨论】:
-
在你的 if 条件下,$output 应该不带引号
-
@Manish 试过没用
-
检查这个:- ideone.com/c1ojBS 它的工作
-
是的,它不起作用,因为您的正则表达式也不正确。你真正想要什么?
-
@Manish 正则表达式是正确的以及代码正在运行..不理解 OP 的问题
标签: regex bash shell scripting