简体   繁体   English

此网址是否正确的gsub正则表达式?

[英]Proper gsub regular expression for this URL?

Say I have a string representing a URL: 假设我有一个表示URL的字符串:

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

..I'd like to escape the forward slashes and the question mark: ..我想避免使用正斜杠和问号:

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

How can I do this via gsub? 我该如何通过gsub做到这一点? I've been playing with some regular expressions in there but haven't hit on the winning formula yet. 我一直在使用一些正则表达式,但是还没有敲定赢家公式。

I suggest you use 我建议你用

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

As shown here 如图所示

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

output 输出

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

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

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM