精华内容
下载资源
问答
  • 邮箱正则表达式

    2018-05-02 22:27:14
    最全的邮箱正则表达式模板,可以在开发的时候省去不必要的麻烦
  • 正则表达式式应用非常广泛,本文给大家收集整理些正则表达式知识点解读及判断有效数字、手机号邮箱正则表达式,对常用正则表达式相关知识感兴趣的朋友一起学习吧
  • 邮箱验证来说,网上绝大部分人写的邮箱验证正则表达式代码都不能验证这邮箱: i@julying.com,也不能验证 xxxxxx@i.com 。 上次我发现youku.com(优酷网)用户注册就有这个问题,见图:   ...
  • iOS 邮箱正则表达式

    千次阅读 2017-02-24 23:44:15
    邮箱正则表达式
    //进行邮箱正则表达式判断
    -(BOOL) validateEmail
    {
        NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
        NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
        return [emailTest evaluateWithObject:self];

    }


    这里面的self 是因为这个方法是写在category的 NSString + SiZheString.m 中

    所以调取方式应该是


    if([@"字符串"  validateEmail]){

    }

    这种样式

    如果是自己不想封装

      NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
        NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
       Bool  isTrue =  [emailTest evaluateWithObject:@"字符串"];

    展开全文
  • 什么是正则表达式?简单地说,正则表达式就是处理字符串的方法,它以行为单位来进行字符串的处理操作,正则表达式通过一些特殊符号的辅助,可以让用户轻易地完成【查找、删除、替换】某特定字符串的处理过程。正则...

    8afff19c96b1fed057641dd86ea876a0.png

    e366e70a62e65b6d616caaa1e68ff839.gif

    什么是正则表达式?

    简单地说,正则表达式就是处理字符串的方法,它以行为单位来进行字符串的处理操作,正则表达式通过一些特殊符号的辅助,可以让用户轻易地完成【查找、删除、替换】某特定字符串的处理过程。

    正则表达式基本上是一种**【表示法】**,只要程序支持这种表示法,那么该程序就可以用来作为正则表达式的字符串处理。

    正则表达式的字符串表示方式依照不同的严谨度分为:基础正则表达式、扩展正则表达式。

    用途:邮件服务器

    注意:正则表达式与通配符是完全不一样的东西,因为【通配符代表的是bash操作接口的一个功能】,但是正则表达式则是一种字符串处理的方式。使用正则表达式的时候,需要特别注意当时环境的语系,否则可能会发现选取的结果不合人意。

    一、基础正则表达式

    1、符号的含义“ [:alnum:] ”代表英文大小写字符及数字,亦即 0 ~ 9、A ~ Z、a ~ z“ [:alpha:] ”代表任何英文大小写字符,亦即 A ~ Z、a ~ z
    “ [:blank:] ”代表空格键与[Tab]键
    “ [:cntrl:] ”代表键盘上面 控制键,包括CR、LF、Tab、Del“ [:digit:] ”代表数字,亦即 0 ~ 9
    “ [:graph:] ”代表空格符以外的所有按键“ [:lower:] ”代表英文小写字符,亦即 a ~ z
    “ [:print:] ”代表任何可以被打印出来的字符
    “ [:punct:] ”代表标点字符,亦即 " ’ ? ! ; : # $“ [:upper:] ”代表英文大写字符,亦即 A ~ Z
    “ [:space:] ”代表任何会产生的空白的字符,包括空格、Tab键、CR等
    “ [:xdigit:] ”代表十六进制的数字类型

    案例一:查看a.txt文件中所有含有数字的行
    语法:cat a.txt | grep '[[:digit:]]'
    761f9510e1ae1391dbcb8a79305b8b2c.png2、行首字符 ’ ^ ’ 与行为字符 ’ $ ',“ ^ ”在字符集合符号([ ])中是表示反向,在外面表示定位在行首的意思
    案例二:列出 /bin 目录下所
    有以d开头的文件
    048f35b527f5d002a41dab0aed9e3542.png3、任意一个字符“ . ”表示【一定有一个任意字符】
    “ * ”表示【重复前一个字符0次或N次】

    注意:【.*代表零个或者多个任意字符】

    案例三:获取 /bin 目录下以a开头h结尾且位数为四位的目录
    语法:ls /bin | grep '^a…h$'
    dc467b4b4cb5403a2118c59b661ca928.png案例四:获取 /bin 目录下最少含有两个连续ee的目录
    语法:ls /bin | grep ‘eee*’
    70e8bee2d43e0af232d80d21f60aac14.png4、限定连续RE字符范围{}
    如果想要限制次数获取的范围,可以使用{},但是因为 { 和 } 在shell中是有特殊意义的,所有需要转义符 \ 来使它们有意义

    案例五:获取 /bin 目录下含有四个字符的目录
    语法:ls | grep '^.{4} $'
    9f8f5d1760005ca1ac36c5e7eb1a972d.png5、sed工具(重点)
    当我们分析日志文件的时候,绝大部分需要分析关键词的使用、统计等,可以使用sed工具来实现。sed本身也是一个管道命令,可以分析标准输入。而且sed还可以将数据进行替换、删除、新增、选取特定行等功能。

    语法:sed [-nefr] [操作]
    “ -n ”表示只有经过sed特殊处理的那一行才会被列出
    “ -e ”表示直接在命令行模式上进行sed的操作编辑
    “ -f ”表示直接将sed的操作卸载一个文件内
    “ -r ”表示使用扩展性正则表达式(默认是基础正则表达式)
    操作说明:[n1,n2] function
    “ n1,n2 表示行号 ”
    “ a ”表示新增,后面可以接字符,这些字符会显示在新的一行
    “ c ”表示替换,后面接字符,这些字符会替换n1,n2之间的行
    “ d ”表示删除
    “ i ”表示插入,后面接字符,这些字符会在新的一行出现
    “ p ”表示打印
    “ s ”表示可以直接进行替换操作

    案例六:列出a.txt文件并打印行号,同时删除2-5行的内容5580ac304e1ccbdf14dc2b1df3235aee.png如果需要删除第3行开始到最后一行,可以使用 nl a.txt | sed '3,d ′ , d',d 表示最后一行

    案例七:替换a.txt文件中第一行的内容为Hello World
    语法:nl a.txt | sed '1c Hello World’

    59e1523ed77fe24e17199b15f389c77a.png部分数据的查找并替换的功能(重点):
    语法:sed 's/要被替换的字符/新的字符/g’

    案例八:获取 /etc/man_db.conf 中MAN存在的几条数据,但是含义#在内的注释不
    要,而且空白行不要
    语法:*cat /etc/man_db.conf | grep ‘MAN’ | sed '/#.s//g’ | sed ‘/^$/d’

    二、扩展正则表达式

    符号含义“ + ”表示重复【一个或一个以上】的前一个RE字符
    “ ? ”表示【零个或一个】前一个RE字符
    “ | ”表示【或(or)的方式找出字符串】
    “ () ”表示找出【群组】字符串

    “ ()+ ”表示多个重复群组的判别

    三、文件的格式化与相关处理

    1、格式化打印
    语法:printf ‘打印内容’ 实际内容
    特殊格式:
    “ \a ”表示警告声音输出
    “ \b ”表示退格键
    “ \f ”表示清除屏幕
    “ \n ”表示输出新的一行
    “ \r ”表示回车按键
    “ \t ”表示水平的tab键
    “ \v ”表示垂直的tab键
    “ \xNN ”表示NN为两位数,可以转换数字成字符

    2、数据处理工具:awk
    sed常常用于一整行的处理,awk更倾向于一行当中分成数个字段来处理。awk主要处理每一行的字段内的数据(字段为最小的处理单位),而默认的字段的分隔符为空格键或者Tab键。
    语法:awk ‘条件类型1{操作1} 条件类型2{操作2}’

    案例九:列出最后5位登录用户并打印出第一个、第三个字段
    语法:last -n 5 | awk ‘{print $1 “\t” $3}’

    308b210db51ceb9336741501d8d97b9f.png

    四、文件比对工具

    1、比对两个文件之间的差距
    语法:diff [-bBi] 文件1 文件2
    “ -b ”表示忽略一行当中,仅有多个空白的差异
    “ -B ”忽略空白行的差异
    “ -i ”忽略大小写
    7883ca8db49fea689935519a797347e3.png“ 12,14d11 ”表示左边第12,14行被删除(d)掉了,基准是右边的第11行
    “ < ”表示左边的内容
    “ > ”表示右边的内容

    2、cmp(主要用于对比文件,主要利用字节单位对比,也可以对比二进制文件)
    语法:cmp 文件1 文件2
    381697abd7b238db1a165f6c6a2d6fc0.png

    ————————————————


    版权声明:本文为博主原创文章,遵循
     CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    本文链接:https://blog.csdn.net/qq_44796093/article/details/109097310

    【凡本网注明来源非建策科技的作品,均转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如需删除请私信,严禁其他用途。】

    如果您对技术帖有任何疑问,请联系官方邮箱jcit@jiancenj.com

    欢迎广大学员踊跃投稿,一经录用,有稿费酬谢

    END

    vlan技术的微妙之处

    组播静态路由对RPF机制的实现

    如何从服务器处获取地址

    Linux系统文件目录管理常用命令

    b1e99b5a127dd585745c35dcf9a94d30.png

    展开全文
  • 那么,什么是正则表达式呢?正则表达式由一些普通字符和一些元字符(metacharacters) 组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。 在最简单的情况下,一个正则表达式看...

    在《学习php和mysql》中,我最看不懂的就是正则表达式验证数据那一部分的内容。但是没有办法,数据必须验证,硬着头皮看了一下php正则表达式,最后发现也不是特别难。那么,什么是正则表达式呢?

    正则表达式由一些普通字符和一些元字符(metacharacters) 组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。   在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式"testing"中没有包含任何元字符,它可以匹 配"testing"和"123testing"等字符串,但是不能匹配"Testing"。

    我做的是一个评论系统,验证的是用户邮箱和网址是否合法。看了书上的基础用法之后,也不是能够完全领会,就在网上搜索了一下别人写好的邮箱与网址的正则表达式。下面列举一下:

    首先是验证邮箱部分的

    可以参考一下这篇php正则匹配邮箱的文章《php邮箱地址正则表达式实现与详解》。我觉得讲的很详细。

    下面是php正则匹配url的

    验证网址的部分我看的不是很懂,邮箱的倒是更清晰一点。最后我自己写了2个正则验证邮箱和网址的正则表达式。

    这些都是简单的正则验证,不过却是让我对正则表达式有了一些基本的认识。:)

    (全文完)

    若非注明,均为原创文章,转载请注明: 转载自大 笨 兔

    展开全文
  • 亲爱的小伙伴们,本期我们讲解java中的正则表达式和它相关的一些类与方法。概述正则表达式非常强大,能够解决我们开发时用于匹配一些特定的要求。并且java中还提供了相当强大的方法,扩展其功能性。下面我们就来介绍...

    亲爱的小伙伴们,本期我们讲解java中的正则表达式和它相关的一些类与方法。

    概述

    正则表达式非常强大,能够解决我们开发时用于匹配一些特定的要求。并且java中还提供了相当强大的方法,扩展其功能性。下面我们就来介绍一下:

    1.定义一个关于用户名的正则表达式

    String regex = "[一-鿯[a-z][A-Z]{2}]w{6,20}";

    2.定义一个关于密码的正则表达式

    String password = "[w.]{6,16}";

    3. 定义一个关于QQ邮箱的正则表达式

    String email = "[d@qq.com]{12,16}";

    4.两个用来处理正则表达式的工具类

    compile是静态方法,用于编译规则返回Pattern对象

    matcher用于匹配字符串

    Pattern p = Pattern.compile(regex);

    Matcher m = p.matcher(str);

    5.find():判断字符串是否匹配

    6.group():将匹配到的字符串分组

    7.start()和end():分别表示第几轮匹配到的字符串的下标,end()下标自动加1

    8.appendReplacement():用特定的字符串替代匹配到的字符串,并放入其第一个参数 StringBuffer中

    9.appendTail():将最后匹配到的字符串的剩余串放入StringBuffer中

    应用

    8f8dcda5f91163fb4e4a699f9b86cd97.png
    6c59de7908817b18ae519cbc8c8a2437.png
    deb73e00bb48276110e3157b6aeb7406.png
    89b2ab0f6e20d773e380a598916f06e6.png
    0d3b84cbdf8328554d2692b93f7315cd.png
    package com.bbc.regex;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexDemo {// 定义一个全局变量用于计数static int count = 0;// 定义一个全局变量用于替代static String replaceStr = "-";public static void main(String[] args) {// 定义一个关于用户名的正则表达式String regex = "[一-鿯[a-z][A-Z]{2}]w{6,20}";// 定义匹配的子段String str = "吴dadadadda31da";// 定义一个关于密码的正则表达式String password = "[w.]{6,16}";// 定义匹配的字段String passwordStr = "dafa........";// 定义一个关于QQ邮箱的正则表达式String email = "[d@qq.com]{12,16}";// 定义匹配的字段String emailStr = "146456416@qq.com";// 定义一个字段用于测试find方法String line = "454156135dada ...";String pattern = "(d+)([a-z]+)(s)(.*)";//定义一个字段用于测试start_end方法String test = "abcb";String testStr = "abc dada abc dad abc ad";// 定义一个字段用于测试replace方法String replace = "a*b";// 定义一个匹配的字段String replaceStr1 = "aabdadasabdadabbadadaabda";System.out.println("用户名:" + judge(regex, str));System.out.println("密    码:" + judge(password, passwordStr));System.out.println("邮    箱:" + judge(email, emailStr));find(pattern, line);start_end(test, testStr);replace(replace,replaceStr1);}// 定义一个方法,判断字符串是否合法public static boolean judge(String regex, String str) {Pattern p = Pattern.compile(regex);Matcher m = p.matcher(str);return m.matches();}// 定义一个方法,获取字符串的分割点public static void find(String regex, String str) {Pattern p = Pattern.compile(regex);Matcher m = p.matcher(str);if (m.find()) {System.out.println("value1" + ":" + m.group(0));System.out.println("value2" + ":" + m.group(1));System.out.println("value3" + ":" + m.group(2));System.out.println("value4" + ":" + m.group(3));System.out.println("value5" + ":" + m.group(4));}}// 定义一个方法,获取每个分割点的坐标public static void start_end(String regex , String str){Pattern p = Pattern.compile(regex);Matcher m = p.matcher(str);while(m.find()){count++;System.out.println("第"+ count +"次循环");System.out.println("start:" + m.start());System.out.println("end:" + m.end());}}// 定义一个方法,用特定的字段取代匹配的字段public static void replace(String regex , String str){Pattern p = Pattern.compile(regex);Matcher m = p.matcher(str);StringBuffer sb = new StringBuffer(); while(m.find()){m.appendReplacement(sb, replaceStr);}m.appendTail(sb);System.out.println("sb:" + sb);}}

    演示

    268eaaac992585f7eafc219d5c9d87f9.png

    本期内容到此结束,我们下期不见不散!

    本文由IT萌娃原创,欢迎关注,带你一起长知识!

    展开全文
  • 本篇文章是对php中邮箱正则表达式的实现代码进行了详细的分析介绍,需要的朋友参考下
  • 主要介绍了PHP手机号码及邮箱正则表达式实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 什么是正则表达式正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。此处的Regular即是规则、规律的意思,Regular Expression即“描述某种规则的表达式”之意。本文收集了一些...
  • Python re正则可以化繁为简的处理很多问题,本文提供的Python源代码作者要实现的是:Python 匹配手机电话号码及邮箱正则表达式源码。只需要用python import导入re模块,使用其方法就可以轻松匹配出手机号码和邮箱...
  • 其实正则表达式实际上就是规定了一系列的字符串规则,例如我们平常看到的手机号码、邮箱等等。这些我们一眼看过去就知道这是手机号,邮箱号,毫无压力嘛,但是我们又怎么能让计算机知道这一切呢?我们...
  • 本次我们讲讲re正则表达式。那讲到re正则表达式的话,难免就需要跟其他的解析库做下对比。如下表 lxml库、正则表达式和BeautifulSoup库对比 工具 解析速度 难度 BeautifulSoup4 最慢 最简单 lxml 快 简单 ...
  • 手机号正则表达式 条件: 11位 以1开头 第2位范围为[3-8] 第3位范围[0-9]...邮箱正则表达式: 123@qq.com /^\w+@\w+(.\w+)$/ www.111@gemail.cn /^\w+(.\w+)@\w+(.\w+)$ www.111.222@php.com /^\w+(.\w+)*@\w+(.\w+)$
  • 这里应用到的有正则表达式。qq号的正则表达式的“[1-9][0-9]{4,10}”。用户界面用到了tkinter,不难理解。其基本思路是:1.用户界面启动,显示要处理的信息。2.点击按钮“提取”,把qq邮箱显示到列表框中。3.点击...
  • 这段时间一直再做winform相关的项目,记录了一些东西qq邮箱正则表达式:第一种:字母和数字组合邮箱判断string str = "justin1107@qq.com";bool boo = new Regex(@"^[A-Za-z0-9_-]+@qq\.com$").Match(str).Success;...
  • 邮箱 正则表达式

    2013-12-26 13:18:05
    boost ...bool TfmRegister::IsEMailRight( String mail) //邮箱格式验证 {  const boost::regex pattern("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");  return boost::regex_ma

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,667
精华内容 2,266
关键字:

邮箱正则表达式