我想使用正则表达式来获取方法名称的每个变体,如下所示:
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"]