如果存在 Python 正则表达式,或者在 Zapier 工作流程中

Posted

技术标签:

【中文标题】如果存在 Python 正则表达式,或者在 Zapier 工作流程中【英文标题】:Python regex if present or else in Zapier workflow 【发布时间】: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

任何帮助将不胜感激。

【问题讨论】:

【参考方案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;.+):?

【讨论】:

我试过了,但发生的情况是: 成为该部分文本的一部分。检查这个。请检查此regex101.com/r/T2UJcP/4 使用可以为 0 或更多的 * 怎么样? regex101.com/r/T2UJcP/5

以上是关于如果存在 Python 正则表达式,或者在 Zapier 工作流程中的主要内容,如果未能解决你的问题,请参考以下文章

完整的正则表达式知识汇总(Python知识不断更新)

python 正则表达式之零宽断言

正则表达式---python

Python正则表达式练习

python五十七课——正则表达式(多个字符)

js 正则表达式 验证公司名称 请高手写下?谢谢!