javascript - ¿Es posible analizar cadenas regex con un regex?
Solo por curiosidad, ¿es posible analizar una cadena que está totalmente hecha de expresiones regulares aleatorias pero válidas con una sola expresión regular?
dada la cadena de expresiones regulares:
<[^>]*>\xA9
se analiza como:
<[^>]*>
\xA9
en la que el primero coincide con html y el segundo coincide con un símbolo de copyright.
Editar: Encontré una pregunta similar en SO que afirma que tal vez sea posible. Aquí, me estoy refiriendo a expresiones regulares en JavaScript ECMA-262 únicamente.
Respuesta #1
No, no es posible: el lenguaje de expresiones regulares permite expresiones entre paréntesis que representan grupos de captura y no captura, lookarounds, etc., donde los paréntesis deben estar balanceados. No es posible ni siquiera en teoría escribir una expresión regular que verifique si los paréntesis están balanceados en una cadena dada. Sin la capacidad de hacer eso, no sabrías dónde termina una expresión regular y dónde empieza la otra.
En general, la gramática de las expresiones regulares es relativamente compleja. Para hacerse una idea de lo compleja que es, eche un vistazo al analizador en el código fuente de la clase Pattern de Java.