저를 만들게 한 일은 포워딩된 이메일 체인 40 개의 메시지 깊이로 도착했습니다. 한 클라이언트는 6 개월 스레드에 복사된 모든 사람의 단일 목록을 원했고,그렇게 해서 그룹을 적절한 메일링 리스트에 마이그레이션할 수 있었습니다. 모든 주소가 거기에 묻혀 있었습니다 To: 그리고 Cc: 선,서명, 인용된 답글,때로는 세 번 이상. 손으로 스크롤하고 복사하는 것은 오후가 될 예정이었고 여전히 몇 가지를 놓치고 몇 가지를 더 복제했습니다. 실제로 필요한 것은 텍스트의 전체 블록을 읽고 그 안에있는 모든 이메일 주소를 찾고 중복 된 내용을 버리고 깨끗한 목록을 건네주는 것입니다 이메일 추출기그리고 이 가이드에서는 작동 방식과 일치하는 문제의 지루한 세부 사항이 왜 발생하는지 설명합니다.
TL;DR: 이메일 추출기는 텍스트 블록을 스캔하고 포함된 모든 이메일 주소를 꺼내 복사할 수 있는 중복 제거된 목록을 반환합니다. Toolz 도구는 더 나아가 동일한 엔진으로 동일한 텍스트에서 URL,전화 번호 및 IPv4 주소를 추출하여 선별된 정규 표현식과 일치하고 대소문자를 구분하지 않고 중복된 내용을 축소하며 출력을 정렬하고 소문자를 지정할 수 있습니다. 모든 것이 클라이언트 측에서 실행됩니다: 업로드 없음,가입 없음,오프라인으로 작동합니다.
나는 Laravel 과 React 에 SaaS 제품을 구축하고 나는 워드 프레스 플러그인을 발송,그 작업의 놀라운 금액은 구조화되지 않은 텍스트를 구조화 된 목록으로 전환하고있다. 지원받은 편지함 내보내기,긁힌 페이지,로그 파일,붙여 넣은 문서: 그들은 모두 당신이 그 주위에 소음으로 원하는 데이터를 혼합합니다. 그 소음에서 주소,링크 또는 IP 를 끌어내는 것은 당신이 끊임없이하는 작은 작업이며,반 기억하고 매번 다시 입력하는 정규 표현식으로 수행하는 것은 정확히 브라우저 도구가 제거해야하는 마찰입니다. 그래서 이것은 내가 오후에 있었으면 좋겠다 가이드입니다 마흔 메시지 체인이 내 무릎에 착륙.
이메일 추출기란 무엇입니까?
이메일 추출기는 자유 텍스트를 읽고 그 안에 있는 모든 이메일 주소를 목록으로 반환하는 도구입니다. 이메일 스레드,웹 페이지,CSV 덤프,채팅 로그 또는 소스 코드 페이지 등 텍스트 블록을 붙여넣으면 도구는 이메일의 모양을 인식하는 패턴을 사용하여 각 주소를 찾습니다: 로컬 부분,at sign,유효한 최상위 도메인으로 끝나는 도메인 텍스트를 직접 읽고 주소를 한 번에 하나씩 복사하는 대신 중복을 제거한 전체 세트를 한 번에 얻을 수 있습니다.
툴즈 이메일 추출기 은 의도적으로 이메일보다 더 많은 것입니다. 동일한 검색 엔진은 http 및 https URL,전화 번호 및 IPv4 주소를 추출 할 수 있습니다. 왜냐하면 동일한 클래스의 문제이기 때문입니다: 텍스트 벽에서 알려진 패턴의 모든 발생을 찾아서 깔끔하게 나열하십시오. 그것은 단일 트릭 도구가 아닌 일반적인 추출 유틸리티가됩니다. 핵심 아이디어는 네 가지 유형 모두에서 일정합니다. 유효한 일치가 어떻게 보이는지에 대한 정확한 패턴을 정의하고,중복되지 않는 모든 발생에 대해 텍스트를 스캔 한 다음,깨끗하고 중복을 제거하고 선택적으로 결과를 필요한 곳에 붙여 넣을 수있는 목록으로 정렬합니다.
그냥 눈알을 대거나 find-in-page를 사용하는 것은 어떨까요?
두 방법 모두 가장 중요한 방식으로 실패하기 때문입니다. 텍스트를 읽고 주소를 손으로 복사하는 것은 느리고 더 나쁜 것은 신뢰할 수 없습니다: 서명 블록 안에 집어 넣은 주소를 놓치고 인용 된 답장에서 동일한 것을 두 번 복사하며 얼마나 많은 것을 끝내야했는지 알 수있는 방법이 없습니다. 입력이 클수록 확률은 더 나빠지며 추출이 필요한 입력은 일반적으로 큰 것입니다.
브라우저 find-in-page 는 이 점이 더 좋지 않습니다. 이미 알고 있는 문자열에 대한 일치 항목을 강조 표시하지만 추출의 전체 포인트는 주소를 미리 알지 못하기 때문에 검색할 것이 없습니다. 필요한 것은 정확한 문자와 상관없이 이메일의 모양과 일치하는 패턴이며,정확히 정규식이 제공하는 것입니다. 해당 표현식을 올바르게 작성하는 것은 그 자체의 작은 기술이며,약간 잘못 얻는 것은 유효한 주소를 놓치거나 하나처럼 보이는 정크를 잡는 것을 의미합니다. 전용 추출기는 테스트된 패턴을 구워서 다시 입력할 필요가 없으며 복사한 목록이 신뢰할 수 있는 목록이 되도록 중복 제거와 페어링합니다. 패턴 자체를 이해하거나 조정하려면 regex 테스터 자신의 표현식을 붙여넣고 샘플 텍스트와 일치하는 것을 실시간으로 볼 수 있습니다.
이메일이 얼마나 정확하게 일치합니까?
추출기가 유용한지 성가신지를 결정하는 질문이므로 정확하게 말할 가치가 있습니다. 이메일 주소 형식은 다음과 같이 정의됩니다 RFC 5322그리고 전체 문법은 바로크 양식으로 유명합니다. 공백이 있는 인용된 로컬 부분,괄호 안의 주석 및 기술적으로 유효하고 실제 데이터에는 한 번도 나타나지 않는 기타 형식을 허용합니다. 전체 RFC 와 일치시키려는 정규식은 엄청나며 실제로는 좋은 것보다 더 많은 해를 끼칩니다. 메일 서버가 절대 허용하지 않는 문자열과 일치하기 시작하기 때문입니다.
Toolz 추출기는 업계가 정착한 실용적인 부분 집합을 사용합니다: 문자,숫자 및 공통 구두점의 로컬 부분,부호에서의 부호,최소 두 글자의 최상위 도메인으로 끝나는 점선 도메인. 이것은 대부분의 검증 라이브러리가 사용하는 모양과 동일하며 노이즈를 거부하면서 사람들이 실제로 가지고 있는 주소와 고의적인 거래입니다. 이메일처럼 보이지만 그렇지 않은 양식에서 오탐지를 피하기 위해 발생하지 않는 이국적인 양식 일치를 포기합니다. 전체 작업인 실제 문서에서 주소를 빼내는 경우 해당 거래가 올바른 것입니다. 도구도 정직합니다: 동일한 추론이 단일 전역 형식이 없는 전화번호에도 적용되므로 패턴이 의도적으로 광범위하고 때로는 전화번호가 아닌 긴 번호를 포착하므로 전화 결과를 검토하는 것이 잠시 가치가 있는 이유입니다.
도구를 사용하여 텍스트에서 이메일을 추출하려면 어떻게 해야 합니까?
흐름은 약 10초 정도 소요됩니다. 입력 상자에 텍스트를 붙여넣거나 샘플 로드를 클릭하면 이메일, URL, 전화번호 및 IP 주소가 모두 혼합된 실제 예제를 볼 수 있습니다.
상단의 버튼 행을 사용하여 추출할 항목을 선택하십시오: 이메일 주소,URL, 전화 번호,IPv4 주소 또는 숫자. 도구는 해당 유형에 대해 일치하는 패턴을 적용하고 다른 모든 것을 무시합니다. 그런 다음 목록 옵션을 설정합니다. " 를 남겨주세요;duplicates" 제거; on 반복 된 일치를 단일 항목으로 축소하려면 거의 항상 원하는 것입니다. " 를 켜십시오;Sort" 목록을 알파벳 순서로 주문하거나 숫자를 추출 할 때 값으로 "Lowercase" 이메일과 URL 을 정상화하려면 그렇게 [email protected] 그리고 [email protected] 는 하나의 주소로 취급됩니다. 결과가 결합되는 방법을 선택하십시오: 수직 목록의 새 줄,CSV 셀의 쉼표 또는 a To: 이를 기대하는 메일 클라이언트를 위한 필드, 공간 또는 세미콜론입니다.
추출을 클릭하면 일치하는 항목이 몇 개나 발견되었고 중복된 항목이 몇 개나 제거되었는지를 계산하여 결과가 나타납니다. 목록을 복사하여 필요한 곳에 붙여넣습니다. 이것이 전체 루프이며 즉시 실행되기 때문에 동일한 텍스트의 추출 유형 간에 뒤집어서 아무것도 다시 붙여넣지 않고도 이메일을 가져온 다음 URL,IP 를 가져올 수 있습니다.
무엇을 추출할 수 있으며, 각각은 언제 사용하나요?
4 가지 추출 유형은 텍스트 내부에 가장 자주 숨겨지는 데이터를 다룹니다. 여기에 각자가 일치하는 내용과 상황이 있습니다.
| 유형 | 일치 | 일반적인 사용 |
|---|---|---|
| 이메일 주소 | [email protected] 실용적인 RFC 하위 집합에서 |
스레드에서 메일링 리스트를 구축하고 내보내기에서 연락처를 가져옵니다 |
| URL | http:// 그리고 https:// 링크, 후행 구두점이 잘렸습니다 |
감사를 위해 페이지나 문서에서 모든 링크를 수집합니다 |
| 전화번호 | 공백, 대시, 점 또는 괄호가 있는 7+ 자리 실행 | 스크랩되거나 붙여넣어진 텍스트에서 연락처 번호를 수집합니다 |
| IPv4 주소 | 각 옥텟이 0-255로 제한된 점선 쿼드입니다 | 로그 파일이나 구성 덤프에서 주소를 가져옵니다 |
| 숫자 | 수천 개의 구분 기호가 있는 부호 있는 정수와 소수입니다 | 보고서나 텍스트로 붙여넣은 표에서 수치를 추출합니다 |
이메일과 URL 유형은 내가 가장 많이 도달하는 유형으로,보통 함께: 연락처 목록을 구축하기 위해 이메일을 추출한 다음 URL 로 전환하여 동일한 문서 참조의 모든 링크를 감사합니다. IPv4 유형은 서버 로그를 읽고 자연스럽게 짝을 이루는 엔드포인트에 도달하는 고유한 주소 세트를 원할 때 그 자리를 차지합니다 URL 파서 그런 다음 해당 요청을 더 세분화해야 할 때 숫자 유형은 홀수 유형이지만 스프레드시트 대신 일반 텍스트로 붙여넣은 보고서에서 수치를 제거하는 데 실제로 유용합니다. 어느 것을 선택하든 중복 제거 및 정렬 옵션은 동일한 방식으로 작동하므로 출력은 항상 원시 일치가 아닌 깨끗하고 정렬된 목록입니다.
여기서 중복 제거는 실제로 어떻게 작동합니까?
케이싱을 고려할 때까지 중복 제거는 사소한 것처럼 들립니다. 동일한 person's 주소는 다음과 같이 나타날 수 있습니다 [email protected] 하나의 서명으로 그리고 [email protected] 인용된 답글에서,그리고 문자열을 정확히 비교하는 순진한 중복 제거는 둘 다 유지할 것입니다. 그것은 잘못된 것입니다: 이메일 로컬 부분은 모든 실제 메일 시스템에서 대소문자를 구분하지 않으며 도메인은 정의에 따라 대소문자를 구분하지 않습니다. 따라서 추출기는 두 일치 항목이 동일한지 여부를 결정할 때 이메일과 URL 을 대소문자를 구분하지 않습니다. 즉,소문자 옵션을 켜지 않은 경우에도 해당 두 철자가 하나의 항목으로 축소됩니다.
이 도구는 또한 무엇을했는지 알려줍니다. 결과 위의 카운트는 총 몇 개의 일치 항목과 제거 된 중복 항목을 모두 보여 주므로 중복 제거로 인해 목록이 축소되었는지 또는 입력이 생각보다 작았 기 때문에 결코 추측 할 수 없습니다. 케이싱이 관련이없는 숫자와 IP 주소의 경우 비교가 정확합니다. 이것은 작동 할 때 보이지 않고 작동하지 않을 때 분노하는 종류의 세부 사항이며,평원으로 떠나는 것보다 올바르게 얻을 가치가있는 이유입니다 Set 원시 문자열의. 만약 당신의 직업이 정말 어떤 값이 산문에서 그들을 끌어 내기보다는 하나의 목록에 표시되지만 다른 목록에 나타나지 않는 것에 관한 것이라면,the 두 목록 도구 비교 열에 산술을 설정하며 해당 특정 질문에 더 적합합니다.
온라인에서 민감한 텍스트에서 추출하는 것이 안전합니까?
이 도구의 경우,예, 그리고 그 이유는 믿음에 걸릴해야하는 정책보다는 그것이 구축되는 방법입니다. 붙여 넣기 텍스트는 자바 스크립트와 함께 자신의 브라우저에서 완전히 스캔됩니다. 업로드가없고,서버 왕복 여행이 없으며,아무것도 기록되거나 저장되지 않습니다. 당신은 당신의 browser's 네트워크 탭을 열고 추출을 클릭하여 확인할 수 있습니다: 어떤 요청이 페이지를 떠난다. 페이지가로드되면 당신은 오프라인으로 갈 수 있으며 계속 작동합니다.
이것은 거의 모든 종류의 도구보다 추출에 더 중요합니다. 붙여 넣는 텍스트는 유출하고 싶지 않은 데이터로 가득 차있는 경우가 많기 때문입니다. 이메일 스레드에는 개인 주소가 포함되어 있고 로그 파일에는 내부 IP 주소와 호스트 이름이 포함되어 있으며 붙여 넣은 문서에는 전화 번호와 이름을 처리하기 위해 해당 텍스트를 서버에 업로드하는 추출기는 아무리 좋은 의도를 가지고 있어도 개인 서신을 다른 사람's 서버 로그로 바꿉니다. 클라이언트 측 처리는 루트의 위험을 제거합니다: 텍스트는 기계를 떠나지 않습니다. 그 기본값은 Toolz.dev 의 모든 도구에서 고의적이며 전체 인수를 배치했습니다 온라인 도구에 대한 데이터 개인 정보 보호 가이드 깊이 있는 추론을 원한다면요. 이 작은 유틸리티들이 어떻게 작업 키트에 어울리는지 더 넓게 보려면,제 개발자 생산성 도구 가이드 조각들을 걷는다.
알만한 가치가 있는 한계는 무엇입니까?
한계에 대해 똑바로하는 것은 도구를 신뢰하는 것의 일부이므로 여기에 정직한 가장자리가 있습니다. 이메일 패턴은 전체 문법이 아닌 RFC 5322 의 실용적인 하위 집합과 일치하므로 기술적으로 유효하지만 인용 된 로컬 부분이나 주석이있는 이국적인 주소가 누락됩니다. 그것은 거짓 긍정을 피하기위한 고의적 인 선택이며,본질적으로 실제 주소에 영향을 미치지 않지만 한계이며 존재한다는 것을 알아야합니다. 전화 번호는 보편적 인 형식이 없기 때문에 5 가지 유형 중 가장 느슨합니다; 패턴은 공통 구분 기호가있는 7 자리 이상의 숫자 실행을 찾습니다. 즉,전화 번호가 아닌 긴 식별자를 가끔 잡을 수 있으므로 전화 결과를 한눈에 보는 것은 두 번째로 가치가 있습니다.
추출기는 바이너리 파일이 아닌 텍스트에서도 작동합니다. PDF 또는 Word 문서가 있는 경우 해당 텍스트를 복사하고 붙여넣기; 도구는 파일 형식 자체를 읽을 수 없습니다. 그리고 모든 것이 브라우저 메모리에서 실행되기 때문에 진정으로 엄청난 입력은 도구가 아닌 브라우저에 의해 제한됩니다. 하지만 이메일,링크 및 IP 의 경우 사람들은 실제로 천장이 귀하가 치는 것보다 훨씬 높다고 추출합니다. 이러한 제한 중 어느 것도 정상적인 사용에서 물지 않습니다. 이를 아는 것은 도구를 자신있게 사용하는 것과 엣지 케이스에 놀라지 않는 것의 차이일 뿐입니다.
자주 묻는 질문
텍스트에서 이메일 주소를 추출하려면 어떻게 해야 하나요? 텍스트를 에 붙여넣습니다 이메일 추출기 그리고 유형을 이메일 주소로 설정합니다. 이메일 패턴으로 텍스트를 스캔하고,찾은 모든 주소를 나열하고,중복 항목을 제거하고,깨끗한 목록을 복사할 수 있습니다. 가입이나 업로드가 필요하지 않으며,로드되면 오프라인으로 작동합니다.
URL과 전화번호도 추출할 수 있나요? 예. 추출 유형을 URL,전화 번호,IPv4 주소 또는 숫자로 전환합니다. 동일한 엔진이 각 유형에 대해 다른 패턴을 적용하므로 한 도구는 동일한 텍스트 블록에서 여러 추출 작업을 다시 붙여 넣지 않고 처리합니다.
중복된 이메일을 제거합니까? 예,remove-duplicates 옵션이 켜져 있을 때. 반복되는 일치 항목이 단일 항목으로 축소되고 도구는 제거된 중복 항목 수를 보고합니다. 이메일과 URL 은 대소문자를 구분하지 않고 일치하므로 다른 문자 케이스의 동일한 주소가 하나로 처리됩니다.
이메일이 얼마나 정확하게 일치합니까? 패턴은 실제 데이터에서 보이는 이메일 주소의 실용적인 하위 집합과 일치합니다: 로컬 부분, at 기호 및 유효한 최상위 도메인으로 끝나는 점선 도메인. 실제로 나타나지 않는 이국적인 형태를 허용하고 이메일처럼 보이는 문자열에서 잘못된 일치를 생성하는 전체 RFC 5322 문법을 구현하지 않습니다.
왜 일부 전화번호가 이상하게 일치합니까? 전화번호는 단일 전역 형식이 없으므로 패턴은 공백,대시, 점 또는 괄호로 일곱 자리 이상의 숫자 실행을 찾습니다. 이는 의도적으로 넓어서 때때로 전화번호가 아닌 긴 번호를 잡을 수 있으므로 혼합 텍스트에서 전화번호를 추출할 때 결과를 검토할 가치가 있습니다.
추출된 목록을 정렬할 수 있나요? 예. 정렬 옵션을 켜서 목록을 알파벳순으로 정렬하거나 숫자를 추출할 때 숫자 값으로 정렬합니다. remove-duplicates 옵션과 결합하여 복사할 준비가 된 깔끔하고 정렬된 중복 없는 목록을 가져옵니다.
결과를 어떤 형식으로 복사할 수 있나요? 새 줄,쉼표, 공백 또는 세미콜론으로 일치 항목을 조인할 수 있습니다. 세로 목록의 경우 새 줄을 선택하고 CSV 셀 또는 To 필드의 경우 쉼표를 선택하고 일부 메일 클라이언트의 경우 세미콜론을 선택합니다. 출력 위의 개수는 추출된 일치 항목 수를 나타냅니다.
추출된 데이터는 아무데나 올라와 있나요? 아니요. 텍스트는 JavaScript 로 브라우저에서 로컬로 스캔됩니다. 아무것도 전송,로그 또는 저장되지 않으며 도구가 로드된 후에도 오프라인으로 계속 작동하므로 추출하는 동안 네트워크 탭을 보고 확인할 수 있습니다.



