需要正则表达式在C#中查找文本

时间:2013-12-30 17:43:07

标签: c# regex

这是我删除的问题: https://stackoverflow.com/questions/20843964/need-regex-to-find-text-in-c-sharp

我有一个类似于此的字符串:

<Label Content="Hi"/>
<SomeControl Header ="welcome"/>

从上面的字符串数据中,我想得到:

Content="Hi"
Header="welcome"

正则表达式可以组合或分开来获取这两个字符串。

在我编辑问题之前,它已被删除。我想进行以下编辑:

通过尝试在线正则表达式测试人员,我设法尝试了以下内容:

 Content="[^"]*")

但是当我把它放在C#字符串中时,我得到错误:

 string expr = @"Content="[^"]*")";

我知道需要一些字符串转义序列。所以想找到它。但是我还没有找到它。为什么我要像这样提交这样的xml(XAML文件)是我想要找到硬编码字符串的出现次数。所以我不需要任何xml解析或类似的东西。只是简单的正则表达式来找到这样的字符串数。

2 个答案:

答案 0 :(得分:0)

最后跟着为我工作:

        string expr = @"Content=""[^""]*""";
        Regex reg = new Regex(expr);
        string data = @"<SomeControl Content=""Hi"">"; // This will be replaced with actual file content
        var res = reg.Match(data);
        var occuranceCount = res.Groups.Count;

答案 1 :(得分:0)

我明白你的观点。

当您确定其他方式不合适时,您肯定可以使用RegEx捕获多个结果。 (虽然xml是一种非常方便的格式)

你有没有想在最后使用.Match * es *?

string expr = @"Content=""[^""]*""";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(expr);
string data = @"<SomeControl Content=""sup""><anotherControl Content=""hey""><athird Content=""yo""></athird></anotherControl></SomeControl>"; // This will be replaced with actual file content
var res = reg.Matches(data);
var occuranceCount = res.Count;