Module: JapaneseAddressParser::Dictionaries::Convert

Defined in:
lib/japanese_address_parser/dictionaries/convert.rb,
sig/dictionaries.rbs

Overview

辞書の各文字を「旧字体・新字体の両方にマッチする」正規表現パターン文字列へ展開する。 例: '亞' も '亜' も '(亞|亜)' に変換するので、後続の正規表現がどちらの字体にもマッチする。

Constant Summary collapse

PATTERN_MAP =

Returns:

  • (Hash[String, String])
pattern_map.freeze
REGEXP =

JS: new RegExp(Array.from(new Set(Object.values(patternMap))).join('|'), 'g') Set による重複排除は uniq(出現順保持)で再現。'g' フラグは gsub が既定で全置換するため不要。

Returns:

  • (Regexp)
::Regexp.new(PATTERN_MAP.values.uniq.join('|'))

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.call(regex_text) ⇒ Object

JS: export const convert = (regexText) => regexText.replace(regexp, (match) => patternMap)



38
39
40
# File 'lib/japanese_address_parser/dictionaries/convert.rb', line 38

def call(regex_text)
  regex_text.gsub(REGEXP) { |match| PATTERN_MAP[match] }
end

Instance Method Details

#self?.callString

Parameters:

  • regex_text (String)

Returns:

  • (String)


16
# File 'sig/dictionaries.rbs', line 16

def self?.call: (String regex_text) -> String