텍스트 추출 (이메일 · URL · 숫자)
뒤섞인 글에서 원하는 조각만 뽑아 정리합니다
글자 0단어 0줄 0
입력한 글은 브라우저 밖으로 나가지 않습니다.
결과
‘검증’이 아니라 ‘추출’이다
이 도구는 뒤섞인 글에서 원하는 조각만 걷어냅니다. 고객 문의 로그에서 이메일만, 회의록에서 링크만, 주문서에서 전화번호만 — 나머지 문장은 버리고 필요한 것만 모읍니다. 손으로 하나씩 긁어 복사하던 일을 한 번에 끝내는 게 목적입니다.
중요한 구분이 하나 있습니다. 이건 검증기가 아니라 추출기입니다. 이메일 주소가 진짜 규격에 맞는지 심사하는 게 아니라, 글 속에서 ‘이메일처럼 생긴 것’을 찾아냅니다. 왜 이 구분이 중요할까요? 이메일 표준(RFC 5322)은 놀랄 만큼 복잡해서, 그걸 곧이곧대로 검사하면 멀쩡한 주소를 놓치거나정규식이 감당 못 할 만큼 비대해집니다. 실무에서 원하는 건 “이 글에 들어 있는 연락처를 다 모아 줘”지, “이게 국제 표준에 부합하는가”가 아닙니다.
패턴이 어디까지 잡는지
정직하게, 각 종류가 무엇을 잡고 무엇을 놓치는지 밝힙니다.
- 이메일 —
이름@도메인.최상위형태. @ 앞부분에 한글은 받지 않습니다(오탐 방지).a@b.co.kr같은 다단계 도메인도 잡습니다. - URL —
http://,https://, 또는www.로 시작하는 것. 뒤에 딸려온 마침표·닫는 괄호는 떼어내고, 쿼리 문자열(?a=1)은 살립니다. - 숫자 — 정수·소수·천 단위 콤마(
1,234.5)·음수. 전화번호처럼 하이픈으로 이어진 것은 조각조각 잡히므로, 전화번호는 전용 종류를 쓰세요. - 해시태그·멘션 — 해시태그는 한글·숫자·밑줄까지(
#여행), 멘션은 영문·숫자·밑줄(@user_1). SNS 계정이 대부분 영문이라 그렇습니다. - 전화번호 — 한국식(휴대폰·지역번호). 대략적이라 다른 숫자열이 함께 걸릴 수 있으니, 뽑은 뒤 한 번 훑어보세요.
패턴은 ‘완벽한 문법’이 아니라 ‘실용적인 그물’입니다. 너무 촘촘하면 정상값을 놓치고, 너무 성기면 쓰레기가 딸려 옵니다. 그 사이에서 흔한 형태를 넉넉히 잡는 쪽으로 맞췄고, 어디서 헐거운지는 위에 적어 두었습니다.
뽑은 뒤의 정리가 도구의 절반이다
조각을 뽑아내는 것만으로는 반쪽짜리입니다. 게시글에서 이메일을 뽑으면 같은 주소가 수십 번 나오고, 그대로는 발송 명단으로 쓸 수 없습니다. 그래서 추출과 같은 자리에서 정리까지 합니다.
- 중복 제거 — 같은 값은 처음 하나만 남깁니다. 문자열을 Set 으로 처리해
constructor같은 특수한 값이 들어와도 조용히 어긋나지 않습니다. - 정렬 — 코드포인트 사전순으로 줄 세워 훑어보기 좋게 만듭니다. 로케일에 기대지 않아 어느 브라우저에서든 같은 순서가 나옵니다.
- 구분자 — 줄바꿈·쉼표·공백 중에 붙여넣을 곳에 맞춰 고릅니다. 스프레드 시트에는 줄바꿈, 코드에는 쉼표가 편합니다.
이럴 때 씁니다
- 문의 로그에서 연락처 모으기 — 이메일·전화번호를 뽑아 중복을 걷어내면 바로 명단이 됩니다.
- 게시글에서 링크만 — 참고 URL을 한 번에 모아 정리합니다.
- SNS 글 분석 — 해시태그·멘션을 뽑아 어떤 태그가 얼마나 쓰였는지 훑어봅니다.
- 표에서 숫자만 — 설명이 섞인 텍스트에서 수치만 걷어내 계산에 넘깁니다.
정리하면
- 검증이 아니라 추출입니다. 흔한 형태를 넉넉히 잡고, 헐거운 곳은 숨기지 않습니다.
- 정리까지가 한 세트입니다. 중복 제거·정렬·구분자로 바로 쓸 수 있는 목록을 만듭니다.
- 결과는 한 번 훑어보세요. 특히 전화번호는 대략적 패턴이라 확인이 필요합니다.
자주 묻는 질문
- 무엇을 뽑아낼 수 있나요?
- 이메일, URL(링크), 숫자, 해시태그(#), 멘션(@), 한국 전화번호입니다. 붙여넣은 로그·명단·채팅·게시글에서 원하는 종류만 골라 한 번에 모을 수 있습니다. 종류를 고르면 나머지 글자는 버리고 해당 조각만 남깁니다.
- 이메일 형식이 정말 맞는지 검사하나요?
- 아닙니다. 이건 검증기가 아니라 추출기입니다. 실제 글에서 흔한 형태를 넉넉히 잡아내되, 이메일 표준(RFC)을 100% 따지지는 않습니다. 표준을 완벽히 검사하면 오히려 정상 주소를 놓치는 일이 많아, 실용적으로 '이메일처럼 생긴 것'을 뽑는 쪽을 택했습니다.
- URL 뒤에 붙은 마침표나 괄호는 어떻게 되나요?
- 떼어냅니다. 문장 끝의 'https://example.com.' 이나 '(https://example.com)' 처럼 딸려온 문장부호는 링크의 일부가 아니므로 자동으로 제거합니다. 다만 URL 안에 정상적으로 들어간 기호(물음표·등호 등 쿼리 문자열)는 그대로 둡니다.
- 중복 제거와 정렬은 왜 붙어 있나요?
- 추출의 절반이 뽑은 뒤의 정리이기 때문입니다. 게시글에서 이메일을 뽑으면 같은 주소가 수십 번 나오기 마련이고, 그대로는 명단으로 못 씁니다. 중복 제거로 유일한 값만 남기고, 정렬로 훑어보기 좋게 만듭니다. 구분자(줄바꿈·쉼표·공백)도 붙여넣을 곳에 맞춰 고를 수 있습니다.
- 한글 이메일이나 한글 멘션도 잡히나요?
- 이메일의 로컬부(@ 앞)에 한글은 잡지 않습니다. 실무에서 거의 없고 오탐만 늘기 때문입니다. 해시태그는 한글을 포함해 잡지만(#여행), 멘션(@)은 영문·숫자·밑줄만 잡습니다. SNS 계정이 대부분 영문이기 때문입니다.
- 전화번호가 가끔 잘못 잡혀요.
- 한국 전화번호(010-1234-5678, 02-123-4567 등)를 대략적인 패턴으로 잡기 때문에, 하이픈으로 이어진 다른 숫자열이 함께 걸릴 수 있습니다. 뽑은 뒤 결과를 훑어보고, 아닌 것은 지우세요. 숫자만 필요하면 '숫자' 종류를 쓰는 편이 정확합니다.
- 입력한 글이 서버로 전송되나요?
- 아닙니다. 추출은 전부 브라우저 안에서 끝나고, 입력한 글은 어디로도 전송되거나 저장되지 않습니다.
정리 · 편집 도구 더 보기
중복 줄 제거 · 정렬겹치는 줄을 지우고 가나다·길이·역순으로 정렬합니다공백 · 줄바꿈 정리연속 공백·빈 줄·앞뒤 여백을 한 번에 정돈합니다찾기 · 바꾸기여러 줄에서 문자열·패턴을 한 번에 치환합니다정규식 테스터패턴이 무엇을 잡는지 매치·캡처 그룹으로 확인합니다단어 빈도 분석어떤 단어가 몇 번 나오는지 빈도순으로 셉니다줄 번호 · 접두사여러 줄에 번호·접두사·접미사를 한 번에 붙입니다HTML 태그 제거태그를 걷어내고 읽을 수 있는 텍스트만 남깁니다개인정보 마스킹주민번호·전화·이메일·카드번호를 별표로 가립니다구분자 변환여러 줄 목록을 한 줄로 잇거나, 한 줄을 여러 줄로