Je souhaite être en mesure d'effectuer une correspondance regex sur une variable et affecter les résultats à la variable elle-même. Quelle est la meilleure façon de le faire?Correspondre à une expression régulière et affecter des résultats à une seule ligne de code
Je veux essentiellement combiner les lignes 2 et 3 en une seule ligne de code:
$variable = "some string";
$variable =~ /(find something).*/;
$variable = $1;
est-il un moyen plus court/plus simple de le faire? Est-ce que je manque quelque chose?
Il y a un problème avec ceci, il ne remplacera la variable d'origine que si la chaîne entière est présente dans le motif de recherche. Si je devais utiliser, disons,/(\ w +) sur/pour l'appariement, cela ne fonctionnerait pas. –
Le motif est arbitraire, les correspondances ne commencent pas nécessairement à une limite de ligne ou de mot. En tout cas, merci, je suppose qu'il n'y a pas de façon évidemment simple de le faire. Ma principale préoccupation était que je devais le faire souvent, et cela semble répétitif. –
J'ai trébuché sur ce fil de 2 ans via Google, et je pense que c'est la bonne réponse. Il suffit de modifier l'expression rationnelle pour répondre à vos besoins: /.*(find quelque chose). */$ 1 /; – Mintx