grep의 기본 정규식에서 이메일 일치 정규식은 무엇입니까?

grep의 기본 정규식에서 이메일 일치 정규식은 무엇입니까?

텍스트 파일을 만들고 그 안에 이메일 주소를 몇 개 넣었습니다. 그런 다음 나는 그들을 찾기 위해 노력합니다. 그것은 작동합니다 :

# 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

패턴 변수를 인용해야 합니다.

관련 정보