Realmente me gustaría tener una Regex que sea ejecutable en node.js (por lo que no hay jQuery DOM Handling etc., porque las etiquetas pueden tener una anidación diferente) que coincida con todas el texto que NO es una etiqueta HTML o parte de ella en grupos separados.Javascript Regex: coincide con el texto NO forma parte de una etiqueta HTML
E.g. Me gustaría para que coincida con "5", "ELT.", "SPR", " ", "plo", "Unterricht", " ", "& nbsp" y "plo" de esa cadena:
<tr class='list even'>
<td class="list" align="center" style="background-color: #FFFFFF" >
<span style="color: #010101">5</span>
</td>
<td class="list" align="center" style="background-color: #FFFFFF" >
<b><span style="color: #010101">ELT.</span></b>
</td>
<td class="list" align="center" style="background-color: #FFFFFF" >
<b><span style="color: #010101">SPR</span></b>
</td>
<td class="list" style="background-color: #FFFFFF" > </td>
<td class="list" align="center" style="background-color: #FFFFFF" >
<strike><span style="color: #010101">pio</span></strike>
</td>
<td class="list" align="center" style="background-color: #FFFFFF" >
<span style="color: #010101">Unterricht</span>
</td>
<td class="list" style="background-color: #FFFFFF" > </td>
<td class="list" style="background-color: #FFFFFF" > </td>
<td class="list" align="center" style="background-color: #FFFFFF" >
<b><span style="color: #010101">pio</span></b>
</td>
</tr>
Puedo asegurar que no habrá ">" dentro de las etiquetas.
La solución que encontré fue (?<=^|>)[^><]+?(?=<|$)
, pero eso no va a funcionar en Node.js (probablemente debido a que los símbolos de anticipación? Dice "Grupo no válido")
¿Alguna sugerencia? (y sí, realmente creo que Regex es el camino correcto porque el html puede estar anidado de otras maneras y el contenido siempre tiene el mismo orden porque es una tabla)
Me encanta vincular a este http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – NimChimpsky
¿Es esto lo que estás buscando? http://stackoverflow.com/questions/822452/strip-html-from-text-javascript –
No puede usar expresiones regulares para analizar HTML (este es el punto del enlace que le dio @NimChimpsky), porque el HTML no es un elemento idioma. Cualquier intento de usar expresiones regulares, únicamente, para analizar HTML *** fallará ***. No tiene más remedio que * analizar * el HTML. –