Php 用户名的REGEX预匹配

Php 用户名的REGEX预匹配,php,regex,Php,Regex,有人知道为什么在这个常规表达中: $name=“abcdefABCDF12345ääèèèèèèèèèèèèèèèèèèèèèè∂ð"$[]%&/()^*?¿¨_-{}:;,." 在任何情况下,我应该如何设置为允许&.-(是的,点和&太,但不是上面提到的) 谢谢。'-表示和之间的所有字符 您需要转义-(顺便说一句,您不需要转义任何其他内容)'-表示'和之间的所有字符 您需要转义-(顺便说一句,您不需要转义任何其他内容)转义“-”。此外,您还需要在begging和结尾添加delimeters。转义

有人知道为什么在这个常规表达中:

$name=“abcdefABCDF12345ääèèèèèèèèèèèèèèèèèèèèèè∂ð"$[]%&/()^*?¿¨_-{}:;,."

在任何情况下,我应该如何设置为允许&.-(是的,点和&太,但不是上面提到的)


谢谢。

'-
表示
之间的所有字符

您需要转义
-
(顺便说一句,您不需要转义任何其他内容)

'-
表示
'
之间的所有字符

您需要转义
-
(顺便说一句,您不需要转义任何其他内容)

转义“-”。此外,您还需要在begging和结尾添加delimeters。

转义“-“。此外,您需要在Begging和end中添加delimeters。

您缺少delimeters。您缺少delimeters。
-
如果是角色类中的最后一个内容,则不需要转义
[A-Z-]
将通过
Z
-
匹配所有
A
。@j883376:是的,但这里不是。@Miguel:你已经知道了。你认为
a-z
是什么意思?@SLaks true,当你不习惯这样做时就会发生。如果
-
是字符类中的最后一个内容,则不需要转义
[A-Z-]
将通过
Z
-
匹配所有
A
。@j883376:是的,但这里不是。@Miguel:你已经知道了。你认为a-z是什么意思?@SLaks是真的,当你不习惯这样做时就会发生这种情况。
 if(!preg_match("[a-zA-Z0-9àáâäãåèéêëìíîïòóôöõøùúûüÿýñçčšžÀÁÂÄÃÅÈÉÊËÌÍÎÏÒÓÔÖÕØÙÚÛÜŸÝÑßÇŒÆČŠŽ∂ð &\.\'-_]+", $name))
{
//is also matching []/()^*?:;,
}