gpt4 book ai didi

linux - 我在使用正则表达式的 monit 语法中做错了什么?

转载 作者:太空宇宙 更新时间:2023-11-04 12:01:42 25 4
gpt4 key购买 nike

在我的 monitrc 中,我接下来写了:

check file mysite.com-access.log with path /var/log/apache2/mysite.com-access.log
if content = "\/1.[01]\" 4(\d){2}" then alert

但是 systemctl status monit.service 说我的语法有错误:

extsites monit[19043]:  * Starting daemon monitor monit
extsites monit[19043]: /etc/monit/monitrc:305: syntax error '\d'
extsites monit[19043]: ...fail!

之前我输入了 "\/1.[01]\"[45](\d){2}",但是语法错误在 '[45]' 中。

我做错了什么?我所有的正则表达式都在 https://regex101.com/ 中.

更新:我将字符串更正为 if content = "^\/1\.[01]\"[45](\d){2}"then alert但语法错误仍然存​​在。

最佳答案

如果我是正确的,monit 使用 POSIX 正则表达式语法。

所以按照这个描述:https://www.regular-expressions.info/posixbrackets.html
...您可以将 \d 替换为 [:digit:]

这对我来说不合逻辑,但也许 monit 没有得到 "\d"的权利

"content"-examples 之后在 monit-documentation 中,双引号应该不是问题

关于linux - 我在使用正则表达式的 monit 语法中做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52164129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com