소문자와 숫자가 포함된 것을 찾고 싶다면 쉽습니다.
텍스트 생성 | grep -E '[0-9a-z]'
괄호는 문자 집합을 일치시키는 데 유용하지만 다소 특수한 문자는 어떻습니까?
원하는 경우 대괄호 일치를 사용하세요.어느특징하지만]
닫는 괄호 , 대시(또는 하이픈) "-", 슬래시 /
, \
캐럿 ^
, 콜론 중 하나입니다 :
.
이렇게 보입니까(이것이 작동하지 않을 것이라는 것을 압니다)?
[^]-/\^:]
답변1
리터럴 ]
및 -
리터럴 과 일치합니다.대괄호 표현다음과 같이 사용해야 합니다.
[^]/\^:-]
아니면 더 나은 이유는일부 도구에는 이스케이프 백슬래시가 필요합니다.:
[^]/\\^:-]
그건
오른쪽 대괄호( ']' )가 목록의 첫 번째에 나타나면(머리글자 '^' 뒤에) 특별한 의미를 잃고 대괄호 표현식으로 표현됩니다.
그리고
하이픈 빼기 문자가 목록의 첫 번째(있는 경우 초기 "^" 다음) 또는 마지막에 나타나는 경우 해당 문자 자체로 처리됩니다.
그러므로
대괄호 표현식이 "-"와 "]"를 모두 지정하는 경우 대괄호 표현식에서 "]"를 먼저 배치하고(있는 경우 "^" 다음) "-"를 마지막에 배치해야 합니다.
대괄호 표현식의 규칙은 다음과 같습니다.오히려그리고갈아 바수다.
답변2
아마도 이상하게도 특정 장소에는 여러 캐릭터가 있어야 합니다. 당신은 ]
세트의 첫 번째 캐릭터 여야 하며 , -
세트의 마지막 캐릭터여야 합니다.
귀하의 요구 사항을 충족하는 RE는 다음과 같습니다 [^]\^/-]
. ::
echo 'Hello[world]-[sun] ^^ 4/5 or 3\4' | grep -Eo '[^]\^/-]' | xargs
H e l l o [ w o r l d [ s u n 4 5 o r 3 4