C# 为什么我的捕获在.NET正则表达式中不起作用?
我正在解析一些文本(当然是HTML,但它是小东西,RegEx(应该)可以很好地完成这项工作)。 我试图使用一些捕获,但它们并没有做我认为应该做的事情C# 为什么我的捕获在.NET正则表达式中不起作用?,c#,.net,regex,C#,.net,Regex,我正在解析一些文本(当然是HTML,但它是小东西,RegEx(应该)可以很好地完成这项工作)。 我试图使用一些捕获,但它们并没有做我认为应该做的事情 Match m = new Regex("(.*?)<br>(.*?)/(.*?)/(.*)", RegexOptions.None).Match("word<br>stuff1/stuff2/stuff3") CaptureCollection c = m.Captures; Match m=new Regex((.
Match m = new Regex("(.*?)<br>(.*?)/(.*?)/(.*)",
RegexOptions.None).Match("word<br>stuff1/stuff2/stuff3")
CaptureCollection c = m.Captures;
Match m=new Regex((.*)
(.*)/(.*)/(.*)/(.*)),
RegexOptions.None).匹配(“word
stuff1/stuff2/stuff3”)
CaptureCollection c=m.捕获;
在我看来,c应该包含4个条目;每组括号中的内容。
但事实并非如此。无论我是否包含任何括号、所有括号或第一个括号,我的CaptureCollection都只包含原始字符串
我遗漏了一些关于CaptureCollection的信息?还是我在正则表达式中捕捉不正确
谢谢你的解决方案(如果可以的话,我会投赞成票)你必须用\,like/来逃避你的/吗?我不确定,我会试试看
Match m = new Regex("(.*?)<br>(.*?)\/(.*?)\/(.*)",
RegexOptions.None).Match("word<br>stuff1/stuff2/stuff3")
CaptureCollection c = m.Captures;
Match m=new Regex((.*)
(.*)\/(.*)\/(.*)”,
RegexOptions.None).匹配(“word
stuff1/stuff2/stuff3”)
CaptureCollection c=m.捕获;
您想要的是m.组,而不是m.捕获
阅读上的捕获信息。我不知道如何投票,但你可以接受这个解决方案——而且应该接受(假设你是Mark Byers的答案)。啊,这就是勾号的作用。为什么不使用Html Agility Pack并消除所有正则表达式问题呢?