Это возможно, но не просто.
В случае одной буквы будет работать выражение, такое как ^[^o]*o[^o]*o[^o]*o[^o]*o[^o]*$
.Он в основном ищет «не о» (ноль или более), за которым следует «о» четыре раза, и допускает дополнительные символы «не о» в конце.
Но более длинные выражения являются проблемойНапример, чтобы не найти слово «foo», вы должны разрешить «f» и «fo», но не «foo».Таким образом, чтобы найти строку с ровно в два раза «foo», вы должны разрешить строку «ffofofoofoffoffoofoffofofofo», которую не так просто определить.1008 *, который допускает "f" и "fo" и другие вещи, но не "foo".Но вы можете видеть, как это может раздражать, если слово длиннее и вам нужно сопоставить его четыре раза.