gpt4 book ai didi

c# - 鉴于c#中的整数开头,从字符串中获取特定数字

转载 作者:行者123 更新时间:2023-11-30 16:49:21 25 4
gpt4 key购买 nike

我正在尝试从字符串中获取匹配值。我必须从给定的字符串中得到两种数字。数字从 5 开始,后接 6 位数字。 ex(5******) 从1开始接5位(1*****)。

我使用以下正则表达式:

(5)[\d]{6} 
(1)[\d]{5}

代码:

  var sampleId5 = Regex.Match(input, @"(5)[\d]{6}");
if (sampleId5.Success)
{
string test = sampleId5.Value;
}

var sampleId1 = Regex.Match(input, @"(1)[\d]{5}");
if (sampleId1.Success)
{
string test1 = sampleId1.Value;
}

这里的问题是,无论我通过 5106542 还是返回两个协调的结果。

我也尝试过这个(^5)[\d]{6}。不管怎样,它不起作用。

我只需要 5******。任何帮助都将得到真正的重视。

最佳答案

问题是你的表达式对匹配的位置没有任何要求,所以他们在中间找到匹配。

如果您需要查找符合条件的独立数字,请在表达式两边添加 \b 以确保两边都没有字母/数字:

var sampleId1 = Regex.Match(input, @"\b(1)[\d]{5}\b");
// ^^ ^^

现在表达式只考虑孤立的数字序列,5106542 不会匹配,因为匹配的序列在中间。

关于c# - 鉴于c#中的整数开头,从字符串中获取特定数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36793982/

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