我有这样的模式:^([a-zA-Z0-9]+ )+$它应该匹配如下句子:
^([a-zA-Z0-9]+ )+$
sfjgsjsg_sbskdf_dsjkfshfsh sdfhs_skjhsijdgh_dsnjbkg_sdkfsbk_nasjksdj_nsdjkfs
我不知道字的大小,也不知道每行有多少字。问题是上面模式只识别如下句子:
sfjgsjsg_sbskdf_dsjkfshfsh_ sdfhs_skjhsijdgh_dsnjbkg_sdkfsbk_nasjksdj_nsdjkfs_
等于_-〉(space)
_
(space)
wwwo4jvm1#
您可以使用
^[a-zA-Z0-9]+(?: [a-zA-Z0-9]+)*$
或者,如果有空格的意思:
^[a-zA-Z0-9]+(?:\s[a-zA-Z0-9]+)*$
如果只能出现一个水平空格:
^[a-zA-Z0-9]+(?:[\p{Zs}\t][a-zA-Z0-9]+)*$
并且如果可以存在多于一个:
^[a-zA-Z0-9]+(?:[\p{Zs}\t]+[a-zA-Z0-9]+)*$
请注意,通过将*、[\p{Zs}\t]或\s*放置在^(紧接着它)和$(紧接着它)锚旁边,可以添加前导/尾随空格支持。
*
[\p{Zs}\t]
\s*
^
$
[a-zA-Z0-9]+
\s
(?: [a-zA-Z0-9]+)*
1条答案
按热度按时间wwwo4jvm1#
您可以使用
或者,如果有空格的意思:
如果只能出现一个水平空格:
并且如果可以存在多于一个:
请注意,通过将
*
、[\p{Zs}\t]
或\s*
放置在^
(紧接着它)和$
(紧接着它)锚旁边,可以添加前导/尾随空格支持。^
-字符串开始[a-zA-Z0-9]+
-一个或多个ASCII字母数字字符[\p{Zs}\t]
是除换行符以外的任何空格,\s
匹配任何空格)(?: [a-zA-Z0-9]+)*
-零个或多个重复的空格以及一个或多个ASCII字母数字字符$
-字符串结束。