Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何将正则表达式字符串替换为'\';_Ruby_Regex - Fatal编程技术网

Ruby 如何将正则表达式字符串替换为'\';

Ruby 如何将正则表达式字符串替换为'\';,ruby,regex,Ruby,Regex,我想在正则表达式替换中包含“\”字符。例如: E{bla} -> \bla 我(在ruby中)使用的语句是 但我明白了 E{bla} -> \1 相反。我怎样才能得到我想要的?你需要6个这样的反斜杠: text.gsub!(/\\E{(\w*)}/, '\\\\\1') \1作为\\\1传递给gsub(第1、第3和第5个反斜杠分别跳过以下反斜杠)。这被regexp引擎解释为\后跟\1(第一个反斜杠转义第二个反斜杠) text.gsub!(/\\E{(\w*)

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

E{bla}      -> \bla
我(在ruby中)使用的语句是

但我明白了

E{bla}      -> \1

相反。我怎样才能得到我想要的?

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

text.gsub!(/\\E{(\w*)}/, '\\\\\1')
\1
作为
\\\1
传递给gsub(第1、第3和第5个反斜杠分别跳过以下反斜杠)。这被regexp引擎解释为
\
后跟
\1
(第一个反斜杠转义第二个反斜杠)

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