C# c中锚定标记的正则表达式#

C# c中锚定标记的正则表达式#,c#,regex,C#,Regex,我的锚定标签如下所示:- <a href="/as" title="asd" page="as" name="asd" reference="Yes" type="relativepath">as </a> <a [^>]*?>(?<text>.*?)</a> 我这样试过:- <a [^>]*?>(?<text>.*?)</a> ]*?>(?*?) 当结束锚标记应该

我的锚定标签如下所示:-

    <a href="/as" title="asd" page="as" name="asd" reference="Yes" type="relativepath">as
</a>
 <a [^>]*?>(?<text>.*?)</a>

我这样试过:-

 <a [^>]*?>(?<text>.*?)</a>
]*?>(?*?)
当结束锚标记
应该在同一行时,它工作正常
但在我的例子中,结束锚标签应该出现在下一行

 <a [^>]*?>(?<text>.*?)</a>
我需要一个正则表达式,它应该支持,如果结束锚标记在下一行

 <a [^>]*?>(?<text>.*?)</a>
欢迎您的建议。

您应该使用
(?s)
内联选项:

 <a [^>]*?>(?<text>.*?)</a>
(?s)<a [^>]*?>(?<text>.*?)</a>
输出:

 <a [^>]*?>(?<text>.*?)</a>

 <a [^>]*?>(?<text>.*?)</a>
编辑:

 <a [^>]*?>(?<text>.*?)</a>
这是一个更新版本的正则表达式,它考虑了
”,RegexOptions.Singleline);

只需使用DOTALL修饰符,它会使正则表达式中的点与偶数换行符匹配

 <a [^>]*?>(?<text>.*?)</a>
@"(?s)<a [^>]*?>(?<text>.*?)</a>"
@“(s)]*?>(?*?)

 <a [^>]*?>(?<text>.*?)</a>
您可以使用否定字符类

 <a [^>]*?>(?<text>.*?)</a>
@"<a [^>]*?>(?<text>[^<>]*)</a>"
@“]*?>(?[^]*)”

强制性:您不应该使用正则表达式解析HTML。使用没有“代码> >代码>的HTML敏捷包,它将与第一个开头<代码> A 标签到最后一个关闭符>代码> A < /代码>标签。对不起,当然是贪婪的操作员。我的坏。谢谢您的帮助。它很好。很乐意帮助。请考虑接受。我不知道答案。