我希望只捕获vspace
之后的数字。你怎么会在正则表达式中这样做?这是一个示例字符串。
<img align="left" alt="dude its me" border="10" height="168" hspace="30" vspace="10" width="130" />
所以最终结果是10
答案 0 :(得分:2)
>> s = '<img align="left" alt="dude its me" border="10" height="168" hspace="30" vspace="10" width="130" />'
>> /vspace="(\d+)"/.match(s)[1]
=> "10"
或者,如果您不确定它是否存在:
if /vspace="(\d+)"/ =~ s
puts $1
else
puts "no match"
end
答案 1 :(得分:2)
请记住,可以使用单引号,双引号或无引号指定vspace。
n = Nokogiri::HTML(%Q{<img align="left" alt="dude its me" border="10" height="168" hspace="30" vspace="10" width="130" />})
n.css("img").first["vspace"]
答案 2 :(得分:1)
仅捕获10
尝试此一个:(?=\bvspace=")?(\d+)
/vspace="(\d+)"
应与vspace="10"
答案 3 :(得分:0)
/vspace="(\d+)"/$1/