如何在此正则表达式中允许空格?

sor*_*ist 8 php regex

我是正则表达式的业余爱好者,如何在这个正则表达式中允许空格(无关紧要)?

if(preg_match('/[^A-Za-z0-9_-]/', $str)) return FALSE;
Run Code Online (Sandbox Code Playgroud)

cha*_*aos 21

if(preg_match('/[^A-Za-z0-9_ -]/', $str)) return FALSE;
Run Code Online (Sandbox Code Playgroud)

请注意,我将空格放在连字符之前.如果空格在连字符之后,我将指定从下划线到空格的字符范围.(也可以通过在连字符前面加一个反斜杠来逃避它.)

这假设你所说的"允许"是:这个正则表达式用于验证字符串,如果匹配,则不允许使用字符串(因此return FALSE).因此,否定字符类([^...])中的字符实际上是允许的字符.(这引起了这个问题的一些混乱.)


Ami*_*iri 16

\s在常规expretion这样'/[^A-Za-z0-9_-\s]/'
意味着空间