Единственная проблема заключается в том, что он игнорирует <applet>. Способ справиться с этим заключается в использовании \b, который является выражением нулевой ширины (что означает, что он не фиксирует ни один из входных данных), который соответствует слову для перехода не к слову или не к слову. Символы Word [0-9a-zA-Z_]. Итак:
<(?!(a|em|strong)\b)
Ответ 3
Если ваш механизм регулярных выражений поддерживает его, используйте отрицательное выражение для прогноза: это выглядит в строке и успешно, если оно не соответствует; однако он не потребляет никаких данных. Таким образом, вы хотите /<(?!(?:a|em|strong)\b)/: сопоставить a <, а затем преуспеть, если нет a, em или strong, за которым следует разрыв слова, \b.
Ответ 4
Хотя ответ Andrew явно превосходит, раньше, я также получил его для работы с [^(?:a|em|strong)].