2010-07-25 5 views
5

En PHP, vous devez utiliser preg_quote() pour échapper tous les caractères d'une chaîne qui ont une signification particulière dans une expression régulière, pour permettre (par exemple) preg_match() de rechercher ces caractères spéciaux.Quel est l'équivalent Ruby de preg_quote()?

Quel est l'équivalent en Ruby du code suivant?

// The content of this variable is obtained from user input, in example. 
$search = "$var = 100"; 
if (preg_match('/' . preg_quote($search, '/') . ";/i")) { 
    // … 
} 

Répondre

6

Vous souhaitez Regexp.escape.

str = "[...]" 
re = /#{Regexp.escape(str)}/ 
"la[...]la[...]la".gsub(re,"") #=> "lalala" 
Questions connexes