如何用'\'替换正则表达式字符串

时间:2011-07-13 09:43:49

标签: ruby regex

我想在正则表达式替换中包含'\'字符。例如:

E{bla}      -> \bla

我使用的声明(在ruby中)是

text.gsub!(/\\E{(\w*)}/, '\\\1')

但我得到

E{bla}      -> \1

代替。我如何得到我想要的东西?

1 个答案:

答案 0 :(得分:1)

你需要6个这样的反斜杠:

text.gsub!(/\\E{(\w*)}/, '\\\\\1')

\\\\\\1作为\\\1传递给gsub(第1个,第3个和第5个反斜杠,每个都反转以下反斜杠)。这被正则表达式引擎解释为\后跟\1(第一个反斜杠转义为第二个反斜杠)