我想在正则表达式替换中包含'\'字符。例如:
E{bla} -> \bla
我使用的声明(在ruby中)是
text.gsub!(/\\E{(\w*)}/, '\\\1')
但我得到
E{bla} -> \1
代替。我如何得到我想要的东西?
答案 0 :(得分:1)
你需要6个这样的反斜杠:
text.gsub!(/\\E{(\w*)}/, '\\\\\1')
\\\\\\1
作为\\\1
传递给gsub(第1个,第3个和第5个反斜杠,每个都反转以下反斜杠)。这被正则表达式引擎解释为\
后跟\1
(第一个反斜杠转义为第二个反斜杠)