当前位置: >首页>新闻列表>使用自己开发的正则工具,写一个匹配图片,svg,字体的正则表达式
当今开发的环境是,懂得爬虫的要比不懂得的混起来,更容易获得突破。现在各行各业在社会中,在网络中,基本都是有着白名单一样的效果。就是去到哪里,别人都可以通过互联网这个大字典找到你。当然,这个大字典,我们有个更高级的名字,大数据。既然这样的话,大数据是怎么样找到我们的?或者说,我们怎么样通过大数据找到自己想要的信息的?
惠州网站建设今天就用一个正则表达式来收集我们想要的数据来讲解下。什么是正则表达式呢?或者说他有什么用?
举个例子,如果你要查找一个静态网页的a标签里面的数据,如果你通过非正则表达式来写的话。可以用explode来分割数据,然后在一个个的去提取数据。
比如有个a标签是 ...<span><a href="http://fz.tywl88.com/index.php" target="_blank">快速仿站</a></span>.... 你要提取里面的信息的话,你就要用 href=" 这个来分割,代码就是 explode('href="',$str); 这里的$stri就是上面的一行字符串。分割之后,是一个数组,一个是 ...<span> 另一个是 http://fz.tywl88.com/index.php"...。然后我们还要继续分割这个代码。这次分割符号是" target=。。。。
又得到一个新的数组。这个时候,这个新的数组。第一个元素就是我们要提取的数据了。但是这个过程相当的繁琐。这个代码写多了,你都会忘记哪个部分是自己需要的代码了。当然,我们可以将这个分割封装成一个函数,然后循环遍历这个$str,直到全部提取完毕为止。但是这个逻辑相当复杂啊。你要搞懂你的逻辑,电脑当然懂。只是这个过程相当于原本子要跑一圈就可以完事的工作,你去跑了无数圈。
如果你知道正则的话,可以用正则一次性跑完这个过程。那么现在我们讲解下正则怎么操作的。
之前的文章中,有一篇是我们自己写的正则的。这里就不重复的说了。还是刚才的问题,我们先来看看我们的正则代码。
首先我们要提取的是 href里面的字符串。那么我们来看看表达式。
/\<a[^>]*href=[\'\"]([^\"]*)[\'\"][^>]*/iu
这个代码很简单吧。那么现在来讲解下,这个是什么意思。
// 这个是正则的规则,记住就可以了,没啥蒿说的。
iu 是不管大小写都匹配,/u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字)
\转义字符,\<表示就是<的意思。
[^>]表示非> [^>]*表示 非>的其他任意字符。
[\'\"] 表示匹配单引号或者双引号中的一个。
那么意思就好理解了。现在我们来看看我们自写的正则能不能匹配到A标签里面的东西。
从运行效果来看,第一个图是匹配所有符合我们正则表达式的内容。然后用数组的形式希纳是到我们的页面上,这个时候,我们就可以获得我们想要的效果了。下面一个图更厉害,直接获得我们想要的内容。
从图片上看的到,我们想要的内容直接提取到了。怎么提取到的呢?我们代码中有一个(),这个里面的内容会被单独出来,存放早一个数组中。所以,我们获得的内容直接通过数组的下标就可以获得了。如果是第二个括号的话,那么这个数组下标就是2。是不是很简单呢?这么复杂的功能,我们只要一行代码就全部搞定了。而且是封装好的数组,直接拿来用就可以了。
来源:快速仿站 惠州网站建设