c++ 正则表达式邮箱

下载库与参考阅读:http://www.wuzesheng.com/?p=929
参考:http://blog.csdn.net/wwy851/article/details/6047321
//----------------------------------------
用GNU正则表达式库或者用boost正则表达式库。
#include >iostream>#include >cstdlib>#include >string>#include >regex>  // regular expression 正则表达式using namespace std;int main ( )
{    string email_address;    string user_name, domain_name;

    regex pattern("([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)");    // 正则表达式,匹配规则:    // 第1组(即用户名),匹配规则:0至9、A至Z、a至z、下划线、点、连字符之中    // 的任意字符,重复一遍或以上    // 中间,一个“@”符号    // 第二组(即域名),匹配规则:0至9或a至z之中的任意字符重复一遍或以上,    // 接着一个点,接着a至z之中的任意字符重复2至3遍(如com或cn等),    // 第二组内部的一组,一个点,接着a至z之中的任意字符重复2遍(如cn或fr等)    // 内部一整组重复零次或一次    // 输入文件结尾符(Windows用Ctrl+Z,UNIX用Ctrl+D)结束循环
    while ( cin >> email_address ) 
    {        if ( regex_match( email_address, pattern ) )
        {
            cout << "您输入的电子邮件地址合法" << endl;            // 截取第一组
            user_name = regex_replace( email_address, pattern, string("$1") );            // 截取第二组
            domain_name = regex_replace( email_address, pattern, string("$2") );

            cout << "用户名:" << user_name << endl;
            cout << "域名:" << domain_name << endl;
            cout << endl;
        }        else
        {
            cout << "您输入的电子邮件地址不合法" << endl << endl;
        }
    }    return EXIT_SUCCESS;
}
//----------------------------------------
时间: 2024-10-10 12:28:31

c++ 正则表达式邮箱的相关文章

常用正则表达式—邮箱(Email)

常用正则表达式-邮箱(Email) ?本文针对有一点正则基础的同学,如果你对正则一无所知,请移步"正则表达式30分钟入门教程"学习. ?要验证一个字符串是否为邮箱的话,首先要了解邮箱账号的格式.我尝试过在网上找出一个标准的格式,但是很遗憾我没有找到.我也尝试使用RFC标准来判断邮箱的格式,但是也没有结果.网上些博客说不应该使用RFC标准来验证邮箱是否合法,有兴趣的可以看看"is this email valid?"和"Don't RFC-Validate

正则表达式——邮箱规范

String Eail="[a-zA-Z0-9]{3,20}@[a-zA-Z0-9]{2,10}[.](com|cn|net)"; 中括号表示任意字符,花括号表示出现的次数,小括号表示出现的字符内容字符串. if(emal.match(Emal)){      } 是否满足正则表达式给定的格式规范. {3,5}表示{}前的规则最少3次,最多5次 {3,}表示{}前的规则,最少3次,无上限 {5}表示{}前的规则只能出现5次 |   或者:(com|cn|net),表示com,cn.ne

正则表达式-邮箱的判断

import re def emaills(e): if (len(e) >= 5): if re.match("[a-zA-Z0-9]+\@[a-zA-Z0-9]+\.+[a-zA-Z]",e): return 'correct' return 'error' e = raw_input('please emaill:') print e a = emaills(e) print a

电子邮箱的正则表达式————呱呱二号

参考来源:常用正则表达式-邮箱(Email) 邮箱的正则表达式: 常见的网站大都是:www.baidu.com www.163.com www.php.net  and so on 所以网站的正则为: (可看成  ** . ** . ** ) [a-zA-Z0-9_-]+ \. [a-zA-Z0-9_-]+ \. [a-zA-Z0-9_-]+ let webPattern = /^[a-zA-Z0-9_-]+ \. [a-zA-Z0-9_-]+ \. [a-zA-Z0-9_-]+$/; 所以域名

160224、常用正则表达式

常用正则表达式邮箱正则表达式 用户名正则表达式 路径正则表达式 ip地址正则表达式 密码正则表达式 特定数字正则表达式........正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需.用户名:/^[a-z0-9_-]{3,16}$/密码:/^[a-z0-9_-]{6,18}$/十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6}

8、正则表达式

正则表达式的概念和作用 * A: 正则表达式的概念和作用 * a: 正则表达式的概述 * 正则表达式也是一个字符串,用来定义匹配规则,在Pattern类中有简单的规则定义. 可以结合字符串类的方法使用. * 简单记:正则表达式是具有特殊含义的字符串. * b: 正则表达式的作用 * 比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的 ? 正则表达式语法规则 * A: 正则表达式语法规则 * a: 字符 * x 代表的是字符x * \\ 代表的是反斜线字符'

Django(三) ORM 数据库操作

比较有用 转自 http://blog.csdn.net/fgf00/article/details/53678205 一.DjangoORM 创建基本类型及生成数据库表结构 1.简介 2.创建数据库 表结构 二.Django ORM基本增删改查 1.表数据增删改查 2.表结构修改 三.Django ORM 字段类型 1.字段类型介绍 2.字段参数介绍 3.Django ORM 外键操作 一.DjangoORM 创建基本类型及生成数据库表结构 1.简介 ORM:关系对象映射.定义一个类自动生成数

Python之路【第十七篇】:Django【进阶篇 】

Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost')

python学习笔记十六 django深入学习一

django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), #精确匹配 url(r'^articles/([0-9]{4})/$', views.year_archive), #动态路由 url(r'^articles/([0-9]{4})/([0-9]{2