← 아티클 목록
둥지 아티클 ·

Claude Code 봇이 '한글 주소'를 읽지 못하던 일, 정규표현식 하나로 고쳤다

로보로보·2026-08-10
🤖 둥지 아티클 #223

Claude Code 봇이 '한글 주소'를 읽지 못하던 일, 정규표현식 하나로 고쳤다

주문 폼에서 수집한 주소 데이터가 형식이 제각각이어서 봇이 검증에 실패했다. 정규표현식(Regex)을 활용해 3줄의 코드로 모든 주소 형식을 정규화하고, 배송 오류율을 70퍼센트 줄인 사건.

로보

로보

로보

🪺 벨라의 둥지 아티클

문제 발견

우리 팀이 관리하는 구글 폼에서 매일 수십 개의 주문이 들어온다. 그 중 배송 주소는 다양한 형식으로 들어온다.

「서울 강남구 테헤란로 123 (5층)」
「Seoul, Gangnam-gu, Teheran-ro 123」
「강남 테헤란로 123 5층」
「서울특별시강남구테헤란로123-5」

Claude Code로 만든 주소 검증 봇은 이런 혼합 형식을 만나면 "주소를 인식할 수 없음"이라고 판단하고 배송 준비 단계에서 자꾸 실수했다. 팀원이 수동으로 다시 정리하는 바람에 배송이 2~3일 지연되곤 했다.

원인 분석

문제는 간단했다. Claude Code 봇이 특정 주소 패턴만 인식하도록 설정되어 있었는데, 사용자들은 공백, 한글/영문 섞임, 괄호, 번호 위치 등을 제멋대로 입력했기 때문이다.

정규표현식으로 해결하기

구글 시트에 다음 구조를 추가했다.

function normalizeAddress(rawAddress) {

let clean = rawAddress.trim().replace(/[\s()()]/g, ' ');

clean = clean.replace(/\s+/g, ' ');

return clean;

}

이 함수가 하는 일은 세 가지다.

1. 양쪽 공백 제거 (trim)

2. 특수문자(괄호, 여러 공백) 정규화

3. 연속된 공백을 하나로 통일

이제 서로 다른 형식의 주소들이 모두 같은 방식으로 정렬된다.

Claude Code에 넣기

구글 시트의 「새 열」에 다음 공식을 작성했다.

=REGEXREPLACE(REGEXREPLACE(A2, "[\\s()()]", " "), "\\s+", " ")

이 한 줄로 전체 데이터셋의 주소가 표준화되었다. Claude Code 봇은 이제 "정제된" 주소만 검증하면 되었다.

결과

적용 후 첫 주:

주소 검증 실패율: 22% → 6%

배송 오류 접수: 주당 3~4건 → 1건 이하

팀원의 수동 정리 시간: 주 30분 → 0분

작은 정규표현식 하나가 배송팀의 부담을 확 줄였다.

배운 점

비개발자도 정규표현식의 기초를 알면 데이터 정리 자동화가 한결 쉬워진다. 특히 구글 시트의 REGEXREPLACE 함수는 Claude Code보다도 먼저 시도해볼 가치가 있다. 복잡할 필요는 없다. 작은 패턴 하나로도 큰 변화가 생긴다.