• Stars
    star
    182
  • Rank 211,154 (Top 5 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

korean-regexp

npm version

ν•œκΈ€ μžλ™μ™„μ„±μ„ μœ„ν•œ μ •κ·œμ‹ | μ˜νƒ€ ↔ ν•œνƒ€ λ³€ν™˜ | 쑰사 μžλ™ μΉ˜ν™˜ | μžμ†Œ 뢄리, ν•©μΉ˜κΈ°

Installation

npm install korean-regexp

Usage

import {
  getRegExp,
  engToKor,
  korToEng,
  correctPostpositions,
  explode,
  implode,
  getPhonemes,
} from 'korean-regexp';

// the process of typing 'κ°œμšΈκ°€'
getRegExp('γ„±');  // /[γ„±κ°€-κΉ‹]/i
getRegExp('개');  // /[개-갷]/i
getRegExp('κ°±');  // /(κ°±|개[μ•„-잏])/i
getRegExp('개우');  // /개[우-윟]/i
getRegExp('개울');  // /개(울|우[라-맇])/i
getRegExp('개욹');  // /개(욹|울[κ°€-κΉ‹])/i
getRegExp('κ°œμšΈκ°€');  // /개울[κ°€-κ°›]/i

getRegExp('γ…Šγ……ν€΄μ¦ˆ');   // /γ…Šγ……ν€΄[즈-μ¦Ώ]/i
getRegExp('γ…Šγ……ν€΄μ¦ˆ', {  // /^[γ…Šμ°¨-μΉ³]\s*[ㅅ사-μ‹·]\s*퀴\s*[즈-μ¦Ώ]$/g
  initialSearch: true,
  startsWith: true,
  endsWith: true,
  ignoreSpace: true,
  ignoreCase: false,
  global: true,
});
getRegExp('γ…Šγ……ν€΄μ¦ˆ', {  // /[γ…Šμ°¨-μΉ³].*[ㅅ사-μ‹·].*퀴.*[즈-μ¦Ώ]/i
  initialSearch: true,
  fuzzy: true,
});

engToKor('gksrmfskf');  // ν•œκΈ€λ‚ 
engToKor('Rkrenrl, xhdekfr');  // 깍두기, 톡닭

korToEng('ㅗ디ㅣㅐ μž¬κΉ…!');  // hello world!
korToEng('ㅠㅁ차 μƒˆ 솓 λ €μ…•γ„·');  // back to the future

correctPostpositions('μ „μŸμ™€(κ³Ό) 평화');  // μ „μŸκ³Ό 평화
correctPostpositions('고양이은(λŠ”) κ±΄λ“œλ¦¬μ§€ 마라');  // κ³ μ–‘μ΄λŠ” κ±΄λ“œλ¦¬μ§€ 마라
correctPostpositions('"ν…ŒμŠ€ν˜•"이(κ°€) "λ‚˜ν›ˆμ•„"을(λ₯Ό) λ§Œλ‚¬λ‹€');  // "ν…ŒμŠ€ν˜•"이 "λ‚˜ν›ˆμ•„"λ₯Ό λ§Œλ‚¬λ‹€

explode('ν•œκΈ€');                     // ['γ…Ž', 'ㅏ', 'γ„΄', 'γ„±', 'γ…‘', 'γ„Ή']
explode('ν•œκΈ€', { grouped: true });  // [['γ…Ž', 'ㅏ', 'γ„΄'], ['γ„±', 'γ…‘', 'γ„Ή']]

implode('γ…‡γ…“γ…‚γ…”γ„΄γ…ˆγ…•γ……γ…‘ ㅇㅐㄴㄷㅑㄱㅔㅇㅣㅁ');  // μ–΄λ²€μ ΈμŠ€ μ•€λ“œκ²Œμž„
implode(['γ…‚', 'γ…œ', 'γ„Ή', 'γ„·', 'ㅏ', 'γ„Ή', 'γ„±']);  // λΆˆλ‹­
implode([['γ…‚', 'γ…œ', 'γ„Ή'], ['γ„·', 'ㅏ', 'γ„Ή', 'γ„±']]);  // λΆˆλ‹­

getPhonemes('ν•œ');
// {
//   initial: 'γ…Ž',
//   medial: 'ㅏ',
//   finale: 'γ„΄',
//   initialOffset: 18,
//   medialOffset: 0,
//   finaleOffset: 4
// }