代码之家  ›  专栏  ›  技术社区  ›  ptrcao

需要一个正则表达式规则,它将取值范围的较低数字,去掉加号,将日期解释为零

  •  -1
  • ptrcao  · 技术社区  · 6 年前

    webscraping plugin

    • 20-25(供应商有20-25台)
    • 50+(供应商有50台或更多)
    • 11月1日(供应商预计11月1日有库存)

    这使我的生活变得困难,因为我必须准备生成的.csv文件,以便将上述每个场景分别转换为一个数字:

    • 50(去掉加号)
    • 0(如果库存预计在11月1日到达,则当前为零)
    • 0(如果库存预计在11月1日到达,则当前为零)

    accepts regex rules
    enter image description here

    你能为我设计一个正则表达式规则来实现上述目标吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   silel Vadim Landa    6 年前

    我很确定regex引擎不能返回输入中没有的东西,所以返回 0 对于 1-Nov Nov-1

    这是我想出的正则表达式:

    ^\d+(?=\+|-\d+)
    

    说明:

    • \d+ 匹配一个或多个数字(0,1,2,…,9);
    • `(?=…)被调用 positive lookahead ;
    • \+|-\d+ 匹配文字 + - 后跟至少一个数字。因为它是在一个积极的前瞻中,正则表达式引擎只会 输入匹配,而不是返回匹配的那部分(我只能建议你访问上面的链接,如果你想了解更多关于正面的lookaheads)。

    • 20-50 20
    • 50+ --&燃气轮机; 50
    • --&燃气轮机;