using regex to find a specific word

The logic of you regular expression is not entirely clear to me.

Mathematica's RegularExpression does not need any delimiters and I don't think that there is a "global" switch. In any case, the following matches all single words "circle", "circles", "Circle" and "Circles":

list = {"circle", "picircle", "circles", "Circle"};
StringCases[#, RegularExpression["\\b[Cc]ircles?\\b"]] & /@ list
(* {{"circle"}, {}, {"circles"}, {"Circle"}} *)

list = {"circle", "picircle", "circles"};
StringCases[#, 
   StartOfString ~~ "circle" | "circles" ~~ EndOfString] & /@ list
StringCases[#, RegularExpression["^(circle|circles)$"]] & /@ list