Quiero poder hacer una coincidencia de expresiones regulares en una variable y asignar los resultados a la variable en sí. ¿Cuál es la mejor manera de hacerlo?Coincidir con la expresión regular y asignar resultados en una sola línea de código
quiero combinar esencialmente las líneas 2 y 3 en una sola línea de código:
$variable = "some string";
$variable =~ /(find something).*/;
$variable = $1;
¿Hay un camino más corto/más simple de hacer esto? ¿Me estoy perdiendo de algo?
Existe un problema con esto, solo reemplazará la variable original si toda la cadena está presente en el patrón de búsqueda. Si tuviera que usar, digamos,/(\ w +) sobre/para hacer coincidir, esto no funcionaría. –
El patrón es arbitrario, las coincidencias no necesariamente comienzan o terminan en un límite de línea o palabra. En cualquier caso, gracias, supongo que no hay ninguna manera obviamente simple de hacerlo. Mi principal preocupación es que tengo que hacer esto a menudo, y parece repetitivo. –
Tropezamos con este hilo de 2 años a través de Google, y creo que esta es la respuesta correcta. Simplemente edite la expresión regular para que se ajuste a sus necesidades: /.*(find something). */$ 1 /; – Mintx