需要匹配包含[a-z0-9 \ x20]但在开头或结尾没有空格且没有双空格的任何字符串

时间:2010-10-04 15:25:27

标签: regex

到目前为止我已经

^[a-z0-9]+[a-z0-9\x20]+[a-z0-9]+$

除了不匹配双空格外,其他所有条件都匹配。

3 个答案:

答案 0 :(得分:1)

试试这个:

^[a-z0-9](?: ?[a-z0-9])*$

rubular

a_bc   # match (underscore '_' represents space)
abc    # match
a_     # no match
_a     # no match
a__b   # no match

(如果有必要,可以用?:替换\x20之后的空格)

答案 1 :(得分:1)

这些方面的东西应该有效:

^[a-z0-9]+((\x20)?[a-z0-9]+)*$

这意味着您可以在开头一次或多次使用字母或数字,然后是包含0或1次空格的块,后跟1个或多个字母或数字,可以包括0次或更多次。

编辑:我认为这应该工作。在字母/数字块之间只能有0或1个空格。

答案 2 :(得分:1)

怎么样:

^[a-z0-9]+(\x20[a-z0-9]+)*$

一个或多个字母或数字,后跟空格和数字;一个或多个字母/数字,重复0次或更多次。