python中正则表达式的基本应用

ps:默认匹配顺序为从左至右

re.match()
原型:match(pattern, string, flags = 0)
pattern:要匹配的正则表达式
string:要匹配的字符串
flags:标志位,用于控制正则表达式的匹配方式

  • re.I 忽略大小写
  • re.L 作本地用户识别
  • re.M 多行匹配,影响’ ^ ‘和’ $ ‘两个元字符
  • re.S ’ . ‘匹配包括换行符在内的所有字符
  • re.U 根据Unicode字符集解析字符,影响“ \w、\W 、\B ”
  • re.X 是我们以更灵活的格式理解正则表达式
    功能:尝试从字符串的起始位置匹配一个编写好的模式,如果不是起始位置但匹配成功,也统一返回None

re.search()
原型:同上
功能:扫描整个字符串,并返回第一个成功的匹配对象

re.findall()
原型:同上
功能:扫描整个字符串,并返回所有成功的匹配结果(以列表形式)

– - - - - - - - - - - - - - - - - - - - - - - -匹配单个字符或数字- - - - - - - - - - - - - - - - - - - - - - - -
. 匹配除换行符以外的任意单个字符
[ ] 匹配 [ ] 内的所有所包含的任意一个字符,[ ]是字符集合,例如:

  • [Hello]:匹配’ H ‘, ’ e ‘, ’ l ‘, ’ o ‘中的任意一个字符
  • [A-Z]:匹配任意大写字母
  • [0-9a-zA-Z_0]:匹配任意字母、数字、下划线
  • [^Hello]:匹配除了’ Hello ‘这几个字母以外的所有字符,’ ^ ‘称为脱字符,表示不匹配指定集合中的字符

\d 匹配数字字符,效果同[0-9]
\D 匹配非数字字符,效果同[^0-9]
\w 匹配数字、字母、下划线,效果同[0-9a-zA-Z](用于判断标识符)
\W 匹配非数字、字母、下划线,效果同[^0-9a-zA-Z]
\s 匹配任意的空白符(空格、换行、回车、换页、制表)效果同[ \f\n\r\t]
\S 匹配任意的非空白符,效果同[^ \f\n\r\t]

– - - - - - - - - - - - - - - - - - - - - - - -锚字符(边界字符)- - - - - - - - - - - - - - - - - - - - - - - -
^ 每行行首匹配(在[]起另一个作用)
$ 每行行尾匹配
\A 匹配字符串开始,与’^’的区别是,该功能只匹配整个字符串的开头(在re.M模式下,也不会匹配每行行首)
\Z 匹配字符串结束,与’$’的区别是,该功能只匹配整个字符串的结尾(在re.M模式下,也不会匹配每行行尾)
\b 匹配一个单词的边界,也就是单词和空格间的位置
\B 匹配非单词的边界,也就是匹配单词内部部分字母

– - - - - - - - - - - - - - - - - - - - - - - - - -匹配多个字符或数字- - - - - - - - - - - - - - - - - - - - - -

ps:下方的x、y、z均为假设的普通字符,m、n是非负整数,不是正则表达式的元字符

(xyz) 匹配小括号内的xyz(作为一个整体去匹配)
x? 匹配0个或者1个x(至多1个x)
x* 匹配0个或者任意多个x(贪婪匹配)
x+ 匹配1个或者多个x(至少1个x,贪婪匹配)
x{n} 匹配确定的n个x
x{n, m} 匹配至少n个至多m个x(n <= m)
x | y 匹配x或者y

– - - - - - - - - - - - - - - - - - - - - - - - - - - -特殊- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*? +? (xyz)? 最小匹配,通常都是尽可能多地匹配,可以使用这种解决贪婪匹配
(?:x) 类似xyz,但不表示为一个组

附加:
正则表达式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值