加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

day23 正则,re模块

发布时间:2020-12-14 06:13:04 所属栏目:百科 来源:网络整理
导读:一、 简谈正则表达式 元字符 ??????? . 除了换行符外任意字符。 ??????? w 数字、字母、下划线 ??????? s 空白符 ??????? b 单词的末尾 ??????? d 数字 ????????????? n 匹配换行符 ????????????? t 匹配制表符 ??????? W 除了数字。 字母 下划线 ???

一、 简谈正则表达式

  元字符

??????? . 除了换行符外任意字符。

??????? w 数字、字母、下划线

??????? s 空白符

??????? b 单词的末尾

??????? d 数字

????????????? n 匹配换行符

????????????? t 匹配制表符

??????? W 除了数字。 字母 下划线

??????? D 除了数字

??????? S 除了空白符

??????? ^? 开头

??????? $ 结尾

??????? […] 字符组

??????? [^…] 除了字符组内的元素外

? ? ? ?()匹配括号内的表达式,也表示一个组

?

??????? 量词 限定符

??????? * ??{0,n}

??????? + ?{1,n}

??????? ? ??{0,1}

??????? {p} ?p次

??????? {p,} ?p次或更多次

??????? {p,q} 从p到q次

?

? ? ? ? ?贪婪匹配和惰性匹配

? ? ? ? ? *,+,{},都属于贪婪——即尽可能多的匹配

? ? ? ? ? 在使?用.*后?面如果加了? 则是尽可能的少匹配. 表?惰性匹配

? ? ? ? ? 正则中转义 在前加? 如 n 表示 n

?????????????

二、 re模块

findall()获取到匹配的所有内容 返回list 在pycharm中可能因()优先权,而得不到所要的结果,可用(?:取消优先权)

finditer()匹配到所有内容。 返回迭代器

search() 搜索。查到了就返回 ?查不到返回None

match() 匹配. 从头开始匹配 匹配不到就报错

split()切割,可多个,在pycharm中用()包裹表达式可保留切割位置

sub()替换 同理() 可显示替换多少次

compile() 表达式预加载

(?P<name>正则)? 给表达式起名 可调用查看

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读