我有一个可以识别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+




Demo

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;

关于c# - 正则表达式以标识Guid后跟数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29138593/

10-10 10:14