条件が異なるだけの同じ処理にそれぞれ別の関数(オーバーロードも)を作成するのはやめて欲しい

文字列の一致条件だと一般的なところで、CS/CI、AS/AI、KS/KI、WS/WI があるけど、
Search_CS_AS_KS_WSみたいな関数を16個も作るとかありえん