email.utils.parseaddr()
을 사용하여 이메일 주소를 구문 분석하는 방법을 알고 있습니다. 그러나, 나는 그런이 헤더의 주소 부분 등 여러 개의 이메일 주소의 목록을 구문 분석 할 :python3/email : 쉼표가 포함 된 이메일 주소 목록을 파싱 하시겠습니까?
Cc: "abc" <[email protected]>, "www, xxyyzz" <[email protected]>
, 나는 내가 개별 주소를 얻을 수 \s*,\s*
같은 정규식에 분할 할 수 있습니다 알고있다, 그러나에 예를 들어, 주소 중 하나의 이름 부분에 쉼표가 포함되어 있으므로이 정규 표현식은 헤더를 잘못 분리합니다.
필자는 상태 머신 기반 코드를 수동으로 작성하여 해당 주소를 여러 조각으로 나누는 방법을 알고 있으며 각 전자 메일 주소와 일치하는 복잡한 정규식을 코딩하는 방법도 알고 있습니다. 나는 그러한 코드를 작성하는 데 도움을 요청하지 않습니다. 오히려, 나는이 전자 메일 주소 목록을 적절하게 분리 할 수있는 기존의 파이썬 모듈이 있는지 궁금하여, "바퀴를 다시 발명 할 필요가 없습니다".
미리 감사드립니다.
[email.utils.parseaddr] (https : // doc s.python.org/3.6/library/email.util.html#email.utils.parseaddr) 그렇게하지 못합니까? https://repl.it/Mi08 - 두 번째 이름의 쉼표로 분리하지 않고 (name, email_addr)의 튜플을 반환합니다. – davedwards
파이썬 (버전 3.6.0)의 제 버전에서, 'email.utils.parseaddr (' "abc"<[email protected]> "www, xxyyzz"<[email protected]>')'('abc', '[email protected]')의 첫 번째 튜플 만 반환합니다. '... 그리고 파이썬 2.7.9에서 이것을 시도했을 때도 마찬가지입니다. – HippoMan
아 ... 알겠습니다. 예를 들어, 각 요소에서'email.utils.parseaddr'를 호출하기 전에 머리글을 수동으로 2 요소 목록으로 분할했습니다. – HippoMan