콜론으로 구분된 키-값 쌍을 추출하기 위해 `expr match`를 얻는 방법은 무엇입니까?

콜론으로 구분된 키-값 쌍을 추출하기 위해 `expr match`를 얻는 방법은 무엇입니까?

주어진: myvar="present-value: 1", 나는 expr match "$myvar" '\([0-9]\)'출력할 것으로 예상합니다 1. 그러나 대신 공백을 출력하고 일치 항목이 없음을 나타내는 0이 아닌 상태 코드로 종료됩니다.

어떻게 일치시킬 수 있나요?

답변1

이것은 나를 위해 일했습니다

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

산출:

4

답변2

exper매뉴얼 페이지 에 따르면 match은 입니다 anchored pattern match of REGEXP in STRING. REGEX는 STRING의 양쪽 끝에 고정되어 있으므로 하위 문자열만 일치시킬 수는 없습니다.

관련 정보