C# 将正则表达式与xml结合使用

C# 将正则表达式与xml结合使用,c#,xml,regex,C#,Xml,Regex,我有一个xml文件: 280242102176594-114236481365088358dsadsad管理员 我想在和之间画一条线 我有一个正则表达式。*?,但它返回带标记的字符串。 你能帮助我吗? 等待回应 附言:对不起,我的英语很差 正如其他人已经指出的那样,你可能会站在一个更安全、更干净的地方 也就是说,您已经有了一个有效的正则表达式。只需确保检索到捕获组1。这将得到第一对括号中的内容 如果您使用的是C,而不是在上调用toString,请查看其属性并获取其第一个元素: string pa

我有一个xml文件:

280242102176594-114236481365088358dsadsad管理员

我想在和之间画一条线

我有一个正则表达式。*?,但它返回带标记的字符串。 你能帮助我吗? 等待回应
附言:对不起,我的英语很差

正如其他人已经指出的那样,你可能会站在一个更安全、更干净的地方

也就是说,您已经有了一个有效的正则表达式。只需确保检索到捕获组1。这将得到第一对括号中的内容

如果您使用的是C,而不是在上调用toString,请查看其属性并获取其第一个元素:

string pattern = "<from_id>(.*?)</from_id>";
string input = "<?xml version=\"1.0\" encoding=\"utf-8\"?><response list=\"true\"><count>2802</count><post><id>4210</id><from_id>2176594</from_id><to_id>-11423648</to_id><date>1365088358</date><text>dsadsad #ADMIN</text>";
Match match = Regex.Match(input, pattern);
if (match.Success){
    System.Console.WriteLine(match.Groups[1].Value);
}
看到它在这里面工作了吗


如果您想获得模式的所有匹配项,可以使用,并以相同的方式迭代MatchCollection中的每个匹配项。

您必须特别选择选择捕获的组1。您使用的是特定的语言或应用程序吗?我使用的c语言应该是这样的-string who=Regex.Matchstr,.*?.ToString;为什么不使用XML解析器从XML文档中读取safe/cleaner呢?您必须检查文档,以了解如何捕获某些组或仅输出返回的数组?并查看另一个索引是否包含捕获的组。我为你重新标记了这个问题。@Joce本身不是重复的。它似乎不知道解决这个问题的可能性。不确定,因为我从来没有使用过.NET,但偶尔会读一些关于它的东西。NET不仅可以与C/C++一起使用,还是也可以与C一起使用?您使用列表的原因是什么?@user2037334不管怎样,没有理由使用列表。但是,如果希望检索XML中的匹配列表而不是单个匹配列表,则可以使用列表。然后,您可以迭代匹配并获得每个匹配的捕获组1,以获得所需的结果。