我有一个可以识别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,后跟一个短划线(' - ')和一个数字。
我怎样才能获得这种正则表达式?
答案 0 :(得分:4)
您可以使用以下正则表达式:
\b[\dA-F]{8}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{12}-\d+
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;