que tiene una cadena $regexp_as_string
Perl expresión regular cómo escapar sólo algunos caracteres
Ahora quiero "convertir" en una expresión regular/utilizarlo como expresión regular
if ($text_to_search =~ $regexp_as_string)
{
...
}
Ahora hay personajes como". " y yo quiero escapar automaticamente ellos - \ Q y \ E debería hacer eso
if ($text_to_search =~ /\Q$regexp_as_string\E/)
{
...
}
¿Hay una manera de especificar una lista de caracteres que debe ser automático escapado? Porque en este momento el auto escapa, por ejemplo, "|" , pero quiero mantener eso.
Corrección: es más fácil encontrar de una vez por todas los caracteres que necesita para escapar dentro de una clase de caracteres (los corchetes), y * luego * no se preocupe: '-] \^$' son los únicos metacaracteres de los que debes preocuparte, e incluso entonces, principalmente se trata de cómo los usas. Por ejemplo: '[]]' y '[abc ^]' y '[a-z-]' están bien. Ver http://perldoc.perl.org/perlrequick.html#Using-character-classes – TLP