Ruby - 逃避正则表达式字符的简单方法

时间:2015-01-30 11:59:56

标签: ruby regex string

我有一个这样的表达式:

 s.gsub! /[\?\/\\]/, ''

事实上,禁止字符列表比这长。有些需要逃避,有些则不需要。有没有办法我可以将字符放在一些文字结构(?/\)中并说“从字符串中删除所有这些”。我知道Regexp.quote但不确定如何在此上下文中使用它。

1 个答案:

答案 0 :(得分:3)

您可以在Ruby正则表达式中插入语句,就像对字符串一样。

/#{...}/

在你的情况下

s.gsub! /[#{Regexp.escape('?/\')}]/, ''