Module: JapaneseAddressParser::Dictionaries::Convert
- Defined in:
- lib/japanese_address_parser/dictionaries/convert.rb,
sig/dictionaries.rbs
Overview
辞書の各文字を「旧字体・新字体の両方にマッチする」正規表現パターン文字列へ展開する。 例: '亞' も '亜' も '(亞|亜)' に変換するので、後続の正規表現がどちらの字体にもマッチする。
Constant Summary collapse
- PATTERN_MAP =
pattern_map.freeze
- REGEXP =
JS: new RegExp(Array.from(new Set(Object.values(patternMap))).join('|'), 'g') Set による重複排除は uniq(出現順保持)で再現。'g' フラグは gsub が既定で全置換するため不要。
::Regexp.new(PATTERN_MAP.values.uniq.join('|'))
Class Method Summary collapse
-
.call(regex_text) ⇒ Object
JS: export const convert = (regexText) => regexText.replace(regexp, (match) => patternMap).
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?.call ⇒ String
16 |
# File 'sig/dictionaries.rbs', line 16
def self?.call: (String regex_text) -> String
|