有谁知道为什么在这个常规表达中:
$ name =“abcdefABCDF12345àáâäãåèéëëíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅ∂ð”$ []%& /()^ *?¿¨_-{}:;,。Ç“
if(!preg_match("[a-zA-Z0-9àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð &\.\'-_]+", $name))
{
//is also matching []/()^*?:;,
}
在任何情况下,我应该如何设置允许& .'- _(是的,点和&也可以,但不是上面提到的)。
感谢。
答案 0 :(得分:3)
'-_
表示'
和_
之间的所有字符
你需要逃避-
。 (顺便说一下,你不需要逃避任何其他事情)
答案 1 :(得分:1)
逃离“ - ”。此外,您需要在开头和结尾添加分隔符。