gpt4 book ai didi

javascript - 我如何制作一个正则表达式来匹配一个逗号分隔的列表,列表中最多有 5 个项目?

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

应该匹配正则表达式的例子:

  • green, yellow-3, 12345, hello, world
  • 蓝色、红色、蓝绿色、橙色
  • 绿色,12345,世界
  • 你好
  • 绿色

我想创建一个正则表达式来匹配具有以下规则的逗号分隔列表:

  • 列表可以包含 1、2、3、4 或 5 项。
  • 除每个逗号后的可选空格外,项目不得包含空格。
  • 最后一项不能有尾随逗号。
  • 每项的长度必须介于 2 到 30 个字符之间。

我目前拥有的(不起作用):

/^([a-z0-9]{2,30}, ?)?[a-z0-9]{2, 30}$/i

最佳答案

试试这个:

/^[a-z0-9-]{2,30}(,\s?[a-z0-9-]{2,30}){0,4}$/i

分手:

/^
[a-z0-9-]{2,30} # One item for sure
( # A capture group. You can make it non-capture if not required
,\s? # Comma followed by optional space
[a-z0-9-]{2,30} # Another item
){0,4} # 0 to 4 repetition.
$/ix

您甚至可以使用 \w 来缩短您的正则表达式,这相当于 - [0-9a-zA-Z_],在您更新的评论之后,您说你也可以接受_。所以,只需使用这个:

/^[\w-]{2,30}(, ?[\w-]{2,30}){0,4}$/

关于javascript - 我如何制作一个正则表达式来匹配一个逗号分隔的列表,列表中最多有 5 个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19101976/

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