ギークなお姉さんに初めてのトラックバック。 DTIブログ サービス終了のお知らせ の最後にあるfubaさんのnegative wordsを見て猛烈に最適化してみたくなった。 use utf8; use Regexp::Assemble; binmode STDOUT=>'utf8'; @words = split /\|/, 'ヘルプ|へるぷ|help|諦め|苦しい|つらい|希望がない|だめ|ダメ|死|しぬ|しにたい|自殺|たすけて|助けて|働きたくない|やだ|むり|やめたい'; print Regexp::Assemble->new->add(@words)->re; (?-xism:(?:(?:(?:働きたく|希望が)な|つら|苦し)い|(?:たす|助)けて|し(?:にたい|ぬ)|や(?:めたい|だ)|[だ諦]め|help|へるぷ|ヘルプ|むり|ダメ|自殺|死)) Regexp::As