IRC 主机掩码匹配

发布于 2024-10-11 06:24:22 字数 585 浏览 8 评论 0原文

对于我的 IRC 机器人,我需要将一个主机掩码与另一个带有通配符的主机掩码进行匹配。

示例:

[email protected] 应匹配:Pa?lo!P?blo @??blo.users

问号表示每个字符和数字。

如果可能的话,很高兴看到它与下面的字符串匹配:

[email protected] 与 Pablo!Pablo@Pab* 匹配

!和 @ 始终位于主机掩码中。

有人可以为这个任务制作一个正则表达式吗?

我已经尝试过,成功了,但是代码很大而且经常不准确。

谢谢分配!

For my IRC bot I need to match a hostmask with another hostmask with wildcards in it.

Example:

[email protected] should match: Pa?lo!P?blo@??blo.users

The questionmark means every character and number.

If it's possible then it would be nice to see it match the string below:

[email protected] matches with Pablo!Pablo@Pab*

The ! and @ are always in the hostmask.

Could someone make a regular expression for this task?

I've tried, succeeded but the code is huge and often inaccurate.

Thanks allot!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

樱桃奶球 2024-10-18 06:24:22

我为我正在创建的 PHPIRCd 编写了此内容。

function match($mask, $expression) {
    $expression = str_replace('\\*', '.+', preg_quote($expression, '/'));
    return preg_match('/^' . $expression. '$/', $mask);
}

您可以这样称呼它:match('Pablo!Pablo@Pablo', 'Pab*o!*@*blo')。这可能不完全是您正在寻找的内容,但我希望它能让您走上正确的道路。

I wrote this for my PHPIRCd I'm creating.

function match($mask, $expression) {
    $expression = str_replace('\\*', '.+', preg_quote($expression, '/'));
    return preg_match('/^' . $expression. '$/', $mask);
}

You could call it like so: match('Pablo!Pablo@Pablo', 'Pab*o!*@*blo'). This may not be exactly what you're looking for, but I hope it sends you on the right track.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文