gpt4 book ai didi

c# - 根据格式验证字符串

转载 作者:太空狗 更新时间:2023-10-29 17:31:17 26 4
gpt4 key购买 nike

我有一个必须采用以下格式的字符串:

XXXX-XX-XXX-XXXX-XXXXXXXXXX-X

其中 X 是一个整数。整数的数量无关紧要。我只需要确保字符串:

  • 以整数开始和结束
  • 仅包含由破折号分隔的整数

验证这一点的最简单方法是什么?

最佳答案

这个正则表达式应该可以解决问题。它使用负数 lookbehind以避免连续匹配多个破折号。

^\d(\d|(?<!-)-)*\d$|^\d$

^ ^ ^ ^
| | | -- is a single digit, or
| | ------- ends with a digit
| ----------------consists on digits or dashes not preceded by dashes
---------------------starts with a digit

这是一个说明其用法的 C# 代码(也在 ideone 上):

var r = new Regex("^\\d(\\d|(?<!-)-)*\\d$|^\\d$");
Console.WriteLine(r.IsMatch("1-2-3"));
Console.WriteLine(r.IsMatch("1-222-3333"));
Console.WriteLine(r.IsMatch("123"));
Console.WriteLine(r.IsMatch("1-2-3-"));
Console.WriteLine(r.IsMatch("1"));
Console.WriteLine(r.IsMatch("-11-2-3-"));

关于c# - 根据格式验证字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10636284/

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