Perl正则表达式测试空白或表达式

Bij*_*lle 0 regex perl

为什么这个表达式对于字符1V(和其他)返回true ?我怎么能重写它,只有当它是空白或来自a-z?时它才会返回true ?

~((^$)||(^[a-z]$))~
Run Code Online (Sandbox Code Playgroud)

Rob*_*t P 8

你的问题在中间:

||
Run Code Online (Sandbox Code Playgroud)

这意味着:

OR the empty string OR
Run Code Online (Sandbox Code Playgroud)

空字符串可以在任何字符之间.或者没有人物.基本上,你说"匹配任何东西".

要使用正则表达式执行OR,只使用单个管道.

您可以将其简化为:

/^[a-z]?$/
Run Code Online (Sandbox Code Playgroud)