我正在尝试为 400-699 范围内的所有 SIP 代码解析 SIP 消息,但 401 除外(它用于客户端身份验证并用垃圾填充我们的日志)。
消息看起来像这样(小子集,有大量代码,我想避免将它们全部列出):
SIP/2.0 400 Bad Request
SIP/2.0 401 Unauthorized
SIP/2.0 500 Internal Server Error
SIP/2.0 604 Does not exist anywhere
这是我当前的正则表达式(不起作用,仍在尝试解决这个问题,所以如果它不是最优雅的,请原谅)
(?m)^SIP/2\.0\s(400|40[2-9]|4[1-90-9]|[5-60-90-9]).*$
如果没有找到一堆 PHP 信息,我似乎无法确定 PCRE 是否支持字符类减法。任何帮助使这项工作真正有用。谢谢!!!
编辑:刚刚修改了正则表达式。我更近了,但它仍然包含 401 消息。