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"