标签: ruby regex escaping
我想写一个匹配以下四个字符中的任何一个的正则表达式:/,*, - ,+
但是我和/和*
如果我写/*/+-/则有问题
/*/+-/
我尝试使用Regex.escape,但它没有达到我的预期:我尝试了/#{Regex.escape('[+-/*]')}/和/#{Regex.escape('[+-\/\*]')}/
/#{Regex.escape('[+-/*]')}/
/#{Regex.escape('[+-\/\*]')}/
答案 0 :(得分:2)
使用百分比文字对/有帮助。在[]替代方案中,您无需转义*和+,如果您将其放在开头或结尾,则无需转义-
/
[]
*
+
-
%r{[/*+-]}