한국어

텍스트 및 일상 도구 · 텍스트 도구 키트

URL 및 이메일 추출이 주소의 끝 위치를 아는 방법

· 작동 방식

텍스트 추출 URL 이메일 주소

주변 구두점과 구분된 URL 및 이메일 일치 항목이 포함된 회의 메모
원본 ToolAcre 벡터 일러스트레이션

산문에서 링크와 주소를 추출할 때 URL이 멈추는 위치와 이메일 패턴이 얼마나 엄격한지 등 두 가지 어려운 결정을 살펴보고 실용적인 패턴이 실제 텍스트에서 전체 RFC 문법을 능가하는 이유를 살펴봅니다.

마침표가 붙은 링크 - 단순 추출이 https://example.com.을 반환하고 링크가 끊어지는 이유

회의 메모에는 문장 끝에 유용한 링크가 있는 경우가 많습니다. `Agenda: https://example.com/roadmap.` 공백이 아닌 모든 문자를 허용하는 검색에는 마지막 마침표가 포함됩니다. 보이는 텍스트는 합리적으로 보이지만 추출된 값은 작성자가 공유하거나 다시 방문하려는 주소와 더 이상 일치하지 않습니다.

ToolAcre는 먼저 HTTP 또는 HTTPS 시퀀스를 찾은 다음 후행 마침표, 쉼표, 세미콜론, 콜론, 느낌표 및 물음표를 제거합니다. 정리는 문서 전체에 적용되지 않고 일치 경계에 의도적으로 첨부됩니다. 초기 패턴에서 허용하는 경우 URL의 다른 위치에서 구두점을 계속 사용할 수 있습니다.

마침표가 첨부된 링크: 추출에서 후행 구두점을 제외해야 하는 이유

URL 패턴은 `http://` 또는 `https://`에서만 시작하고 공백이나 여러 닫는 구분 기호 중 하나가 나타날 때까지 계속됩니다. 따옴표, 꺾쇠 괄호, 닫는 괄호 및 닫는 대괄호는 모두 일치를 중지합니다. 이 규칙을 사용하면 `(https://example.com/notes)`와 같은 구문이 주변 대괄호 없이 주소를 반환할 수 있습니다.

이는 가능한 모든 URI에 대한 일반적인 파서가 아닌 실용적인 경계 규칙입니다. 여는 괄호는 일치 항목 내부에 남아 있을 수 있으며 닫는 괄호는 이를 종료하므로 해당 문자가 실제로 포함된 자체 경로의 주소가 단축될 수 있습니다. 추출기는 일반적인 산문 경계를 선호하고 수동 검토를 위해 특이한 경우를 남겨둡니다.

이메일 일치는 얼마나 엄격해야 합니까? RFC 5322이 기술적으로 허용하는 것과 모든 일치가 실제 텍스트에서 더 나쁜 결과를 생성하는 이유

이메일 추출도 비슷한 절충안을 만듭니다. `@` 앞에 문자, 숫자 및 친숙한 사서함 구두점을 찾은 다음 점과 최소 두 개의 문자가 뒤따르는 도메인과 같은 시퀀스를 찾습니다. 이 패턴은 전체 이메일 문법에서 허용되는 모든 구성을 재현하려고 시도하지 않고 메모에 포함된 일반 주소를 포착합니다.

추출과 검증이 서로 다른 질문에 대답하므로 더 좁은 패턴이 유용합니다. 추출은 구조화되지 않은 텍스트에서 가능한 연락처 세부 정보를 식별합니다. 사서함이 존재하는지, 우편물을 받는지, 이름이 지정된 사람의 소유인지는 확인되지 않습니다. 특히 구두점이나 일반적이지 않은 사서함 구문이 근처에 나타나는 경우 결과를 검토 가능한 목록으로 처리합니다.

중복 제거 및 순서 — 처음 나타나는 순서대로 각 주소의 복사본 하나이므로 목록은 소스를 반영합니다.

URL 및 이메일 주소의 경우 ToolAcre는 `Set`를 사용하여 중복 항목을 제거합니다. JavaScript 세트는 삽입 순서를 유지하므로 첫 번째 항목이 결과에 항목이 나타나는 위치를 결정하고 나중에 동일한 일치 항목이 사라집니다. 따라서 출력은 허가 없이 연락처나 링크를 알파벳순으로 정렬하는 대신 위에서 아래로 소스를 따릅니다.

