¿Es posible cambiar el contenido de una expresión regular en javascript o en cualquier otro idioma?

Las variables son como cajas. Le dices al sistema operativo qué tamaño de caja quieres, te da una caja de ese tamaño y luego pones cosas en ella. A veces pones un número entero, a veces una matriz, a veces una expresión regular.

Dependiendo del idioma, es posible que deba especificar el tipo, porque, por ejemplo, no puede colocar una computadora de escritorio en una caja de TV de pantalla panorámica, aunque tengan volúmenes similares. Los idiomas de nivel superior simplemente envían a un mayordomo con la cantidad correcta de cartón, unas tijeras y un poco de cinta adhesiva, y esperan a que se les entregue la cosa real al mayordomo antes de que hagan la caja.

Entonces, si dices “espera, no, no esa expresión regular, ESTA” es lo mismo que hacer esto:

a = 23
Espera no…
a = 42

a ahora contiene 42. Ya no contiene 23.

Entonces, si, por ejemplo, en Ruby, tuviera que hacer esto:

a = / michael / gi
Espera no…
a = / m (aei) ch (ae) (ae) l / gi

a ahora contiene / m (aei) ch (ae) (ae) l / gi. Ya no contiene / michael / gi.

Si esto es posible. Crea una expresión regular:

var r = / prueba / i

Ahora, r.source == 'test' y r.flags == 'i' .

Con esta información, podemos construir una nueva expresión regular, cambiando el texto fuente.

var r = / prueba / i;
var changedRegExp = new RegExp (
changeSourceText (r.source),
r.flags
);

Expresiones regulares

RegExp.prototype.source

RegExp.prototype.flags

No puede cambiar esa instancia, pero puede cambiar la instancia a la que apunta la variable. Sin embargo, no estoy seguro de cuál es tu intención, pero esto funciona:

Var regex1 = / prueba / gi;

regex1 = / test2 / gi;

More Interesting

¿Puede explicar cómo existen las pruebas de software en un proyecto?

Como ingeniero de software con BS en CS, ¿cuáles son las ventajas de seguir una maestría en CS? ¿Qué oportunidades y trayectoria profesional abrirá el título que de otro modo sería difícil de obtener?

¿Ir más rápido que Tornado?

¿Cuánto tiempo lleva la autodidacta de codificación y ser lo suficientemente bueno para ser ingeniero de software?

¿Cuáles son las estrategias para migrar un equipo de Subversion a otro sistema de control de fuente?

¿Qué tipo de equipo y software debería estar disponible en el laboratorio * perfecto * para el desarrollo de sistemas integrados?

¿Cómo puede la ingeniería de software ayudar a un ingeniero electrónico?

Si alguna vez creó un banco en línea, ¿qué necesita hacer diferente en comparación con un sitio web comercial simple?

¿Qué tan importante es la capacidad de resolución de problemas para obtener un trabajo tecnológico?

¿Es beneficiosa la programación de pares?

Como profesional en la industria del software, ¿qué tan efectivo cree usted que son los cursos completos en línea? ¿Los empleadores los toman en serio?

¿Cómo memorizar todo el patrón de diseño? ¿Cómo puedes entender el patrón de diseño del proyecto de código abierto de alguien?

¿Qué prefiere comprar la gente: un 'dispositivo' (es decir, hardware integrado en un teléfono inteligente / software) o un producto de software puro (por ejemplo, un sistema operativo)?

¿Cuáles son las buenas certificaciones para los probadores de software?

¿Cuáles son las mejores prácticas para guardar un archivo de preferencias de usuario complejo?