Regex 需要匹配任何包含[a-z0-9\x20]但开头或结尾没有空格且没有双空格的字符串
到目前为止我有Regex 需要匹配任何包含[a-z0-9\x20]但开头或结尾没有空格且没有双空格的字符串,regex,Regex,到目前为止我有 ^[a-z0-9]+[a-z0-9\x20]+[a-z0-9]+$ 符合所有条件,但不符合双空格。请尝试以下操作: ^[a-z0-9](?: ?[a-z0-9])*$ 如图所示 (如果必须的话,您可以将?:后面的空格替换为\x20)应该可以这样做: ^[a-z0-9]+((\x20)?[a-z0-9]+)*$ 这意味着您可以在开头有字母或数字,一次或多次,后面是一个包含空格0或1次的块,后面是一个或多个字母或数字,可以包含0或多次。 编辑:我认为这应该行得通。字母/数字块
^[a-z0-9]+[a-z0-9\x20]+[a-z0-9]+$
符合所有条件,但不符合双空格。请尝试以下操作:
^[a-z0-9](?: ?[a-z0-9])*$
如图所示
(如果必须的话,您可以将
?:
后面的空格替换为\x20
)应该可以这样做:^[a-z0-9]+((\x20)?[a-z0-9]+)*$
这意味着您可以在开头有字母或数字,一次或多次,后面是一个包含空格0或1次的块,后面是一个或多个字母或数字,可以包含0或多次。编辑:我认为这应该行得通。字母/数字块之间只能有0或1个空格。如何:
^[a-z0-9]+(\x20[a-z0-9]+)*$
一个或多个字母或数字,后跟空格&一个或多个字母/数字,重复0次或多次。无法匹配(假定)有效字符串
aa
谢谢,但它对我无效(不匹配双空格)。如果这很重要的话,我应该指定我使用的是php。我使用\x20是因为我想确定我只匹配了空格,而没有其他空格。我再次尝试了您的解决方案,无法复制以前的失败。我可能复制粘贴错误-这是漫长的一天。谢谢Trange,这里没用。一定是复制粘贴错了。
^[a-z0-9]+(\x20[a-z0-9]+)*$