C# 匹配模式dddG xyz的正则表达式

C# 匹配模式dddG xyz的正则表达式,c#,regex,C#,Regex,我的尝试: 我想从字符串z中匹配314G-VK1 string exp1 = @"\d+G-\w{3}"; string s = "CN=314G-VK1,OU=Grupper,OU=314,OU=Skole,OU=03Skien,DC=login,DC=sk-asp,DC=no"; string z = Regex.Match(s, exp1)?.Value; Console.WriteLine(z); // => 314G-VK1 在哪里, 314是十进制数,可以是任意位数。说125

我的尝试:

我想从字符串z中匹配314G-VK1

string exp1 = @"\d+G-\w{3}";
string s = "CN=314G-VK1,OU=Grupper,OU=314,OU=Skole,OU=03Skien,DC=login,DC=sk-asp,DC=no";
string z = Regex.Match(s, exp1)?.Value;
Console.WriteLine(z); // => 314G-VK1
在哪里,

314是十进制数,可以是任意位数。说125632588

G-是常数

VK1可以是字符或小数,但长度只有3,比如说er5

我怎样才能满足要求

从我的代码中,我只得到输出314G-。我试过几种方法,但都没有用。

你可以用

string exp1 = "\\d+G-";
string z = Regex.Match("CN=314G-VK1,OU=Grupper,OU=314,OU=Skole,OU=03Skien,DC=login,DC=sk-asp,DC=no",exp1).Value;
Console.WriteLine(z);

\w{3}
模式将匹配3个单词字符,即大部分为字母、数字和下划线。如果需要,您可以对其进行精确,例如,为了仅匹配3个大写ASCII字母或数字,您可以使用
[A-Z0-9]{3}
。要包含小写字母,请将它们添加到字符类,
[A-Za-z0-9]{3}

:

.NET正则表达式测试结果:

:

你可以用

string exp1 = "\\d+G-";
string z = Regex.Match("CN=314G-VK1,OU=Grupper,OU=314,OU=Skole,OU=03Skien,DC=login,DC=sk-asp,DC=no",exp1).Value;
Console.WriteLine(z);

\w{3}
模式将匹配3个单词字符,即大部分为字母、数字和下划线。如果需要,您可以对其进行精确,例如,为了仅匹配3个大写ASCII字母或数字,您可以使用
[A-Z0-9]{3}
。要包含小写字母,请将它们添加到字符类,
[A-Za-z0-9]{3}

:

.NET正则表达式测试结果:

:


您几乎是正确的,但只需在G-之后添加
[0-9a-zA-Z]{3}

string exp1 = @"\d+G-\w{3}";
string s = "CN=314G-VK1,OU=Grupper,OU=314,OU=Skole,OU=03Skien,DC=login,DC=sk-asp,DC=no";
string z = Regex.Match(s, exp1)?.Value;
Console.WriteLine(z); // => 314G-VK1

检查demo

您几乎是正确的,但是您只需要在G-之后添加
[0-9a-zA-Z]{3}

string exp1 = @"\d+G-\w{3}";
string s = "CN=314G-VK1,OU=Grupper,OU=314,OU=Skole,OU=03Skien,DC=login,DC=sk-asp,DC=no";
string z = Regex.Match(s, exp1)?.Value;
Console.WriteLine(z); // => 314G-VK1
检查演示

尝试以下操作: 字符串exp1=@“\d+G-[a-zA-Z0-9]{3}”

[a-zA-Z0-9]{3}将与3字符字母数字字符串匹配。

请尝试以下操作: 字符串exp1=@“\d+G-[a-zA-Z0-9]{3}”


[a-zA-Z0-9]{3}将与3字符字母数字字符串匹配。

看起来您在这方面并没有投入太多精力。你说你试过几种方法。您应该编辑您的问题,并包括您尝试过的内容,以便我们可以看到您的问题所在。我尝试了近3个小时。不管怎样,我找到了解决办法。谢谢大家对我的帮助。看来你在这件事上并没有下多大的功夫。你说你试过几种方法。您应该编辑您的问题,并包括您尝试过的内容,以便我们可以看到您的问题所在。我尝试了近3个小时。不管怎样,我找到了解决办法。谢谢大家帮助我。