평등은 정확합니다. `https://example.com` 및 `https://example.com/`은 대소문자가 다른 이메일 주소와 마찬가지로 별도의 상태로 유지됩니다. 추출기는 도메인을 정규화하거나 URL 조각을 제거하거나 두 대상이 동일하다고 결정하지 않습니다. 이러한 변경 사항은 의도적으로 서로 다른 텍스트를 병합할 수 있으므로 추가 정규화는 별도의 확인 단계에 속합니다.

숫자도 — 산문에서 숫자 값을 추출하고 소수점과 천 단위 구분 기호가 '숫자'를 생각보다 덜 명확하게 만드는 이유

숫자 추출에서는 선택적 빼기 기호, 하나 이상의 숫자 및 마침표로 시작되는 선택적 소수 부분을 허용합니다. 산문에서 `-12`, `48` 및 `3.75`를 가져올 수 있습니다. URL 및 이메일 추출과 달리 모든 일치 항목을 직접 반환하므로 반복되는 값은 반복된 상태로 유지되며 발생 횟수가 유지됩니다.

그룹화되고 지역화된 양식은 해당 압축 규칙의 한계를 드러냅니다. `1,250`은 `1` 및 `250`로 반환되는 반면, `3,5`도 소수점 쉼표로 해석되지 않고 분할됩니다. 통화 기호, 지수 및 선행 더하기 기호는 일치 항목의 일부가 아닙니다. 추출된 숫자에 의미를 부여하기 전에 근처의 텍스트를 읽어보세요.

숫자도 포함: 그룹화된 값을 하나의 숫자로 처리하지 않고 부호 있는 정수 및 소수

다음 참고 사항을 시도해 보세요. `Email sam@example.com, then review https://example.com/plan. Backup: sam@example.com. Budget -12.5; seats 24. Reference (https://example.com/help).` 이메일 추출은 `sam@example.com` 하나를 반환합니다. URL 추출은 마침표나 닫는 괄호 없이 계획과 도움말 주소를 순서대로 반환합니다.

수동 스캔에서는 두 개의 이메일 모양을 찾아야 하지만 하나의 고유한 이메일 결과, 두 개의 고유한 URL 모양 및 두 개의 숫자 일치를 찾아야 합니다. 숫자 추출은 `-12.5` 및 `24`을 반환합니다. 예제 도메인 내부의 숫자는 일치 항목이 없기 때문에 일치 항목을 추가하지 않습니다. 이 검사는 중복이 제거된 연락처 및 링크 목록에서 발생 횟수를 분리합니다.

이것이 다루지 않는 것 — 주소가 실제로 존재하는지 확인하고 이국적이지만 유효한 주소가 실용적인 패턴에서 누락되었는지 확인

일치하는 이메일은 구현된 패턴과 같은 모양의 텍스트일 뿐입니다. ToolAcre는 메일 서버를 쿼리하거나 테스트 메시지를 보내거나 도메인 기록을 검사하지 않습니다. 따라서 그럴듯해 보이는 오타는 추출을 통과할 수 있는 반면, 흔하지 않지만 사용 가능한 주소는 누락될 수 있습니다. 목록에 의존하기 전에 적절하고 신뢰할 수 있는 채널을 통해 중요한 연락처를 확인하세요.

URL 추출도 마찬가지로 페이지를 요청하거나 리디렉션을 따르거나 대상이 안전한지 또는 사용 가능한지 테스트하지 않습니다. 또한 명시적인 HTTP 또는 HTTPS 접두사가 필요하므로 기본 `example.com`은 반환되지 않습니다. 이러한 제한은 추출을 지역적으로 유지하고 예측 가능하게 유지하지만 인적 검토를 결과적인 워크플로의 일부로 만듭니다.

요점 — 텍스트 도구 키트의 추출 버튼은 이러한 절충안을 명시적으로 만들고 브라우저에 깨끗하고 중복이 제거된 목록을 제공합니다.

추출 버튼은 혼합된 산문 블록을 브라우저에서 개행으로 구분된 일치 항목으로 바꿉니다. URL과 이메일은 실용적인 패턴을 사용하고, 일반적인 산문 경계에서 잘라내거나 멈추고, 처음 표시된 순서대로 고유한 값을 반환합니다. 숫자는 더 작은 부호 있는 십진수 패턴을 사용하고 중복을 유지하여 하나의 범용 추출 정책이 아닌 다른 기능 계약을 반영합니다.

필요한 메모만 붙여넣고 URL 추출 및 이메일 추출을 별도로 실행한 후 복사하기 전에 각 목록을 소스와 비교하세요. 깨끗한 출력은 반복적인 스캐닝을 제거하고, 문서화된 경계는 판단이 필요한 부분을 보여줍니다. 비정상적인 구문의 경우 검토 중에 추출된 결과 옆에 원래 구절을 유지하십시오.