如何使用Regex检测字符串中不同单词的数量?

时间:2018-06-26 12:10:58

标签: regex regexp-like

我想检测一个字符串是否包含多个不同的单词,并希望限制单词的数量。单词,除空格外的所有字符。

例如:我想检查以下字符串是否包含不超过三个不同的单词:

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

1 个答案:

答案 0 :(得分:1)

令我惊讶的是,使用正则表达式实际上是可以实现的。 这确实很丑陋且效率低下,但确实可行。

您可能不应该使用它:这不是这项工作的正确工具。

/^(\S*)(?: \1)*(?:(?: (\S*))(?: \1| \2)*(?: (\S*))?)?(?: \1| \2| \3)*$/gm

https://regex101.com/r/0cgoFF/1