正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
下面是我自己学习的一些总结。这个真的有毒,前段时间学的,最近过年好久没碰又忘了,想想还是写一篇笔记记录一下
元字符
. 匹配除换行符外的任意字符
\w 匹配字母数字下划线中文
\s 匹配空格
\d 匹配数字
^ 匹配字符串的开始
$ 匹配字符串的结束
上段代码
s ="2222efr43243dsfg4r)_+"
reg1 ="\d" # 匹配全部数字
reg2 ="^\d" # 匹配开头的数字
print(re.findall(reg2, s))
反义字符:
说白了就是元字符反过来就好了,可以一起记
. 匹配除换行符外的任意字符
\W 匹配非字母数字下划线中文
\S 匹配非空格
\D 匹配非数字
限定符
* 重复0次到多次
+ 重复1次到多次
? 重复0次到多次
{n} 重复n次
{n,} 重复n次到多次
{m,n} 重复m次到n次
分组匹配
这里用关键词group来进行分组
1,search:search返回的是一个匹配对象 ,调用对象的group方法获得字符串
s ="my qq is 189334423,my post code is 33332"
reg4 ="(\d{9}.*(\d{5}))"
print(re.search(reg4, s))
# group里面为空或者为1,返回的结果是一样的
print(re.search(reg4, s).group())
print(re.search(reg4, s).group(1))
print(re.search(reg4, s).group(2))
2, match:匹配开头
s ="hellohello"
reg5 ="hello"
print(re.match(reg5, s,re.I).group())
总结:
findall 匹配所有
match 匹配开头(必须出现在字符串第一个位置)
search 匹配第一个(可以出现任意位置,只要是第一个就好)
网友评论