gpt4 book ai didi

正则表达式匹配由分号分隔的唯一数字

转载 作者:行者123 更新时间:2023-12-01 11:33:00 28 4
gpt4 key购买 nike

我正在尝试找出以下输入和规则的正则表达式:

  • 字符串仅包含数字(1-9 和 10)和分号“;”字符作为分隔符
  • 值的数量可以从 1 到 4
  • 值必须是唯一的

我创建了以下表达式:

^([1-9]|10)(;([1-9]|10)){0,3}$

它涵盖了除数字唯一性之外的所有内容。

有效示例:

1;10
4;3
2
1;2;3;4
10;5;1

无效示例:

10;2;35
1,2,3
7*5;4
;4
1;;2
46
8;10;8
2;1;2 (this one doesn't currently work)

关于如何仅在值唯一时才匹配的任何建议?

最佳答案

添加否定前瞻,它使用反向引用来加强唯一性:

^([1-9]|10)(?!.*\b\1\b)(;([1-9]|10)(?!.*\b\3\b)){0,3}$

需要单词边界 \b 来防止 1 匹配 10

参见 live demo使用您的示例。

关于正则表达式匹配由分号分隔的唯一数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40473876/

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