我在 C# 中有任何文本,我需要使用正则表达式“匹配”,并获取一个值(解析文本以获取值)。
文本:
var asunto1 = "ID P20101125_0003 -- Pendiente de autorización --";
var asunto2 = "ID P20101125_0003 任何文本任何文本";
var asunto3 = "ID_P20101125_0003 任何文本任何文本";
我需要获得价值:
var peticion = "P20101125_0003";
我有这个正则表达式,但对我来说失败了:
//ID P20101125_0003 -- Pendiente de autorización --
patternPeticionEV.Append(@"^");
patternPeticionEV.Append(@"ID P");
patternPeticionEV.Append(@"(20[0-9][0-9])"); // yyyy
patternPeticionEV.Append(@"(0[1-9]|1[012])"); // MM
patternPeticionEV.Append(@"(0[1-9]|[12][0-9]|3[01])"); // dd
patternPeticionEV.Append(@"(_)");
patternPeticionEV.Append(@"\d{4}");
//patternPeticionEV.Append(@"*");
patternPeticionEV.Append(@"$");
if (System.Text.RegularExpressions.Regex.IsMatch(asuntoPeticionEV, exprRegular, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
{
var match = System.Text.RegularExpressions.Regex.Match(asuntoPeticionEV, exprRegular, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
//...
}