我一直在抓取页面以编译列表以比较价格和尺寸。我一直只使用widthxlength,不包括height。但是,有些测量值会随高度而变化,有时还会加上小数,例如:
5.0x10.0x8.0
10.0x10.0x9.0
10.0x15.0x9.0
10.0x20.0x9.0
我正在尝试排除.0和最后一个尺寸。最终只能得到:
5x10 10x10 10x15 10x20
我已经使用\d+[ ][X][ ]\d+
和(\d+'x\d+')
来解决类似的问题,但是我很难找到一种破解方法。
答案 0 :(得分:0)
您可以匹配整个字符串,捕获宽度和长度的整数部分,然后替换为两个捕获组。匹配
(\d+)\.\d+x(\d+)\.\d+(?:x\d+\.\d+)?
并替换为
$1x$2
https://regex101.com/r/BOkRx6/3
如果小数部分可能不存在,则将模式中的每个小数部分放入可选的非捕获组:
(\d+)(?:\.\d+)?x(\d+)(?:\.\d+)?(?:x\d+(?:\.\d+)?)?