C# 正则表达式整行
我使用此正则表达式读取值描述后的所有行:C# 正则表达式整行,c#,regex,C#,Regex,我使用此正则表达式读取值描述后的所有行: var descriptionMatches = Regex.Matches(source, @"\b(?<key>Description)\s*(?<value>\w+)"); var描述匹配= 正则表达式匹配(源,@“\b(?说明)\s*(?\w+)); 问题是,返回的值只是第一个字,而不是整行 我所缺少的,将\w+更改为+。这将匹配所有字符,而不仅仅是一系列单词字符(不包括空格) 此外,如果希望匹配换行符(表示要匹配
var descriptionMatches =
Regex.Matches(source, @"\b(?<key>Description)\s*(?<value>\w+)");
var描述匹配=
正则表达式匹配(源,@“\b(?说明)\s*(?\w+));
问题是,返回的值只是第一个字,而不是整行
我所缺少的,将
\w+
更改为+
。这将匹配所有字符,而不仅仅是一系列单词字符(不包括空格)
此外,如果希望
匹配换行符(表示要匹配描述后面的所有行),则必须使用RegexOptions。单线选项:
var descriptionMatches =
Regex.Matches(source, @"\b(?<key>Description)\s*(?<value>.+)", RegexOptions.Singleline);
var描述匹配=
Regex.Matches(源,@“\b(?Description)\s*(?。+)”,RegexOptions.Singleline);
这里有一个很好的工具来帮助解决这些问题:您最好使用RTFM来解决stackoverflow