【正则】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{ ...
随机推荐
- Leetcode450. 删除二叉搜索树中的节点
思路: (1)如果root为空,返回 (2)如果当前结点root是待删除结点: a:root是叶子结点,直接删去即可 b:root左子树不为空,则找到左子树的最大值,即前驱结点,使用前驱结点代替待删除 ...
- 【LOJ6620】「THUPC 2019」不等式 / inequality(线段树)
点此看题面 大致题意: 给你两个长度为\(n\)的数组\(a_i\)和\(b_i\),定义\(f_k(x)=\sum_{i=1}^k|a_ix+b_i|\),对于\(k=1\sim n\)的每个\(f ...
- perl: warning: Setting locale failed. 解决
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAG ...
- Http协议请求方法及body类型(思路比较清晰的)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/u010244522/article/de ...
- Redis缓存雪崩,缓存穿透,热点key解决方案和分析
缓存穿透 缓存系统,按照KEY去查询VALUE,当KEY对应的VALUE一定不存在的时候并对KEY并发请求量很大的时候,就会对后端造成很大的压力. (查询一个必然不存在的数据.比如文章表,查询一个不存 ...
- js-xlsx 实现前端 Excel 导出(支持多 sheet)
之前写文章介绍了使用 js-xlsx 实现导入 excel 的功能,现在再介绍一下如何使用 js-xlsx 进行 excel 导出. [实现步骤] 1. 首先安装依赖 npm install xlsx ...
- angular 前端路由不生效解决方案
angular 前端路由不生效解决方案 Intro 最近使用 Angular 为我的活动室预约项目开发一个前后端分离的客户端,在部署上遇到了一个问题,前端路由不生效,这里记录一下.本地开发正常,但是部 ...
- Web前端——JavaScript笔记
js 数据类型 字符串可以使用''或者是"" 运算符 == 只比较内容 === 比较内容,也比较类型是否一样,两个为true才为true !== 与上面===相反 var a=12 ...
- php中搭建Web服务器和服务器配置
1.搭建Web服务器 1.1目录结构 1.2访问服务器 访问规则:http://服务器ip地址/php页面 比如: http://localhost/demo.php http://127.0 ...
- JQuery操作样式以及JQuery事件机制
1.操作样式 1.1 css的操作 功能:设置或者修改样式,操作的是style属性 操作单个样式 // name:需要设置的样式名称 // value:对应的样式值 // $obj.c ...