Ruby: ruby-regexp_trie gemで文字列リストを効果的な正規表現に変換する
BRANK

@gfxさん作のruby-regexp_trie gemを使うと、Rubyで文字列の配列から凝縮された正規表現を楽に生成できることを知りました😍。 リポジトリ: gfx/ruby-regexp_trie: Fast keyword matching with the Trie algorithm (a Ruby port of Perl's Regexp::Trie) 文字列リストを単に でつなげるだけならRuby標準のRegexp.unionでもできますが、文字列リストが巨大になってくると単純連結では効率が低下します。 以下説明のために、わざとソート順を崩したaryを用います。 ary = %w( YMS-15 MSM-10 YMS-14 MAN-07 MSN-02 MSM-07S MA-05 MSM-07 MSM-04F MSM-03 MS-X16 MAN-03 MS-X10 MS-14A MS-R09 MS-06F MS-14 MS-11 MS-09R MS-09 MS-07B MS-07 MS-06S MS-06J MS-06 MSN-X2 MS-05B MAX-03 MS-14S MAN-X3 MAN-08 MA-08 MA-05H MAN-X8 MA-04X MSM-04 MAM-07 YMS-07B ) » p Regexp.union(ary) #» /YMS\-15 MSM\-10 YMS\-14 MAN\-07 MSN\-02 MSM\-07S MA\-05 MSM\-07 MSM\-04F MSM\-03 MS\-X16 MAN\-03 MS\-X10 MS\-14A MS\-R09 MS\-06F MS\-14 MS\-11 MS\-09R MS\-09 MS\-07B MS\-07 MS\-06S MS\-06J MS\-06 MSN\-X2 MS\-05B MAX\-03 MS\-14S MAN\-X3 MAN\-08 MA\-08 MA\-05H MAN\-X8 …

techracho.bpsinc.jp
Related Topics: Ruby Perl