Regex 如何使用正则表达式检测字符串中的不同字数?
我想检测一个字符串是否包含多个不同的单词,并想限制单词的数量。除空格外,所有类型的字符 例如:我想检查以下字符串是否不超过三个不同的单词:Regex 如何使用正则表达式检测字符串中的不同字数?,regex,regexp-like,Regex,Regexp Like,我想检测一个字符串是否包含多个不同的单词,并想限制单词的数量。除空格外,所有类型的字符 例如:我想检查以下字符串是否不超过三个不同的单词: lorum -> True lorum ipsum -> True lorum ipsum dolor -> True lorem lorem ipsum dolor ipsum ipsum -&g
lorum -> True
lorum ipsum -> True
lorum ipsum dolor -> True
lorem lorem ipsum dolor ipsum ipsum -> True
lorem lorem <=> -> True
1 2 3 -> True
lorem ipsum dolor sit lorum -> False
lorem ipsum dolor sit -> False
1 2 3 4 -> False
lorum->True
lorum ipsum->True
lorum ipsum dolor->True
lorem lorem ipsum dolor ipsum ipsum->True
lorem lorem->True
1 2 3->正确
lorem ipsum dolor sit lorum->False
lorem ipsum dolor sit->False
1 2 3 4->错误
令我大吃一惊的是,使用正则表达式实际上可以实现这一点。
这确实是丑陋和低效的,但它是有效的
不过,您可能不应该使用它:这不是适合此工作的工具
/^(\S*)(?: \1)*(?:(?: (\S*))(?: \1| \2)*(?: (\S*))?)?(?: \1| \2| \3)*$/gm