2013-06-24 68 views
0

說我有一個表示URL字符串:正確的gsub這個URL的正則表達式?

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

..I'd喜歡逃避正斜槓和問號:

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

如何通過GSUB做到這一點?我一直在玩一些正則表達式,但還沒有擊中獲勝公式。

+1

'.'? –

+0

''我想保留。 – larryq

回答

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

這個怎麼樣result = searchText.gsub(/(\/|\?)/, "\\\\$1")

1

我會建議使用一個塊,使其更具可讀性:

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