Archived

This topic is now archived and is closed to further replies.

Perl: Regex escaping a string.

This topic is 4945 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

How can a string be regex ''escaped''? ie. If I had a variable $foo which receives input from stdin. The arbitry character sequence ''[abc]'' is received. How can I escape this string so that it can be used in a regex expression as literal characters and not interpreted as a regex.

Share this post


Link to post
Share on other sites
two options:

1. the built in function quotemeta();

2. use \Q \E inside the regex, e.g.:

$foo =~ /\Qescaped input is here\E/

If you use perl, you should check out perlmonks.org. Chances are, any question you have has been asked before: see what I mean?


[edited by - grazer on May 30, 2004 2:58:26 PM]

Share this post


Link to post
Share on other sites