Я использую Ruby 2.4. У меня есть несколько строк, которые содержат символы, которые имеют особое значение в регулярном выражении. Таким образом, чтобы исключить любую возможность того, что эти символы интерпретируются как символы регулярного выражения, я использую «Regexp.escape», чтобы попытаться избежать их. Тем не менее, я до сих пор, кажется, не в состоянии сделать Дэ ниже регулярное выражение работы ...Почему RegExp.escape не работает в моем выражении Ruby?
2.4.0 :005 > tokens = ["a", "b?", "c"]
=> ["a", "b?", "c"]
2.4.0 :006 > line = "1\ta\tb?\tc\t3"
=> "1\ta\tb?\tc\t3"
2.4.0 :009 > /#{Regexp.escape(tokens.join(" ")).gsub(" ", "\\s+")}/.match(line)
=> nil
Как правильно избежать символы перед заменой пространства с «\ S +» выражение, whcih я хочу интерпретирована как регулярное выражение персонаж?