Вы можете использовать для этого утверждение, так как вам просто нужно убедиться, что искомые слова произойдут где-то после >
или перед любым <
. Последний тест легче выполнить, поскольку прогнозные утверждения могут быть переменной длиной:
/(asf|foo|barr)(?=[^>]*(<|$))/
См. Также http://www.regular-expressions.info/lookaround.html для хорошее объяснение этого синтаксиса утверждения.