gpt4 book ai didi

javascript - RegExp : Match '3' words of a list, 不重复

转载 作者:行者123 更新时间:2023-12-03 07:51:26 25 4
gpt4 key购买 nike

我正在开发一个应用程序,要求用户编写列表中的三个单词(顺序并不重要)。

我可以尝试这样的事情:

\^ [ itemA | itemB | itemC | itemD | item E | item F] {3}

但显然,用户可以对同一项目写入三次。有没有办法使用正则表达式对其进行归档并使用单个“匹配”函数对其进行评估?

当然,我使用的是 JavaScript。

谢谢大家!

<小时/>

对不起,让我澄清一下。

我有以下屏幕:

Example

因此用户有 7 个可能的答案,他必须写出其中的三个。

当然,这个“屏幕”有很多类型的问题,其中正则表达式可以很好地评估它,但在这个问题中,我不知道它是否足够。

谢谢大家。

最佳答案

为了检查我是否理解,您正在尝试验证:

  1. 用户已输入恰好三项,
  2. 每个项目都是预定义列表的成员
  3. 每件商品都是独一无二的?

这不太适合正则表达式。您可以满足前两个要求,但直接使用 JavaScript 或类似的东西来实现第三个要求要简单得多。

如果你真的想这样做,你可以这样做:

^(itemA|itemB|itemC|itemD|item E|itemF) (?!\1)(itemA|itemB|itemC|itemD|item E|itemF) (?!\1)(?!\2)(itemA|itemB|itemC|itemD|item E|itemF)

这使用 negative lookahead :

  1. 第一项必须匹配 itemA-itemF
  2. 第二个项目必须首先匹配第一个项目,并且也匹配 itemA-itemF
  3. 第三个项目不得与第一个项目匹配,也不得与第二个项目匹配,并且还必须与 itemA-itemF 匹配。

关于javascript - RegExp : Match '3' words of a list, 不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34974093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com