Если вы хотите полностью соответствовать строке, если она не содержит определенной подстроки, используйте регулярное выражение для соответствия подстроке и верните всю строку, если регулярное выражение не соответствует. Вы не сказали, какой язык вы используете, но вы пометили свой вопрос с помощью .NET, так что в C #:
if (Regex.IsMatch(subjectString, "</EM>")) {
return null;
} else {
return subjectString;
}
Поскольку это всего лишь буквальный текст, вам даже не нужно использовать регулярное выражение:
if (subjectString.Contains("</EM>")) {
return null;
} else {
return subjectString;
}
В ситуации, когда все, что вы можете использовать, это регулярное выражение, попробуйте это:
\A((?!</EM>).)*\Z
Решение только для регулярных выражений будет гораздо менее эффективным, чем приведенные выше примеры кода.