【发布时间】:2012-11-06 17:10:16
【问题描述】:
使用 c# 我正在尝试使用正则表达式来获取出现在冒号后的一段文本的值。我知道字段名称,但后面的冒号位于可变位置。该值将在下一个空格处结束。
因此:
KnownFieldName : 值
然后我想将该值放入一个组中。
我发现了许多类似的问题,但没有一个能真正为我指明解决这个问题的方向。
这是一段较大代码的一部分,但基本上它适合这里:
foreach (var v in fieldsToParse)
{
var match = Regex.Match(line, v.pattern, RegexOptions.IgnorePatternWhitespace);
if (match.Success)
v.value = match.Groups[v.name].Value;
}
【问题讨论】:
-
你的文本的其余部分是什么样的?
-
其余部分可能包含更多字段和答案
-
只是字段和答案,用换行符分隔,还是还有更多?
-
看看stackoverflow.com/questions/11088873/…,它也处理多行值。或者,tl;dr,Rubular 演示:rubular.com/r/8w3X6WGq4l。
-
感谢您的建议,是我对正则表达式和正则表达式的 c# 实现缺乏了解让我失望了!