适当的gsub这个URL的正则表达式?

时间:2013-06-24 21:00:03

标签: ruby regex

假设我有一个代表网址的字符串:

http://www.mysite.com/somepage.aspx?id=33

..我想逃避正斜杠和问号:

http:\/\/www.mysite.com\/somepage.aspx\?id=33

如何通过gsub执行此操作?我一直在那里玩一些正则表达式,但还没有找到胜利的公式。

3 个答案:

答案 0 :(得分:1)

我建议你使用

url = url.gsub(/(?=[\/?])/, '\\')

如图所示

url = 'http://www.mysite.com/somepage.aspx?id=33'
url = url.gsub(/(?=[\/?])/, '\\')
puts url

<强>输出

http:\/\/www.mysite.com\/somepage.aspx\?id=33

答案 1 :(得分:1)

这个result = searchText.gsub(/(\/|\?)/, "\\\\$1")

怎么样?

答案 2 :(得分:1)

我建议使用一个块来使其更具可读性:

url.gsub(/[\/?]/) { |c| "\\#{c}" }