2020-03-26


python 正则表达式

作者原网站:https://www.liaoxuefeng.com/wiki/1016959663602400/1017639890281664

用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。

基础:

在正则表达式中,如果直接给出字符,就是精确匹配。

\d 可以匹配一个数字,\w 可以匹配一个字母或数字,所以:

'00\d'  可以匹配  '007',但无法匹配  '00A';

'\d\d\d'  可以匹配  '010';

'\w\w\d'  可以匹配  'py3';

可以匹配任意字符,所以:

'py.'  可以匹配  'pyc'、'pyo'、'py!'  等等。


要匹配变长的字符,在正则表达式中,用  *  表示任意个字符(包括0个),用  +  表示至少一个字符,用  ?  表示0个或1个字符,用  {n}  表示n个字符,用  {n,m}  表示  n-m  个字符:

来看一个复杂的例子:\d{3}\s+\d{3,8}。

我们来从左到右解读一下:

\d{3}  表示匹配3个数字,例如'010'

\s  可以匹配一个空格(也包括Tab等空白符),所以  \s+  表示至少有一个空格

\d{3,8}  表示3-8个数字,例如'1234567'。

综合起来,上面的正则表达式可以匹配以任意个空格隔开的带区号的电话号码。

如果要匹配'010-12345'这样的号码呢?由于  '-'  特殊字符,在正则表达式中,要用  '\'  转义,所以上面的正则是\d{3}\-\d{3,8}。


re模块

切分字符串

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 6,488评论 0 9
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,461评论 0 4
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,773评论 0 2
  • 概述 正则表达式(regular expression)是一种表达文本模式(即字符串结构)的方法,有点像字符串的模...
    许先生__阅读 1,872评论 0 1
  • http://www.jb51.net/tools/zhengze.html 正则表达式30分钟入门教程 版本:v...
    nullleaf阅读 3,736评论 0 2