Programming Tips - regex: How to protect a string that is going to be used in a regular expression?

Date: 2012oct2 Update: 2026aug18 Language: perl, php, Java Q. regex: How to protect a string that is going to be used in a regular expression? A. In perl:
$person_name = 'John Smith'; $ok_for_pattern = quotemeta($person_name); # Now you can use it in a pattern without fear of it having meta characters, eg: $pattern = '^' . $ok_for_pattern . '$';
In PHP:
<?php $person_name = 'John Smith'; $ok_for_pattern = quotemeta($person_name); $pattern = '/^' . $ok_for_pattern . '$/'; ?>
In Java:
import java.util.regex.Pattern; static void main() { final String personName = "John Smith"; final String okForPattern = Pattern.quote(personName); final Pattern pattern = Pattern.compile("^" + okForPattern + "$"); }