패턴을 채택하다
[UGLER]*
문자열 UUG가 일치할 수 있나요? 즉, 중복이 허용되나요?
답변1
원칙적으로 그렇습니다. 그러나가능한사용하는 정규식 스타일에 따라 다릅니다. 적어도,갈아 바수다,오히려그리고폴리 메라 제 연쇠 반응모두 문자열과 일치합니다. 표현의 [UGLER]*
뜻은U, G, L, E 또는 R 그룹에서 0개 이상의 연속 문자와 일치합니다..
다양한 정규식 유형에 대해 쉽게 테스트할 수 있습니다.
갈아 바수다
$ echo UUG | grep '[UGLER]*' UUG
오히려
$ echo UUG | grep -E '[UGLER]*' UUG
폴리 메라 제 연쇠 반응
$ echo UUG | grep -P '[UGLER]*' UUG
물론, 당신이 찾고 있기 때문에영또는 그 이상으로 예상하지 못한 것과도 일치합니다.
$echo "foobar" | grep '[UGLER]*'
foobar
사용 중인 정규식 스타일이 이를 지원하는 경우 +
대신 를 사용하십시오 *
. 예를 들어 PCRE를 사용하십시오.
$echo -e "UUG\nfoobar" | grep -P '[UGLER]*'
UUG
foobar
$echo -e "UUG\nfoobar" | grep -P '[UGLER]+'
UUG
답변2
패턴이 정규 표현식이 아닌 파일글로브 패턴이라고 가정하면 "UUG"라는 파일 이름과 일치합니다. 이 패턴은 U, G, L, E 또는 R로 시작하는 모든 파일과 일치합니다.
직접 테스트해 볼 수 있습니다.
touch UUG
ls -l [UGLER]*
패턴이 정규 표현식이면 일치합니다.어느0개 이상의 [UGLER] 인스턴스와 일치하기 때문에 문자열입니다. 0개 이상이 아닌 1개 이상을 일치시키려면 +
대신 사용하십시오.*