这是我删除的问题: 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解析或类似的东西。只是简单的正则表达式来找到这样的字符串数。
答案 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;