C# 用于标识后跟数字的Guid的正则表达式

C# 用于标识后跟数字的Guid的正则表达式,c#,regex,string,C#,Regex,String,我有一个用于标识Guid的正则表达式 string pattern = @"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" 我有一个正则表达式,可以识别数字 string pattern = "^[0-9]+$" 我需要结合这两个正则表达式。 我的任务是从一个句子中识别以下类型的字符串 Input : id=1 name=4a3779ab-56cc-41b5-ac7c-03bbf67

我有一个用于标识Guid的正则表达式

string pattern = @"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"
我有一个正则表达式,可以识别数字

string pattern = "^[0-9]+$"
我需要结合这两个正则表达式。 我的任务是从一个句子中识别以下类型的字符串

  Input : id=1 name=4a3779ab-56cc-41b5-ac7c-03bbf673439c-53607.jpg count=53607
  Output : 4a3779ab-56cc-41b5-ac7c-03bbf673439c-53607.jpg 
   or just 4a3779ab-56cc-41b5-ac7c-03bbf673439c-53607
输出为Guid,后跟破折号('-')和数字


如何获得这种正则表达式?

您可以使用以下正则表达式:

\b[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}-\d+


@Umirov-如果我的输入将包含多个GUI怎么办?我假设输入中可以有多个Guid,但“Guid Number”的组合仅为one@TBAG对不起,我误解了你的问题。我更新了答案。它匹配
guid编号
模式。
string input = "id=1 name=4a3779ab-56cc-41b5-ac7c-03bbf673439c-53607.jpg count=53607";
Match m = Regex.Match(input, @"\b[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}-\d+", RegexOptions.IgnoreCase);
string output = null;
if (m.Success)
    output = m.Value;