2019/10/29 01-正则表达式元字符和重复

正则表达式再文本处理里面非常重要,程序员处理最多的就是字符串,列表是容器,容器里面放的还是字符串 ,数字也就是加减乘除,移位计算,位与
爬虫也用到了正则表达式技术
regular expression 缩写 regex,
可以对字符串按照某种规则进行检索,替换 ,再字符串里检索你需要的内容
1970 将正则表达式引入到了grep,ed
大多数文本编辑器都支持正则表达式
1980,再安装httpd库的时候,有个库要安装就是PCRE,叫peal语言兼容的正则表达式
大多数高级语言比如java,都是PCRE
在这里插入图片描述在这里插入图片描述
扩展正则表达式有可能还不够好用,就可以用PCRE,python很早就支持正则表达式了,变成标准库了,re模块

https://www.w3cschool.cn/regex_rmjc/

30分钟学会正则表达式
在这里插入图片描述在这里插入图片描述
要使用大量的练习来使用
实际我们使用的是PCRE这个流派
命令用扩展正则表达式
一般编程用PCRE
在这里插入图片描述在这里插入图片描述
基本语法就需要认识元字符
在这里插入图片描述
点匹配换行符之外的任意一个字符
在这里插入图片描述
集合里有这么多字符,可以匹配abc中任何一个字符,中括号里是能够使用的,匹配其中一个字符
在这里插入图片描述
^秃子符,表示取反,除abc外的
在这里插入图片描述
依次可以简写,a-z包含英文所有小写字母,但是中括号内只匹配一个字符,元字符不管多个
在这里插入图片描述
除了小写字母的任意一个字符
在这里插入图片描述
\bb后面的b就代表b只是这个单词用b开头
在这里插入图片描述
这个小写改成大写,就代表否定
t\B 代表t不能是单词的结尾
\Bb 代表不能以b开头

在这里插入图片描述
代表digit数字 =[0-9],只能匹配一位
在这里插入图片描述
除了数字的任意一位
在这里插入图片描述
代表space,空白,\f\r\n\t\v,[ \f\r\n\t\v]第一个是空格,\f分页,\r\n回车换行符 \ttab键,\v制表符
在这里插入图片描述
大写代表非空白字符
在这里插入图片描述
匹配正好是标识符范围,支持中文字符
在这里插入图片描述
大写取反,基本上就剩空白字符了
在这里插入图片描述在这里插入图片描述
这个3个软件用的库不一样,用的是C++,有点是.NET
没用元字符也是正则表达式

在这里插入图片描述
只匹配一个字符,然后在下一个继续找在这里插入图片描述
在windows下处理文件的换行符是回车换行符在这里插入图片描述
这就是点.的匹配,.只能匹配一位。这里面的红色代表匹配上的,每次只匹配一个字符
[]中括号是个集合,但是一次只能匹配字符中的一个
在这里插入图片描述
全局匹配还是向后找的
在这里插入图片描述在这里插入图片描述
还有几个常见的,\w,下划线也进来了
在这里插入图片描述
\w在外面这里是支持中文的,中文每个字也算一个word
在这里插入图片描述
.点号不匹配,符号除了下划线都不匹配在这里插入图片描述中文的句号就不包含
在这里插入图片描述
\W就是取反,在行尾有可能是回车换行\r\n,在有些匹配的时候,有可能把\r\n都匹配上
在这里插入图片描述在这里插入图片描述
小s匹配空白字符在这里插入图片描述
大s取反,每一次也只匹配一个
在这里插入图片描述
\b单词的词首词尾,就找到a一个
在这里插入图片描述
h结尾,对于中文就不能这么断字断词
在这里插入图片描述在这里插入图片描述
每次只匹配一位数字
在这里插入图片描述
匹配非数字,包括空白什么都在内
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
找连续三个数字
在这里插入图片描述
连续4个数字就没有
在这里插入图片描述
取两个数字,字符串处理不回头、
12取到了,不会23

在这里插入图片描述在这里插入图片描述
星号描述的前面一个字符出现任意次
在这里插入图片描述
有没有b都可以
在这里插入图片描述
有b没b都可以,所以就匹配到a了
在这里插入图片描述在这里插入图片描述在这里插入图片描述
+加号代表至少一个这样的字符
在这里插入图片描述
b至少得出现一回,这种就是贪婪的,尽量去取最长度能匹配到的数字
在这里插入图片描述
c之前找到至少一个b
在这里插入图片描述
0或1
在这里插入图片描述

c之前的b可以有也可以没有在这里插入图片描述在这里插入图片描述
空白字符不属于\w在这里插入图片描述
*这里跟模式有关,.应该到换行符就停止了,主要是这里的模式
single line代表不管多少行,都看做一行
在这里插入图片描述
使用.点的时候就需要特别注意

n代表重复几次 e\w{1}明确告诉你后面字符必须出现1次
在这里插入图片描述在这里插入图片描述在这里插入图片描述
{1,}不就代表+在这里插入图片描述
0,1就代表?问号
在这里插入图片描述
大括号在明确知道上下限的时候使用
在这里插入图片描述在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值