Cómo utilizar JavaScript regex sobre varias líneas?
var ss= "<pre>aaaa\nbbb\nccc</pre>ddd";
var arr= ss.match( /<pre.*?<\/pre>/gm );
alert(arr); // null
Me gustaría que el bloque PRE se recogiera, a pesar de que se extiende sobre los caracteres de nueva línea. Pensé que la bandera " m " lo hace. No lo hace.
Encontró la respuesta aquí antes de publicar. Ya que pensé que sabía JavaScript (leer tres libros, horas trabajadas) y no había una solución existente en TAN, me atrevería a publicar de todos modos. lanza piedras aquí
Así que la solución es:
var ss= "<pre>aaaa\nbbb\nccc</pre>ddd";
var arr= ss.match( /<pre[\s\S]*?<\/pre>/gm );
alert(arr); // <pre>...</pre> :)
¿Alguien tiene una forma menos críptica?
Editar: esto es un duplicado pero como es más difícil de encontrar que el mío, no lo quito.
Se propone [^]
como un "punto multilínea". Lo que todavía no entiendo es por qué [.\n]
no funciona. Supongo que esta es una de las partes tristes de JavaScript..
Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32
Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52