如何构建一个允许使用字母数字且仅包含一个空格的正则表达式:
MM56M pass
MM 54M pass
MMM 5
555555 pass
LPOLKG pass
MM 5T YU does not pass
由于
答案 0 :(得分:1)
这会有效吗?
^[A-Za-z0-9]+( [A-Za-z0-9]+)?$
它匹配一个或多个任何大小写的字母或数字,然后可能是一个空格和一个或多个任何大小写的字母或数字
答案 1 :(得分:0)
这个正则表达式应该有用......
/^[[:alnum:]]+( [[:alnum:]]+)?$/
演示:https://regex101.com/r/hQ6fM4/2(不是此处使用的g
修饰符不会在PHP中使用,如果字符串是多行的,请使用m
,以便{{1}影响每一行)。
^$
是字母或数字字符的posix字符括号。后面的[[:alnum:]]
是一个量词,表示这些字符中的一个或多个。 +
是锚点,^$
是字符串的开头,^
是结尾。 $
是一个分组,()
之后使整个第二组可选。 ?
是分隔符,用于说明正则表达式的开始和结束位置。
或者如果你想要一种奇怪的方法:
/