正規表現を使用して、次のようなメソッド名のすべてのバリアントを取得したいと思います。
method_name = "my_special_title"
method_name_variants = ["my_special_title", "special_title", "title"]
私はこれを行うことができます:
r = /((?:[^_]*_)?((?:[^_]*_)?(.*)))/
r.match("my_special_title").to_a.uniq
=> ["my_special_title", "special_title", "title"]
任意のメソッドの長さを持つことができるので、次のことができます。
"my_very_special_specific_method" => ["my_very_special_specific_method", "very_special_specific_method", "special_specific_method", "specific_method", "method"]