我有这个正则表达式读取值说明后的所有行:

var descriptionMatches =
  Regex.Matches(source, @"\b(?<key>Description)\s*(?<value>\w+)");


问题是,返回值只是第一个单词,而不是整行。

我所缺少的

最佳答案

\w+更改为.+。这将匹配所有字符,而不仅仅是一系列单词字符(不包括空格)。

另外,如果要.匹配换行符(表示要与描述后的所有行匹配),则必须使用RegexOptions.Singleline选项:

var descriptionMatches =
  Regex.Matches(source, @"\b(?<key>Description)\s*(?<value>.+)", RegexOptions.Singleline);

09-25 19:34