请帮忙看一下这段正则表达式怎么写?
一段字符串如下:
"Module [AccOC_EvaluateData_SMD_de-DE] SplitEvaluate::Run() completed"
提取出中间的de-DE (de-DE可能为en-GB,es-ES,中间语言部分是可变的),如何写这个正则表达式,还有简单的代码,谢谢!
------解决方案--------------------
string str = @"Module [AccOC_EvaluateData_SMD_de-DE] SplitEvaluate::Run() completed";
string strmatch = @"(?is)(?<=\[AccOC_EvaluateData_SMD_)[^\]]+(?=\])";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(strmatch);
System.Text.RegularExpressions.Match m = reg.Match(str);
MessageBox.Show(m.Value);
------解决方案--------------------(?<=Module \[AccOC_EvaluateData_SMD_).*?(?=\])
------解决方案--------------------
string reg = "(?is)AccOC_EvaluateData_SMD_(?'gr'[^\]]+)";
Regex r = new Regex(reg);
Match m = r.Match(你的字符串);
Console.WriteLine(m.Groups["gr"]);