ImageWideNice
またはなどの素敵なキャメルケース文字列がありますImageNarrowUgly
。Image
ここで、その文字列を、Wide
またはNarrow
、およびNice
またはなどの部分文字列で分割したいと考えていますUgly
。
これは簡単に解決できると思いました
camelCaseString =~ /(Image)((Wide)|(Narrow))((Nice)|(Ugly))/
$1
しかし奇妙なことに、これはとのみを満たしますが、 は満たし$2
ません$3
。
その文字列を分割するためのより良いアイデアはありますか?