如何获取“expr match”来提取冒号分隔的键值对?

如何获取“expr match”来提取冒号分隔的键值对?

给定:myvar="present-value: 1",我期望expr match "$myvar" '\([0-9]\)'输出1.但是,它会输出空白并以非零状态代码退出,指示不匹配。

我怎样才能让它匹配?

答案1

这对我有用

myvar="present value: 4"
expr match "$myvar" '.*\([0-9]\)'

输出:

4

答案2

根据exper手册页,match适用于anchored pattern match of REGEXP in STRING. REGEX 锚定到 STRING 的两端,因此它不能只匹配子字符串。

相关内容