正则表达式以匹配 OPO 邀请链接


Regex to match OPO Invite link

if (preg_match('#^https?://account.oneplus.net/invite/claim/....-....-....-....#', $url) === 0) {
    return "Invalid link";
}

我目前使用此代码(在 PHP 中)来验证 url。但是,当您尝试使用链接后面的其他内容时,它也为真。如何解决此问题,以便只有以或不带有/结尾的链接才能正常工作?

这是我正在寻找的正则表达式:

preg_match('#^https?://account.oneplus.net/invite/claim/'S{4}-'S{4}-'S{4}-'S{4}/?$#', $url) === 0

我建议你用'S替换所有的点(它匹配任何非空格字符),所以....会写成'S{4} .因为它也会匹配水平空间。并添加模式(/?)以匹配最后的可选/