如何取得「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 的兩端,因此它不能只匹配子字串。

相關內容