Devin.KR
로그인

한글 초성 정규식 생성기

ㄱㅅ → [가-깋][사-싷] 처럼 초성 검색용 정규식을 만들고 그 자리에서 테스트합니다. 자모 분해·결합도 함께 지원합니다.

브라우저에서만 처리

1. 초성 검색 정규식

패턴 -
JavaScript -
Java -
Python -

그 자리에서 테스트

2. 자모 분해 · 결합

겹받침(ㄳ 등)과 겹모음(ㅘ 등)은 분해 시 두 자모로 풀고, 결합 시 다시 합칩니다.

음절 분해표

음절초성중성종성공식 (초성×21+중성)×28+종성+0xAC00코드
위에서 분해를 누르면 채워집니다.

이 도구를 쓰는 법

1. 초성 자동완성 검색 만들기

검색어의 각 글자를 이렇게 바꿉니다. 완성된 음절(검)은 그대로 두고, 초성(ㅅ)은 그 초성으로 시작하는 음절 전체 구간의 문자 클래스로 바꿉니다. 한글 음절은 유니코드에서 (초성×21 + 중성)×28 + 종성 + 0xAC00 공식으로 나열되어 있어서, 초성 인덱스 i 의 구간은 U+AC00 + i×588 부터 588자입니다. ㄱ이면 [가-깋]이 됩니다.

2. 언어별 붙여넣기

  • JavaScriptnew RegExp(...) 없이 리터럴 그대로 쓰면 됩니다.
  • Java — 문자열 리터럴에서는 백슬래시를 \\로 두 번 씁니다. 위 Java 칸이 그 형태입니다.
  • Pythonr"..." 원시 문자열이면 백슬래시를 그대로 쓸 수 있습니다.

3. 직접 구현한다면

글자 c가 음절인지는 '가' <= c && c <= '힣' 로, 초성 인덱스는 (c - 0xAC00) / 588 로 얻습니다. 이 도구의 분해표에서 글자별 인덱스를 확인할 수 있습니다.

자주 묻는 것

ㄳ, ㄵ 같은 겹받침은 왜 초성 검색이 안 되나요?

겹받침은 초성에 쓰이지 않는 자모라 초성 검색 대상이 아닙니다(초성은 19개뿐입니다). 이 도구에서는 일반 문자로 취급해 이스케이프만 합니다.

정규식 없이 초성 검색을 하려면?

각 글자의 초성 인덱스만 비교하면 되므로, 대량 데이터라면 정규식보다 초성 문자열을 미리 뽑아 컬럼/필드로 저장해 두고 LIKE 나 startsWith 로 찾는 편이 빠릅니다. 정규식 방식은 구현이 간단해 자동완성 정도의 규모에 알맞습니다.

입력한 값이 서버로 전송되나요?

전송되지 않습니다. 전부 브라우저의 자바스크립트에서 처리하며 네트워크 요청이 발생하지 않습니다.

관련 도구: 한글 깨짐 복구 · 사업자등록번호 검증 · JSON 포맷터