对于我的IRC机器人,我需要将一个主掩码与另一个带有通配符的主掩码进行匹配。IRC主机掩码匹配
实施例:
[email protected]应该匹配:[email protected]??blo.users
的问号装置中的每个字符和号码。
如果这是可能的,然后它会很高兴地看到它的字符串匹配如下:
[email protected]与巴勃罗巴勃罗@平安*
比赛!和@始终在主掩码中。
有人可以为此任务制定正则表达式吗?
我试过了,但是代码很大,而且通常不准确。
谢谢分配!
对于我的IRC机器人,我需要将一个主掩码与另一个带有通配符的主掩码进行匹配。IRC主机掩码匹配
实施例:
[email protected]应该匹配:[email protected]??blo.users
的问号装置中的每个字符和号码。
如果这是可能的,然后它会很高兴地看到它的字符串匹配如下:
[email protected]与巴勃罗巴勃罗@平安*
比赛!和@始终在主掩码中。
有人可以为此任务制定正则表达式吗?
我试过了,但是代码很大,而且通常不准确。
谢谢分配!
我写了这个为我创建的PHPIRCd。
function match($mask, $expression) {
$expression = str_replace('\\*', '.+', preg_quote($expression, '/'));
return preg_match('/^' . $expression. '$/', $mask);
}
你可以这样称呼它:match('[email protected]', 'Pab*o!*@*blo')
。这可能不是你想要的,但我希望它能让你走上正轨。
如果您需要Perl解决方案,可以使用[`IRC :: Utils`](http://search.cpan.org/perldoc?IRC::Utils#matches_mask)模块中的`matches_mask()`。 – Hinrik 2011-04-27 22:50:29
当你说'巨大' - 什么,100行? 5000?如果它是100行或更少,我会说与测试用例一起发布在你的问题中。 – 2011-01-09 16:08:03