火车头采集器邮箱(Email)地址的正则表达式

火车头采集器的正则匹配语法是:

前字符串(?<content>[\s\S]*?)后字符串 【注:[\s\S]* 可匹配任意字符,也可替换成您需要的正则】

而对于火车头采集器一般邮箱(Email)地址的正则表达式如下:

(?<content>\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*?)

简单解释一下就是\w+([-+.]\w+)*匹配由数字、字母、连接符和点组成的字符串

测试过程中发现如果邮箱地址后面带中文则中文也会被采集,故修改后的正则表达式如下(不会再采集中文):

(?<content>\w+([-+.]\w+)*@\w+([-.]\w+)*\.[a-z]{2,3}([\.][a-z]{2})?)

修改的思路来自以下一段PHP采集页面邮箱地址的小程序中的正则匹配规则:

  • <?php
  • $url='http://blog.is36.com';
  • $content=file_get_contents($url);
  • function getEmail($str) {
  •     $pattern = "/([a-z0-9\-_\.]+@[a-z0-9]+\.[a-z0-9\-_\.]+)/";
  •     preg_match_all($pattern,$str,$emailArr);
  •     return $emailArr[0];
  • }
  • print_r( getEmail($content));
  • ?>

Tags: 火车头采集器, 邮箱, 正则表达式

上一篇: 解决dwz.cn中“您输入的网址可能有安全隐患,请重新输入!”的问题
下一篇: excel不四舍全进的函数

发表评论