gpt4 book ai didi

c# - 从具有特定模式的字符串中检索数字

转载 作者:太空宇宙 更新时间:2023-11-03 21:04:20 25 4
gpt4 key购买 nike

我有一个字符串值:

"Drop 1.0.2.34 - Compatible with core revision 123456"

我正在尝试从字符串中获取带有句点的值 1.0.2.34。我正在使用 Regex 尝试获取它,但它返回一个“”值。

例如

Match match = Regex.Match(string, "([0-9]*[.][0-9]*)*");
if (match.Success)
{
string version = match.Captures[0].Value;
}

我认为我遗漏了一些小东西,因为它确实在字符串中找到了匹配项,但没有值。有人可以帮忙吗?

最佳答案

您的正则表达式匹配一个空字符串,并且由于您只查找 1 个匹配项,因此它返回第一个字符之前的空字符串。

使用

[0-9]+(?:\.[0-9]+)+

参见 regex demo

详细信息:

  • [0-9]+ - 1+ 位
  • (?:\.[0-9]+)+ - 1+ 个序列:
    • \. - 一个点
    • [0-9]+ - 1+ 位。

C#:

string version = string.Empty;
Match match = Regex.Match(string, @"[0-9]+(?:\.[0-9]+)+");
if (match.Success)
{
version = match.Value;
}

关于c# - 从具有特定模式的字符串中检索数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42268750/

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