正则表达式
一、概述
    验证
    网络爬虫。

概念:
    具有语法格式的字符串。

函数
    PCRE
    1、perl语言正则语法兼容。(java c)
    2、速度快,效率高。
    POSIX
    1、效率不高
    2、安全隐患。
    3、windows无法运行。

二、正则表达式的应用
    preg_match_all(string $pattern,string $subject,array $match)
    功能:正则匹配
    参数:
    pattern 正则表达式
    subject 要进行匹配的字符串
    match   匹配到的结果
    返回:匹配到的次数。

语法:
    - 定界符
    - 原子
    - 元字符
    - 模式修正符

- 定界符
      一个正则表达式必须有定界符。除了数字,字母、下划线,其他都可以作为定界符。而行业中最常用的定积分是 "/",定界符是成对出现的。
    - 原子
      原子是正则表达式的最小组成单位。一个正则表达式要想有意义,则至少有一个原子。 
      a、数字、字母、下划线,所有的打印字符都叫原子。
      b、非打印字符。
         \n 换行
      c、需要进行转义的字符。具有特殊含义的字符。例如:元字符
      d、具有特殊含义的原子
         \d 代表所有的数字
         \D 代表了所有的非数字

\w 数字、字母、下划线
         \W 非数字、字母、下划线

\s 代表了所有的空白
         \S 代表了所有的非空白

e、自定义原子表
         [] 指定原子的范围,例如:a-z 代表了所有的小写英文字母
                                 A-Z 代表了所有的大写英文字母
                                 0-9  代表了所有的数字
                     
            可以同时给出多个范围,多个范围之间不需要间隔符号。
            例如:a-z0-9
            在自定义原子表中 ^代表 非
      f、. 任意原子

元字符
      元字符是用来修饰原子的。
      * 代表被修饰的原子可以出现0次或者多次。
      + 代表被修饰的原子可以出现1次或者多次。
      ?代表被修饰的原子可以出现0次或者1次。

{m} 代表被修饰的原子可以出现m次。
      {n,m}  代表被修饰的原子可以出现最少n最多m次。
                 n<=出现的次数<=m
      {n,}   代表被修饰的原子可以出现最少n最对不限制
                 n<=出现的次数

|   或

^和\A 代表以^和\A修饰的字符的作为开始
      $和\Z 代表以$和\Z修饰的字符的作为结束

()
       - 子模式 
       - 改变匹配的范围
       - 反向引用

\b和\B \b代表字符边界,\B 代表了非字符边界

- 模式修正符
           模式修正符是用来修正正则表达式的。模式修正符是写在正则表达式的定界符外面的。
      
           i :使正则表达式不区分大小写。

正则验证邮箱原理图片:

正则验证注册原理图片

 

【正则】day01的更多相关文章

  1. Javascript正则对象方法与字符串正则方法总结

    正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; ...

  2. C#-正则,常用几种数据解析-端午快乐

    在等待几个小时就是端午节了,这里预祝各位节日快乐. 这里分享的是几个在C#中常用的正则解析数据写法,其实就是Regex类,至于正则的匹配格式,请仔细阅读正则的api文档,此处不具体说明,谢谢. 开始吧 ...

  3. Javascript 中 with 的替代方案和String 中的正则方法

    这几天在升级自己的MVVM 框架,遇到很多小问题,就在这里统一解决了. with 语法 在代码中,要执行这么一个函数 function computeExpression(exp, scope) { ...

  4. JavaScript与PHP中正则

    一.JavaScript 有个在线调试正则的工具,点击查看工具.下面的所有示例代码,都可以在codepen上查看到. 1.创建正则表达式 var re = /ab+c/; //方式一 正则表达式字面量 ...

  5. Java正则速成秘籍(一)之招式篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  6. Java正则速成秘籍(二)之心法篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  7. Java正则速成秘籍(三)之见招拆招篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  8. python浅谈正则的常用方法

    python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...

  9. [Python基础知识]正则

    import re str4 = r"^http://qy.chinahr.com/cvm/preview\?cvid=\w{24,25}&from=sou&gtid=\w{ ...

随机推荐

  1. R-长尾词练习

    一. 长尾关键词的特征 长尾关键词通常比较长,往往是2-3个词组成,甚至是短语,存在于内容页面,除了内容页的标题,还存在于内容中. 长尾关键词搜索量虽然非常少,而且不稳定.但是搜索量甚至超越热门目标关 ...

  2. GPG 密码修改

    一.前言 相信大家在使用gpp的时候都会遇到这样子都情况: 忘记密码 想要定时更换密码,保证安全 此时不用担心,gpg  的密码更新特别简单. 二.步骤说明 1> 执行命令获 gpg2 --li ...

  3. ImportError: unable to find Qt5Core.dll on PATH

    一.实验环境 1.Windows7x32_SP1 2.python3.7.4 3.pyinstaller3.5 二.问题描述 1.一直都是在Windows10x64上使用pyinstaller打包ex ...

  4. Linq分页排序通用方法

    1.通用方法 2.调用 -----------------------------1.------------------------------------------- public class ...

  5. ubuntu 16.04上源码编译和安装cgal并编写CMakeLists.txt | compile and install cgal on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/39ab7ed9/,欢迎阅读最新内容! compile and install cgal on ubuntu 16.04 Guide ...

  6. mysql 数据库分表小实例

    项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多.以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈. 当出现这种情况时,我们可以考虑分表,即将单 ...

  7. Java中的ThreadLocal

    关于 ThreadLocal,我们经常用它来解决多线程并发问题,那它究竟是如何做到的?今天就让我们来好好看一下. 从源码入手 首先,让我们看看 ThreadLocal 类中的介绍: This clas ...

  8. GO 函数的参数

    一.函数 函数的参数 1.1 参数的使用 形式参数:定义函数时,用于接收外部传入的数据,叫做形式参数,简称形参. 实际参数:调用函数时,传给形参的实际的数据,叫做实际参数,简称实参. 函数调用: ​ ...

  9. NET EF 连接Oracle 的配置方法记录

    主要记录下如何在EF 中连接Oracle s数据库,很傻瓜式,非常简单,但是不知道的童鞋,也会搞得很难受,我自己就是 1.创一个控制台程序,并且添加  Oracle.ManagedDataAccess ...

  10. java基础(20):Map、可变参数、Collections

    1. Map接口 1.1 Map接口概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. Collection中的集合,元素是孤 ...