Regex -获取所有的href和innertext

本文关键字:href innertext 获取 Regex | 更新日期: 2023-09-27 18:18:49

我试图从文本文件中获得URLsInnerTexts,我无法访问设备上的DOM对象(只有文本文件),所以只有RegEx可以使用。

<a href="/LinkClick.aspx?fileticket=a random text string">I want this text</a>

我需要在整个文本文件中使用所有这些集合:

URL = /LinkClick.aspx?fileticket=a random text string
TITLE = I want this text

Regex -获取所有的href和innertext

RegEx解析HTML?这在理论上是可能的,但是我在这方面并没有取得很大的成功,除非您能够确保从漂亮、干净的XHTML开始。问题是,合法的HTML并不总是格式良好,有些东西可以跨行,但仍然是HTML,只是不符合RegEx。我建议您找到一些库,它们可以帮您将HTML解析成DOM树之类的东西,然后用XPATH来处理生成的DOM。c#有一个HtmlDocument类,不是吗?在我使用RegEx之前,我会尝试一下。

您可以使用如下的正则表达式:

'<a.+?href=(?<q>["'])(.+?)'k<q>.*?>([^'<]+)

URL为第2组的值,TITLE为第3组的值。

如果文档是有效的XHTML,还可以使用System.Xml名称空间中的类来解析文档,然后检索所有<a>元素。