Учитывая: 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, поэтому он не может просто соответствовать подстроке.