【问题标题】:Regex match cron expression正则表达式匹配 cron 表达式
【发布时间】:2018-03-03 07:11:07
【问题描述】:

我想从 crontab 行中提取 cron 表达式。 我尝试了2个正则表达式(pcre php):

^(.*?)(?=[a-zA-Z])

.. 适用于*/1 * * * * wget --spider ...

^(.*?)(?=\/[a-zA-Z])

.. 适用于*/1 * * * * /my/path/ ...

我也尝试将两者结合起来:

^(.*?)(?=\/[a-zA-Z])|(?=[a-zA-Z])

... 但这也捕获了示例 1 中的“wget”。我不想匹配确切的表达式*/1 * * * *,这只是一个示例。它必须适用于任何 cron 表达式。

【问题讨论】:

  • 搜索“正则表达式匹配 cron 表达式”会返回很多结果,以至于它不再有趣了。
  • 链接的可能重复项中的答案似乎都不适合我,但我会仔细看看
  • @Tomalak:我完全不同意你提出的搜索词,无论是在 stackoverflow 还是在谷歌上,都会返回很多好的结果。

标签: regex cron


【解决方案1】:

毕竟我最终得到了这个不完美但可行的解决方案:

/((?<=^|\s)\*\/?\d*|(?<=^|\s)\d+(?=\s)|(?<=^|\s)\d+(?:\,\d+)+)/g

我知道它没有涵盖完整的 crontab 表达式语法。它还将匹配条目行中稍后出现的片段,但我认为通常不会有任何分离的数字/星号。如果我错了,请纠正我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多