텍스트 파일을 만들고 그 안에 이메일 주소를 몇 개 넣었습니다. 그런 다음 나는 그들을 찾기 위해 노력합니다. 그것은 작동합니다 :
# pattern="^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-z]{2,}"
# grep -E $pattern regexfile
그러나 확장 정규식에 대해 -E 옵션을 유지하는 한. -E 옵션 없이 grep을 사용하려면 위의 정규식을 어떻게 변경해야 합니까?
답변1
이메일 주소를 일치시키는 것은 현재 가지고 있는 것보다 훨씬 더 어렵습니다. 바라보다 "정규식 마스터하기" 책에서 발췌
*
그러나 귀하의 질문에 대답하려면 기본 정규식의 수량자는 , \+
또는 \{m,n\}
(백슬래시 포함) 중 하나 여야 합니다.
pattern='^[a-zA-Z0-9]\+@[a-zA-Z0-9]\+\.[a-z]\{2,\}'
grep "$pattern" regexfile
패턴 변수를 인용해야 합니다.