【正则】day01
正则表达式
一、概述
验证
网络爬虫。
概念:
具有语法格式的字符串。
函数
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的更多相关文章
- Javascript正则对象方法与字符串正则方法总结
正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; ...
- C#-正则,常用几种数据解析-端午快乐
在等待几个小时就是端午节了,这里预祝各位节日快乐. 这里分享的是几个在C#中常用的正则解析数据写法,其实就是Regex类,至于正则的匹配格式,请仔细阅读正则的api文档,此处不具体说明,谢谢. 开始吧 ...
- Javascript 中 with 的替代方案和String 中的正则方法
这几天在升级自己的MVVM 框架,遇到很多小问题,就在这里统一解决了. with 语法 在代码中,要执行这么一个函数 function computeExpression(exp, scope) { ...
- JavaScript与PHP中正则
一.JavaScript 有个在线调试正则的工具,点击查看工具.下面的所有示例代码,都可以在codepen上查看到. 1.创建正则表达式 var re = /ab+c/; //方式一 正则表达式字面量 ...
- Java正则速成秘籍(一)之招式篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
- Java正则速成秘籍(二)之心法篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
- Java正则速成秘籍(三)之见招拆招篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
- python浅谈正则的常用方法
python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...
- [Python基础知识]正则
import re str4 = r"^http://qy.chinahr.com/cvm/preview\?cvid=\w{24,25}&from=sou>id=\w{ ...
随机推荐
- 一些你不知道的css特性【一】
浏览器禁止用户在标签的style中使用js写入"!important"的特性 我们在使用jQuery设置css的时候 $('#text').css('height', '200px ...
- H5生成二维码
要用H5生成二维码: 1.引入js库,可自行点击链接复制使用 <script type="text/javascript" src="http://static.r ...
- PHP fastcgi_finish_request 方法
本文介绍,PHP运行在FastCGI模式时,FPM提供的方法:fastcgi_finish_request. 在说这个方法之前,我们先了解PHP有哪些常用的运行模式? PHP运行模式 CGI 通用网关 ...
- 鸟哥的Linux私房菜笔记第五章,文件权限与目录配置(二)
Linux目录配置的依据--FHS 因为利用Linux来开发产品的公司太多,例如,CentOS.Ubuntu.ReHat...,导致了配置文件存放的目录没有统一的标准.后来就有了FHS(Filesys ...
- Java 类加载机制(阿里)-何时初始化类
(1)阿里的面试官问了两个问题,可以不可以自己写个String类 答案:不可以,因为 根据类加载的双亲委派机制,会去加载父类,父类发现冲突了String就不再加载了; (2)能否在加载类的时候,对类的 ...
- kfifo
kfifo 的一些伪代码 kfifo_len() out = LOAD fifo->out smp_rmb() len = LOAD fifo->in - out kfifo_in() k ...
- oracle学习笔记(十九) 子程序——存储过程
子程序--存储过程 我们可以使用子程序来封装一下我们需要的操作,子程序又有存储过程,函数和触发器. 这里先学习存储过程~ 语法 create [or replace] procedure $proce ...
- 死磕 java同步系列之CountDownLatch源码解析
- 2018-8-10-win10-uwp-依赖属性
原文:2018-8-10-win10-uwp-依赖属性 title author date CreateTime categories win10 uwp 依赖属性 lindexi 2018-08-1 ...
- python基础(32):进程(二)
1. multiprocess模块 仔细说来,multiprocess不是一个模块而是python中一个操作.管理进程的包. 之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含 ...