Python 正则表达式,包括逗号和点

标签 python regex pandas extract

我正在尝试从列中提取项目的物理尺寸,目前我的正则表达式工作正常。我得到了帮助 here
现在唯一的问题是正则表达式不包含点或逗号
我目前的正则表达式:

'(\d{1,3}\s*[xX*]\s*\d{1,3}(?:\s*[xX*]\s*\d{1,3})?)'
它适用于:
120 x 80 x 100
120x80
120 x 80
120X80x100
120*80 * 100
现在我还需要它来查找 [,.]
120,3x80,9x1003
120.3x80.9
有什么帮助吗?
提前致谢

最佳答案

您可以使用

r'\b(\d+(?:[.,]\d+)*\s*[xX*]\s*\d+(?:[.,]\d+)*(?:\s*[xX*]\s*\d+(?:[.,]\d+)*)?)\b'
regex demo .
细节:
  • \b - 一个词边界
  • ( - 第 1 组:
  • \d+ - 一位或多位数字
  • (?:[.,]\d+)* - 零次或多次出现 .,和一位或多位数字
  • \s*[xX*]\s* - x , X*用零个或多个空格括起来
  • \d+(?:[.,]\d+)* - 一位或多位数字,然后零次或多次出现 .,和一位或多位数字
  • (?:\s*[xX*]\s*\d+(?:[.,]\d+)*)? - 可选出现 x , X*用零个或多个空格括起来,后跟一个或多个数字,然后出现零个或多个 .,和一位或多位数字

  • ) - 第 1 组结束
  • \b - 一个词边界
  • 关于Python 正则表达式,包括逗号和点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68590366/

    相关文章:

    python - python react 分页按钮前进后退

    python - 正则表达式查找子字符串,然后根据分隔符分割

    java - 如何使用 Pattern 和 Matcher 使程序输出整个单词

    python - np.timedelta64 到天、周、月等的转换

    python - 为 pypy 构建 pandas

    python - 如何计算数据框中每行缺失的数据

    python - 如何提取两个标记之间的子字符串?

    python - AWS CDK 解析错误 : Unable to resolve object tree with circular reference

    PHP - FFMPEG - 无法在媒体输出上应用多个正则表达式

    python - 消除 CSV 文件中不需要的换行符