J'ai une chaîne $regexp_as_string
Perl regexp comment échapper seulement quelques caractères
Maintenant, je veux « convertir » en un regex/l'utiliser comme regexp
if ($text_to_search =~ $regexp_as_string)
{
...
}
Maintenant, il y a des personnages comme ». " et je veux leur échapper automaticly - \ Q et \ E devrait le faire
if ($text_to_search =~ /\Q$regexp_as_string\E/)
{
...
}
est-il un moyen de spécifier une liste de caractères qui doivent être auto échappé? Parce que pour l'instant, cette façon auto échappe par exemple "|" mais je veux garder ça.
Correction: Il est plus facile de trouver les caractères que vous avez besoin d'échapper à l'intérieur d'une classe de caractères (les crochets) une fois pour toutes, et * puis * ne vous inquiétez pas: '-] \^$' sont les seuls les méta-caractères dont vous avez besoin de vous soucier, et même alors, c'est surtout dans la façon dont vous les utilisez. Par exemple: '[]]' et '[abc ^]' et '[a-z-]' vont bien. Voir http://perldoc.perl.org/perlrequick.html#Using-character-classes – TLP