Regex帮助-需要在Regex公式中允许%


Regex Help - need to allow % in a regex formula

我有一个函数,检查URL是否包含任何特殊字符,我想添加'%'到允许的,因为我使用%PREFIX%作为容器。我对Regex比较陌生,想知道是否有人可以帮助我将%添加到允许的列表中。函数如下:

function specialChars($url)
{       
    if (preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url) != true)
    {
        $this->errors[] = "Please remove any special characters";           
    }       
}

提前感谢。问候,

如http://www.regular-expressions.info/reference.html所述,[](及其内容)定义了一个字符类。

由于%不是字符类中的元字符(或者根本不是),您可以将它放在您希望允许它进入的字符类中,例如[a-z0-9-%]