正则表达式学习

正则表达式字符及规则大家可以上网搜索了解。这里只记录一些我今天学习用于抓网页中的一些元素用的正则表达式。

采集网页中所有链接标记:

<a[^>]*?>[\s\S]*?</a>

以上可以修改a标记采集对应的标记元素。

采集图片:

<img[^>]*?/?>

以上可以修改img标记采集对应的标记元素。

<div[^>]*?id="idname"[^>]*?>[\s\S]*?</div>

根据 id与 class 取div段的内容,请以最小单位取div,因为嵌套关系会破坏,取出来的标记不匹配。

如果要匹配的话请使用下面的正则表式:

<(?<HtmlTag>div)[^>]*\sid=(?<Quote>["']?)idname(?(Quote)\k<Quote>)["']?[^>]*>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|[\s\S]*?)*</\k<HtmlTag>>

对采集出来的html片段中链接地址去除:

<a(.[^>]*?)href(.[^>]*?)> 提取来替换成空。

再把</a>替换成空。

保留一备后用。

原文地址:https://www.cnblogs.com/wonderfuly/p/2109198.html