我有一个字符串https://stackverflow.com
。我想要一个新的字符串,其中包含使用正则表达式从给定字符串://
之后的内容。
示例:
x="https://stackverflow.com"
newstring="stackoverflow.com"
示例2:
x="https://www.stackverflow.com"
newstring="www.stackoverflow.com"
请给我正则表达式代码。
答案 0 :(得分:3)
"https://stackverflow.com"[/(?<=:\/\/).*/]
#⇒ "stackverflow.com"
(?<=..)
是positive lookbehind。
答案 1 :(得分:1)
如果"parameters": {
"ids": {
"name": "ids",
"in": "query",
"description": "A list of IDs (separated by pipes) to filter the Returns",
"required": false,
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"collectionFormat": "pipes"
}
}
,
一个非常简单的方法是string = "http://stackoverflow.com"
。但这不是正则表达式。
正则表达式解决方案如下:
string.split("http://")[1]
解释:
string.scan(/^http:\/\/(.+)$/).flatten.first
返回正则表达式的第一个匹配项。String#scan
匹配行的开头^
匹配这些字符http:
匹配\/\/
//
设置&#34;匹配组&#34;包含任意数量的任何字符。这是扫描返回的值。(.+)
匹配行尾$
从.flatten.first
中提取结果,在这种情况下返回嵌套数组。 答案 2 :(得分:1)
您可能想尝试一下:
#!/usr/bin/env ruby
str = "https://stackoverflow.com"
if mtch = str.match(/(?::\/\/)(/S)/)
f1 = mtch.captures
end
match
方法中有两个捕获组:第一个是指向您的搜索模式的非捕获组,第二个是指之后的所有其他捕获组。之后,captures
方法会将所需结果分配给f1
。
我希望这能解决你的问题。