【问题标题】:Python Regex including Comma and DotPython 正则表达式,包括逗号和点
【发布时间】:2021-10-05 23:07:54
【问题描述】:

我正在尝试从列中提取项目的物理尺寸,目前我的正则表达式工作正常。我得到了帮助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

有什么帮助吗? 提前致谢

【问题讨论】:

    标签: python regex pandas extract


    【解决方案1】:

    你可以使用

    r'\b(\d+(?:[.,]\d+)*\s*[xX*]\s*\d+(?:[.,]\d+)*(?:\s*[xX*]\s*\d+(?:[.,]\d+)*)?)\b'
    

    请参阅regex demo

    详情

    • \b - 单词边界
    • ( - 第 1 组:
      • \d+ - 一位或多位数字
      • (?:[.,]\d+)* - 零次或多次出现 ., 以及一位或多位数字
      • \s*[xX*]\s* - xX* 用零个或多个空格括起来
      • \d+(?:[.,]\d+)* - 一个或多个数字,然后出现零个或多个 ., 和一个或多个数字
      • (?:\s*[xX*]\s*\d+(?:[.,]\d+)*)? - xX* 的可选出现,其中包含零个或多个空格,后跟一个或多个数字,然后是零个或多个 ., 和一个或多个数字
    • ) - 第 1 组结束
    • \b - 单词边界

    【讨论】:

    • 感谢@Wiktor!完美运行!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多