Python正则表达式提取宽度x深度x高度

2022-03-30 00:00:00 python pandas regex extract

问题描述

我正在尝试从DF中的列&Quot;Description&Quot;中提取项目的物理维度,以使用它创建新列。

尺寸通常以这种格式(120x80x100)出现在详细说明的中间,例如:

Lorem ipsum dolor sit amet, consectetur adipiscing elit 120x80x100 ed do eiusmod tempor...

但有时之间有空格:

120 x 80 x 100

或没有高度:

120x80
120 x 80

有帮助吗? 提前感谢


解决方案

您可以使用regex,d+s*xs*d+(?:s*xs*d+)?

解释:

  • d+:一个或多个数字
  • s*:零个或多个空格字符
  • x:文字,x
  • (?:s*xs*d+)?:可选非捕获组

如果希望数字为一到三位数,请将d+替换为d{1,3},如regex,d{1,3}s*xs*d{1,3}(?:s*xs*d{1,3})?所示。

如果您的代码要求您使用组,请执行以下操作:

(d{1,3}s*xs*d{1,3}(?:s*xs*d{1,3})?)

相关文章