C#にテキストがあり、正規表現を使用して「一致」し、値を取得する必要があります(値を取得するためにテキストを解析します)。
テキスト:
var asunto1 ="IDP20101125_0003--Pendientedeautorización-";
var asunto2 = "ID P20101125_0003 any text any text";
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);
//...
}