正则表达式知识

正则表达式知识

1.原子
  • 普通字符作为原子
  • 非打印字符
  • 通用字符
  • 原子表
普通字符作为原子
import re
pattern = 'yes'
string = 'heyesword'
result = re.search(pattern,string)
print(result)
非打印字符作为原子

常用的非打印字符\n,\t

import re
pattern = '\n'
string = '''heyesword'
aaaaaaaa'''
result = re.search(pattern,string)
print(result)
通用字符作为原子

常用的通用字符如下:

符号含义
\w匹配任意字母数字下划线
\W匹配任意除字母数字下划线
\d匹配任意十进制数
\D匹配任意除十进制数
\s匹配空白字符
\S匹配非空白字符
import re
pattern = '\w\python\w'
string = 'wepythoned'
result = re.search(pattern,string)
print(result)
原子表作为原子

原子表可以定义一组地位平等的原子,匹配的时候会取任意原子表中的原子匹配,原子表由[]表示

import re
pattern = '\w\python[abc]'
string = 'wepythoned'
result = re.search(pattern,string)
print(result)
元字符

元字符就是正则中一些特殊含义的字符,比如重复n次前面的字符等。
常见的元字符如下表:

符号含义
.匹配任意除换行符的字符
^匹配开始位置
$匹配结束为止
*匹配0次1次或多次
?匹配0次或1次
+匹配1次或多次
{n}匹配前面的原子n次
{n,}匹配>=n 次
{n,m}匹配n<=x<=m次
|模式选择符
()模式单元符
任意匹配字符

.属于任意匹配字符

边界限制元字符

^和$属于边界限制元字符

限定符

*,?,+,{n},{n,},{n,m}属于限定符

模式选择符 |
模式单元符()
模式修正

常见的模式如下:

符号含义
I匹配忽视大小写
M多行匹配
L本地化识别
U根据unicode字符及解析字符
S.可以匹配换行符
贪婪模式和懒惰模式
import re
pattern1 = 'p.*y'#贪婪模式
pattern2 = 'p.*?y'#懒惰模式
string = 'wephppythonedy'
result1 = re.search(pattern1,string)
result2 = re.search(pattern2,string)
print(result1)
print(result2)

result1:<_sre.SRE_Match object; span=(2, 14), match=’phppythonedy’>

result2:<_sre.SRE_Match object; span=(2, 7), match=’phppy’>

正则常用函数
  • 1 re.match(pattern,string)
  • 2 re.search(pattern,string)
  • 3 re.compile(pattern).findall(string)
  • 4 re.sub(pattern,rep,string,max) 字符串替换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值