gpt4 book ai didi

c# - 以逗号分隔的整数的正则表达式

转载 作者:太空狗 更新时间:2023-10-30 01:01:14 26 4
gpt4 key购买 nike

我需要一个 Regex,它只允许用逗号 2,-3,4 分隔的整数(正负),但逗号只能在中间两个整数,在开头或结尾或两个连续的逗号,如 23,34,,4

目前我有这个:

Regex regex = new Regex(@"^\d{1,10}([,]\d{10})*$");
if (!regex.IsMatch("123,34,2,34,234"))

但它似乎不匹配任何东西,它甚至拒绝像 123,34,2,34,234

这样的有效输入

能否请您指出我上面的正则表达式有什么问题。

最佳答案

\d{10} 子模式只匹配 10 位数字的 block 。

您需要使用 {1,10} 允许 1 到 10(或使用 + 允许 1 和更多)

@"^\d{1,10}(?:,\d{1,10})*$"

@"^\d+(?:,\d+)*$"

请注意使用非捕获组 (?:...),它不存储子匹配项,仅用于对子模式序列进行分组。

参见 regex demo

编辑:要允许匹配负值,请添加可选的 -:

@"^-?\d+(?:,-?\d+)*$"
^^ ^^

参见 another regex demo .

关于c# - 以逗号分隔的整数的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40526253/

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