Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 为所有匹配项创建字符串,然后使用适当的数组方法访问感兴趣的字符串。例如: src.scan(/(?<=src=)[^&]+/).first # => "59flluvbaj110hp6ht5hrveof8%40group.calenda_Ruby_Regex - Fatal编程技术网

Ruby 为所有匹配项创建字符串,然后使用适当的数组方法访问感兴趣的字符串。例如: src.scan(/(?<=src=)[^&]+/).first # => "59flluvbaj110hp6ht5hrveof8%40group.calenda

Ruby 为所有匹配项创建字符串,然后使用适当的数组方法访问感兴趣的字符串。例如: src.scan(/(?<=src=)[^&]+/).first # => "59flluvbaj110hp6ht5hrveof8%40group.calenda,ruby,regex,Ruby,Regex,为所有匹配项创建字符串,然后使用适当的数组方法访问感兴趣的字符串。例如: src.scan(/(?<=src=)[^&]+/).first # => "59flluvbaj110hp6ht5hrveof8%40group.calendar.google.com" src.scan(/(?“59flluvbaj110hp6ht5hrveof8%40group.calendar.google.com” oops是否有人发表了评论,而我最终删除了它?对不起,我对stackover

为所有匹配项创建字符串,然后使用适当的数组方法访问感兴趣的字符串。例如:

src.scan(/(?<=src=)[^&]+/).first
# => "59flluvbaj110hp6ht5hrveof8%40group.calendar.google.com"
src.scan(/(?“59flluvbaj110hp6ht5hrveof8%40group.calendar.google.com”

oops是否有人发表了评论,而我最终删除了它?对不起,我对stackoverflow很陌生。嗯,我想有某种方法可以直接提取斜体内容,而不是在多个步骤中提取无效的字符串。您是否使用一些字符串操作将其从HTML中剥离?如果是,请向我们展示HTML.oops是否有人发表了评论,而我最终删除了它?对不起,我对stackoverflow很陌生。嗯,我想有某种方法可以直接提取斜体内容,而不是在多个步骤中提取无效的字符串。您是否使用一些字符串操作将其从HTML中剥离?如果是,请向我们展示HTML。
"sample string above"[/&src=(.*?)&/, 1]
"sample string above".sub(/^.*src=(.*?)&.*$/, '\1')
require 'cgi'
require 'uri'

uri = URI.parse(src)
hash = Hash[URI::decode_www_form(CGI::unescapeHTML(uri.query))]
hash['src'] # => "cnuvtn9nofljk5kq9381ic5odg@group.calendar.google.com"
hash = Hash[CGI::unescapeHTML(uri.query).split('&').map{ |q| q.split('=') }]
URI::decode_www_form(CGI::unescapeHTML(uri.query)).select{ |k,v| k == 'src' }
=> [["src", "*59flluvbaj110hp6ht5hrveof8@group.calendar.google.com*"], ["src", "cnuvtn9nofljk5kq9381ic5odg@group.calendar.google.com"]]

URI::decode_www_form(CGI::unescapeHTML(uri.query)).select{ |k,v| k == 'src' }[0]
=> ["src", "*59flluvbaj110hp6ht5hrveof8@group.calendar.google.com*"]

URI::decode_www_form(CGI::unescapeHTML(uri.query)).select{ |k,v| k == 'src' }[1]
=> ["src", "cnuvtn9nofljk5kq9381ic5odg@group.calendar.google.com"]
require 'nokogiri'

html = '<img src="http://www.google.com/calendar/embed?showTitle=0&mode=WEEK&height=600&wkst=1&bgcolor=%23FFFFFF&src=59flluvbaj110hp6ht5hrveof8%40group.calendar.google.com&color=%23B1365F&src=cnuvtn9nofljk5kq9381ic5odg%40group.calendar.google.com&color=%232952A3&ctz=America%2FNew_York" style=" border-width:0 " width="800" height="600" frameborder="0" scrolling="no">'

doc = Nokogiri.HTML(html)
src = doc.at('img')['src']
=> "http://www.google.com/calendar/embed?showTitle=0&mode=WEEK&height=600&wkst=1&bgcolor=%23FFFFFF&src=59flluvbaj110hp6ht5hrveof8%40group.calendar.google.com&color=%23B1365F&src=cnuvtn9nofljk5kq9381ic5odg%40group.calendar.google.com&color=%232952A3&ctz=America%2FNew_York"
src.scan(/(?<=src=)[^&]+/).first
# => "59flluvbaj110hp6ht5hrveof8%40group.calendar.google.com"