【发布时间】:2015-09-08 09:57:02
【问题描述】:
我正在尝试解析一些源文件以获取一些标准信息。
源文件可能如下所示:
// Name: BoltBait
// Title: Some cool thing
或
// Name :
// Title : Another thing
或
// Title:
// Name:
等等
我用来解析信息的代码如下所示:
Regex REName = new Regex(@"\/{2}\s*Name\s*:\s*(?<nlabel>.*)\n", RegexOptions.IgnoreCase);
Match mname = REName.Match(ScriptText); // entire source code file
if (mname.Success)
{
Name.Text = mname.Groups["nlabel"].Value.Trim();
}
如果该字段有信息,则效果很好。如果该字段留空,它将不起作用。
例如,在上面的第三个示例中,Title 字段返回匹配“// Name:”,我希望它返回空字符串。
我需要正则表达式专家的帮助。
我觉得正则表达式太贪心,所以我尝试了以下表达式:
@"\/{2}\s*Name\s*:\s*(?<nlabel>.*?)\n"
然而,它没有帮助。
【问题讨论】:
-
也许可以试试
new Regex(@"\/{2}\s*Name\s*:\s*(?<nlabel>.+)\n", RegexOptions.IgnoreCase)?
标签: c# regex regex-group