`
splayx
  • 浏览: 82690 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

URL的正则表达式

 
阅读更多

 

 

string pattern = "(((http[s]{0,1}|ftp)://)?[a-zA-Z0-9\\.\\-]+\\.(com|cn|net|com\\.cn|org|biz|name|info|tv|cc|([a-zA-Z]{2,6}))(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&amp;*+?:_/=<>]*)
?)";

 能够优先匹配有这些com|cn|net|com\\.cn|org|biz|name|info|tv|cc|后缀的,

 

最后再看[a-zA-Z]{2,6}是否匹配得上。

 

使用google的re2正则表达式引擎,找出一个文本中的url串。

 

#include <vector>
#include <string>
#include <iostream>
#include <cassert>

using namespace std;

#include "re2/re2.h"

int main() {
    //string contents = "http://baidu.comseseses";
    string contents = "a沈飞四分trip.taobao.combs:23www.a.c23sfeoa.comhshttp://www.baidu.comefi3xx:68g.com?sfhe*shttps://g.cnfeh=2332a:b3";          // Fill string somehow
    string pattern = "(((http[s]{0,1}|ftp)://)?[a-zA-Z0-9\\.\\-]+\\.(com|cn|net|com\\.cn|org|biz|name|info|tv|cc|([a-zA-Z]{2,6}))(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&amp;*+?:_/=<>]*)
?)";
    re2::StringPiece input(contents);    // Wrap a StringPiece around it
    string var;
    while (RE2::FindAndConsume(&input, pattern, &var)) {
        cout << var << endl;
    }
    return 0;
}

编译方法 g++ test.cpp -lre2 

匹配到的串为:

trip.taobao.com

23www.a.c23sfeoa.com

http://www.baidu.com

68g.com

https://g.cn

 

分享到:
评论

相关推荐

    数据库url正则表达式校验

    该文档是针对mysql和oracle数据库url地址的校验问题。

    正则表达式经典实例

    学习如何在uRL、路径、标记语言和数据交换中使用正则表达式; 学习更高深的正则表达式特性中的微妙之处; 理解在不同语言中正则表达式的API、语法和行为之间的区别; 创建更好的正则表达式来满足个性化的需求。 ...

    正则表达式大全 - 收集的最常用正则表达式

    匹配网址URL的正则表达式 匹配国内电话号 匹配中国邮政编码 匹配身份证 匹配ip地址 匹配特定字符串 匹配中文字符的正则表达式 匹配双字节字符(包括汉字在内) 匹配HTML标记的正则表达式 匹配首尾空格的正则表达 式

    正则表达式验证url

    正则表达式验证url 验证url不能带 页面 如www.baidu.com/3.html 可以是 ip地址

    python使用正则表达式提取网页URL的方法

    本文实例讲述了python使用正则表达式提取网页URL的方法。分享给大家供大家参考。具体实现方法如下: import re import urllib url=//www.jb51.net s=urllib.urlopen(url).read() ss=s.replace( ,) urls=re.findall...

    《正则表达式经典实例》扫描版

    每个程序员都会遇到需要使用正则表达式的情况,但是要用好正则表达式却并不容易。本书提供了100多个实例,以帮助读者使用正则表达式处理数据和文本。即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的...

    最常用的一些正则表达式和验证正则表达式

    最常用的一些表达式比如 Email地址的正则表达式 网址URL的正则表达式,可以验证表达式

    C#利用正则表达式验证网址

    C#,VS2010,利用正则表达式验证网址(url),

    神奇的匹配 正则表达式求精之旅

    《神奇的匹配:正则表达式求精之旅》从正则表达式的基本概念、基本语法入手,着重于数字验证、字符串验证、数字和字符串混合验证及HTML处理等各个方面的应用。并基于目前流行的程序语言和应用环境(如C#、ASP.NET、...

    常用正则表达式生成软件 学习文档

    包含自动生成常用的正则表达式,如邮件地址、网址、ip、url、数字等等 还有正则表达式的学习帮助文档,让你好好学习正则表达式 30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序...

    JS验证URL正则表达式.txt

    操作系统 OS 复习资料 C#制作的图书管理系统 Java语言程序设计基础篇课件(含代码) 从单片机初学者到单片机工程师 VB和sql小型超市收银管理课设 企业人事档案管理信息系统

    C#中使用正则表达式验证Email格式、IP地址格式和URL网址格式

    C#中使用正则表达式验证Email格式、IP地址格式和URL网址格式

    提取URL,正则表达式 - C# - 开发者参考网

    提取URL,正则表达式 - C# - 开发者参考网提取URL,正则表达式 - C# - 开发者参考网提取URL,正则表达式 - C# - 开发者参考网提取URL,正则表达式 - C# - 开发者参考网提取URL,正则表达式 - C# - 开发者参考网提取URL,...

    常用正则表达式******

    匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] ...匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

    java 正则表达式工具类,手机号码等

    java 验证手机号码 身份证 email url 以及其他常用的正则表达式的验证方法。

    所有常用的正则表达式

    匹配网址URL的正则表达式:[a-zA-z]+://[^s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:...

    正则表达式自动生成器.7z

    你还在为写正则表达式发愁嘛,现在只需要小手一抖,自动生成匹配方法。 目前支持市场常用语言

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...

    url正则表达式

    NULL 博文链接:https://pwc-pengwenchao.iteye.com/blog/762456

Global site tag (gtag.js) - Google Analytics