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 < /代码>标签。对不起,当然是贪婪的操作员。我的坏。谢谢您的帮助。它很好。很乐意帮助。请考虑接受。我不知道答案。