您当前的位置:首页 > 互联网教程

asp 求正则表达式 取网站标题,关键词和描述

发布时间:2025-05-25 07:54:30    发布人:远客网络

asp 求正则表达式 取网站标题,关键词和描述

一、asp 求正则表达式 取网站标题,关键词和描述

1、<title>(.*)<\/title>空格是没有问题的,至于换行这些本来就不应该在title之间出现这样的格式,如果实在要这样做的话就用 fennng写的正则<title>([\s\S]*?)<\/title>。既然是采集信息,采集到后就应该先把采集到的内容中不必要的换行什么的替换掉,再用正则去提取。正则就要根据一定得规律去写,不可能写上一个能符合各种情况下的正则,至少我写不出来。关键词可以用

2、<meta\s*(name="keywords"\s*content="(.*)"|content="(.*)"\s*name="keywords")\s*\/>

3、取m[1]或m[2],当是<meta content="内容" name="keywords">时就是m[2],当<meta content="内容" name="keywords">时就是m[1],所以取的时候判断一下,如果m[1]==""再取m[2]如果还是要取含换行等空白字符的话就用<meta\s*(name="keywords"\s*content="([\s\S]*?)"|content="([\s\S]*?)"\s*name="keywords")\s*\/>

二、JavaScript正则表达式中 : 是什么意思

“?:”是“非获取存储匹配”的意思

“?:”只在一个“()”group中,紧贴着“(”出现,例如“(?:abcdefg)”,不同于“?”,“?:”不是一个量词,但是与“()”共同构造一个元字符,这个元字符所匹配出来的结果,不会保留,也不能参与诸如替换计算等等的操作。(这个操作在服务端多见一些,前端用的不多)(javascript只有string对象的replace方法能用到这个功能)

简单来说,就是你的正则表达式如果用不着在javascript里面使用replace方法,“?:”就可以省去(当然,看个人喜好和排版习惯,还有调试中的页面响应速度,如果加了“?:”反而更快,那就用吧)。

这么说起来还是比较抽象,用实例代码来说明吧。

<p>将匹配的数字增加后缀“9”</p>

<p class="demo">/(\d+)/gi:A23G4HFD567.</p>

<p class="demo">/(?:\d+)/gi:A23G4HFD567.</p>

<button onclick="myFunction()">点我</button>

var e=document.getElementsByClassName("demo");

var n=str.replace(/(\d+)/gi,"$19");

var n=str.replace(/(?:\d+)/gi,"$19");

<!--在实例里面“$1代表第一个“()”所匹配的结果-->

可以看到“/(\d+)/gi”所匹配的结果被用于扩展替换字符串中的“$1”;

但是“/(?:\d+)/gi”所匹配的结果没有被用于扩展替换字符串中的“$1”,尽管,它也成功地找到了被查找字符串中的数字,显然结果没有被保留。

对了,类似的问题,可以用这种办法去对比验证。(比如“?=”、“?!”、“?<=”、“?<!”是什么意思……)

上图是在菜鸟教程找到的一个比较全面的正则表达式的元字符列表的部分:

还有,不同软件的正则表达式的可能有不同的特性,但是目前perl的正则表达式是公认最多特性的。

三、有没有个正则表达式的练习网站

1、查找并练习正则表达式的网站,能够让你在实践中学到知识。例如:

2、这是一个适合从零基础到高阶学习正则表达式的网站,提供全面的学习资源,包括逐步学习课程、速查表、练习题等。

3、提供完整教程、速查表、练习题等资源,使你能够全面了解正则表达式并进行实践。

4、这个网站专门提供正则表达式的速查表,帮助你在遇到复杂问题时快速查找相关表达式。