It is unfortunate that the only example you gave us has the whole text being matched by the pattern. Therefore this has only had VERY limited testing but does match your example text (no negative testing has been performed)
One approach is:
<font\s+face="Arial">((?!Ber&\#228;knas|</font><br>).)*Ber&\#228;knas((?!</font><br>).)*</font><br>
with the "singleline" and "ignore case" options set as appropriate (if you don't have the "extended" ir "ignore whitespace" option set then you can take the '\' from before the '#'s but leaving them in should not hurt).
What this does is to look for the opening tag and then scan forward looking for either the ending sequence or the "must have in the middle" sequence. If it is not the "must have in the middle" sequence then the pattern will fail as we must have found a "<font......</font><br>" block which you say you don't want. Otherwise the search continues to the end tag knowing that we have the "middle" text.
You can clean this up a bit depending on the exact sequence of characters you need in the beginning, middle and end.
Susan