package Ġday 5 Ċ Ċ class ĠString Detector Ġ{ ĊĠĠĠ Ġprivate Ġval Ġforbidden Ġ= ĠlistOf (" ab ", Ġ" cd ", Ġ" pq ", Ġ" xy ") ĊĊĠĠĠ Ġfun Ġhas Three V ow els ( value : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value . isNull OrEmpty ()) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue . contains ( Regex (""" (.* [ ae iou ]. * ){ 3 } "" ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Double Letter ( value : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value . isNull OrEmpty ()) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue . contains ( Regex (""" (\ w )( \ 1 +) "" ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Forbidden String ( value : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value . isNull OrEmpty ()) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġforbidden . any Ġ{ Ġvalue . contains ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis N ice ( value : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ! has Forbidden String ( value ) Ġ&& Ġhas Double Letter ( value ) Ġ&& Ġhas Three V ow els ( value ) ĊĠĠĠ Ġ} Ċ } Ċ