java在从标记的内联样式属性抓取数据时遇到麻烦
因此,我有两个带有内联样式的跨距:
<span style="...;width:8px;..."></span>
<span style="...;width:16px;..."></span>
<span style="...;width:13px;..."></span>
<span style="...;width:20px;..."></span>
<span style="...;width:0px;..."></span> //width=0px
<span style="...;width:5px;..."></span>
<span style="...;width:3px;..."></span>
<span style="...;width:90px;..."></span>
<span style="...;width:200px;..."></span>
我想提取“px”值并将其存储到数组中。当我们用width=0px
命中一个span时,这表示该数组的结束。因此,上述内容如下所示:
array1 = [8, 16, 13, 20]
array2 = [5, 3, 90, 200]
我们可以使用整数数组的数组列表来存储数据
到目前为止,我所拥有的是非常基本的:Elements spanWidths= doc.select("span");
到目前为止,这产生了:
"border:...;width:8px;..."
我相信我们用正则表达式来解决这个问题,但我不太习惯。有什么帮助吗
# 1 楼答案
正则表达式将是
\bwidth\s*:\s*(\d+)px
。然后从第一个捕获组中获取值。也就是说,对结果匹配调用.group(1)