26/01/2013, 18:26
|
| | | Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 6 meses Puntos: 127 | |
Respuesta: expresion regular Las expresiones regulares se construyen o bien literalmente o usando new RegExp()
expr = new RegExp("[^<[a-z]*[^>]*>]" + variable + @"[^<\/[a-z]*>]" );
y omitiendo el símbolo @ que has debido meter por error.
Luego, hay cuestiones que no entiendo:
El grupo es incorrecto porque ^ sólo incluye un grupo de no coincidencia, lo cual todo lo demás lo ignorará. Además de que [a-z] no tiene nada que ver.
En base a lo que dices un conjunto similar podría valerte
"(?:<a.*> +){0}" + variable + "(?! *<\/a>)"
coincidirá siempre y cuando coincida con cualquier cosa que contenga 0 veces <a ****> (?:<a.*>){0} seguido de variable y si no está seguido por </a> (?!grupo)
eso significa que <a>variable sólo capturará variable
y <a>variable</b> donde también sólo capturará variable
y en <a href="asd.html">variable</a> no lo capturará porque coincide con la expresión.
( *) se usa para que coincida aunque incluya uno o varios espacios y ?: para que el grupo no se capture.
Un saludo.
__________________ 21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
Última edición por dontexplain; 26/01/2013 a las 18:38 |