用于空格的OOPHP正则表达式

用于空格的OOPHP正则表达式,php,regex,Php,Regex,我正在构建一个面向对象的HP web应用程序,我正在开发一个只接受小写/大写字母和空格的正则表达式。我一直在尝试实现空格,但由于某些原因它不起作用,通常在JAVACC中,我会这样做: (["a" - "z"])+ | (["A" - "Z"])+ | " " | "\t" | "\n" | "\r" 如何在PHP中重写top表达式?这就是我到目前为止所做的(它可以工作,但我不知道如何在php中实现空格) 可以向角色类中添加空格。如果您只想匹配空格,则可以添加空格字符”,或者使用匹配空格的\s

我正在构建一个面向对象的HP web应用程序,我正在开发一个只接受小写/大写字母和空格的正则表达式。我一直在尝试实现空格,但由于某些原因它不起作用,通常在JAVACC中,我会这样做:

(["a" - "z"])+ | (["A" - "Z"])+ | " " | "\t" | "\n" | "\r" 
如何在PHP中重写top表达式?这就是我到目前为止所做的(它可以工作,但我不知道如何在php中实现空格)


可以向角色类中添加空格。如果您只想匹配空格,则可以添加空格字符
,或者使用匹配空格的
\s
\n
\r
\t
\f

正则表达式:

^               # the beginning of the string
[a-zA-Z\s]*     # any character of: 'a' to 'z', 'A' to 'Z',
                # whitespace (\n, \r, \t, \f, and " ") (0 or more times)
$               # before an optional \n, and the end of the string

您还可以将这个空格字符添加到现有的正则表达式中,只要它是您想要匹配的空格,而不是其他形式的空格,如制表符等

/^[a-zA-Z ]*$/
         ^

你为什么不能使用
\s
?@poplaines,我根本不知道,在JAVACC中没有感谢你的意思,但我宁愿使用\s,因为我对代码中的空格不太友好。
^               # the beginning of the string
[a-zA-Z\s]*     # any character of: 'a' to 'z', 'A' to 'Z',
                # whitespace (\n, \r, \t, \f, and " ") (0 or more times)
$               # before an optional \n, and the end of the string
/^[a-zA-Z ]*$/
         ^