Estoy tratando de encontrar una expresión regular que encuentre todas las palabras que no están dentro de las etiquetas de anclaje. Ya tengo una variante que funciona bastante bien, pero lamentablemente no funciona si las etiquetas están anidadas.
Aquí está mi expresión:
(.*?)(\bFoobar\b(?!([^<>]*[^<>]*|[^<>]*)(<\/a|>)))(.*$)
Esto funciona, encuentra Foobar:
<strong>Foobar</strong> bar bazEsto también funciona, no encuentra Foobar, porque su etiqueta de anclaje interior:
<a href="foobar.com">Foobar</a> bar bazPero esto no funciona, encuentra Foobar:
<a href="foobar.com"><strong>Foobar</strong></a> bar bazGracias por tu ayuda.