C# 简单的正则表达式问题?
在我正在解析的流中,我需要解析以下模式中的某些内容:C# 简单的正则表达式问题?,c#,.net,regex,string,parsing,C#,.net,Regex,String,Parsing,在我正在解析的流中,我需要解析以下模式中的某些内容: <b>PaintTitle</b></td><td class=detail valign="top" align=left><div align=left><font size=small><b>The new great album by Pet Shop Boys</b> painttitle宠物店男孩的新专辑 如何获得字符串“宠物店男孩
<b>PaintTitle</b></td><td class=detail valign="top" align=left><div align=left><font size=small><b>The new great album by Pet Shop Boys</b>
painttitle宠物店男孩的新专辑
如何获得字符串“宠物店男孩的新专辑”
,其中PaintTitle
保证每个专辑一次?(?:PaintTitle)。*(*
(?:<b>PaintTitle<\/b>).*<b>(.*)<\/b>
Match group 1是“宠物店男孩的新专辑”。如果您坚持使用正则表达式,您可以尝试以下方法:
(?:<b>PaintTitle<\/b>).*?<b>(.*?)<\/b>
(?:PaintTitle)。*?(*
谢谢Ian,我现在就试试。m.Groups[0]。Value返回整个字符串。不仅仅是“宠物店男孩的新专辑”,你知道为什么吗?m.Groups[1]也返回了错误的结果。它返回流前面的一个示例路径。我们能让它匹配专辑标题后的第一张吗?@Joan Venge:我用Perl对你的字符串进行了测试,对我来说没问题。我需要看更多的溪流,给你一个更好的表达。我还将回应对您的问题的评论所说的:为什么要使用正则表达式?谢谢,我使用正则表达式的原因是,我只需要一个哑字符串解析器,它可以给我一个流中的值列表。你是说有更好的方法吗?不过,这和编译器没什么两样。我猜投票被否决是因为普遍的反应是不应该使用正则表达式来解析HTML。类似Html敏捷包的东西几乎总是一个更好的主意。