我正在构建一个符合以下要求的字符串的正则表达式:
例如,我们可以使用“asa22d asdcac3”或“Asdcd234 sacasW2 sas1 s sd1”(希望你能得到图片)。到目前为止,我有:
^[A-z 0-9]\s{0,1}
我没有使用\w
,因为它允许使用下划线。这适用于一组字符,但我需要允许五组由空格分隔的相同类型的字符串。
我该怎么做?
答案 0 :(得分:1)
您还没有说过您使用的语言,但这应该适合您:
^[A-Za-z0-9]+(\s[A-Za-z0-9]+){0,4}$
一个单词,后跟最多四个空格然后单词的实例。
答案 1 :(得分:0)
要匹配正则表达式中模式的多个实例,可以使用正则表达式引擎允许的匹配组,反向引用和间隔表达式的任意组合。
根据您的示例代码,您的正则表达式引擎明确支持间隔,因此请使用它。以下是两个可以实现目标的例子。
# Use POSIX character classes with an interval expression
^([[:alnum:]]+[[:space:]]?){1,5}$
# PCRE expression with intervals
\A(\p{Xan}+\s?){1,5}\Z