Regex -获取所有的href和innertext
本文关键字:href innertext 获取 Regex | 更新日期: 2023-09-27 18:18:49
我试图从文本文件中获得URLs
和InnerTexts
,我无法访问设备上的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解析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>
元素。