匹配冒号和分号之间的值

时间:2013-01-31 18:40:30

标签: c# regex

我有一个简单的问题:我的长篇文章充满了:“text:value; text:value; ...”。 我的问题是你如何获得:和;

之间的所有“价值观”

我的半正确(?)模式是: “文本:文本;.(*):”

有人能告诉我一个更好的方法吗?

2 个答案:

答案 0 :(得分:3)

这是你要搜索的正则表达式:

text:([^;]*);

[^;]匹配除分号之外的所有内容。

答案 1 :(得分:2)

模式:\w+:(?<value>\w+);

Regex pattern = new Regex(@"\w+:(?<value>\w+);");

foreach (Match match in pattern.Matches("text:bar;text:foo;"))
    Console.WriteLine(match.Groups["value"].Value);

打印:

bar
foo