정규식에서 [0-9]*의 역할

정규식에서 [0-9]*의 역할

의 기능은 무엇입니까?[0-9]*다음 명령문에서는 짝수로 시작하고 뒤에 공백이 오는 모든 줄을 Even 파일에 씁니다.

sed -n /^[0-9]*[02468] //w 짝수' <파일

그러면 제거는 [0-9]*동일한 기능/출력을 갖게 됩니다. 즉, 두 진술의 효과는 동일합니다.

sed -n 's/^[02468] /&/w even' <file

여기 유용하지 않나요 [0-9]*? 정말 혼란스러워요. 도와주세요.

답변1

이는 [0-9]*쓸모가 없습니다. [02468]짝수 범위( ) 앞에 나타나는 모든 숫자(0-9)와 일치합니다. 이는 여러 자리 짝수를 설명하기 위한 것입니다.

^[0-9]*예를 들어 패턴의 시작 부분에 고정 하지 않으면 다음과 일치하지 않습니다.

92
910
308
20

언급한 다른 패턴( /^[02468]/)은 다음 패턴에만 일치합니다.시작짝수입니다.

관련 정보