【问题标题】:Python regex if present or else in Zapier workflow如果存在 Python 正则表达式,或者在 Zapier 工作流程中
【发布时间】:2020-12-24 20:33:19
【问题描述】:

我正在使用 zapier 创建自定义工作流程。它需要使用使用 Python Regex 的 zapier 格式化程序来解析给定的文本。

我使用的python正则表达式是

(?P<action>My-DATA)\s+:desc:(?P<desc>.*):\s+:priority:(?P<priority>.*):\s+:label:(?P<lbl>.*):

针对传入的文本

My-DATA :desc:I would like to get details from https://mydata.org/this-is-my-data: :priority:3: :label:data:

有几件事我无法弄清楚如何实现。每个部分使用: 分隔,部分名称也包含在:

有时会发生这样的情况,文本会在没有结尾 : 的情况下出现在这样的部分 My-DATA :desc:I would like to get details from https://mydata.org/this-is-my-data :priority:3 :label:data

此文本在每个部分的末尾缺少 :,但每个新部分始终以 : 开头,后跟部分名称。

我正在尝试找出一个正则表达式,无论是否以 : 结尾的部分都可以正常工作

工作正则表达式示例位于https://regex101.com/r/T2UJcP/2

任何帮助将不胜感激。

【问题讨论】:

    标签: python regex regex-group zapier


    【解决方案1】:
    (?P<action>My-DATA)\s+:desc:(?P<desc>.*?):?\s+:priority:(?P<priority>.*?):?\s+:lbl:(?P<lbl>.*?):?\s*$
    

    【讨论】:

      【解决方案2】:

      您可以在每个部分的末尾添加:?,这表明结尾冒号是可选的。存在与否都可以匹配。

      (?P&lt;action&gt;My-DATA) :desc:(?P&lt;desc&gt;.+):?\s+:priority:(?P&lt;priority&gt;.+):?\s+:label:(?P&lt;lbl&gt;.+):?

      【讨论】:

      猜你喜欢
      • 2020-11-18
      • 1970-01-01
      • 2012-09-12
      • 2012-07-24
      • 1970-01-01
      • 2023-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多