Python学习记录之:正则表达式

\d 匹配一个数字
\w 匹配一个字母或数字
. 匹配任意字符
* 表示任意个字符(包括0个)
+ 表示至少一个字符
? 表示0个或1个字符
{n} 表示n个字符
{n,m} 表示n-m个字符
[] 表示范围
A|B 可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'
^ 表示行的开头,^\d表示必须以数字开头
$ 表示行的结束,\d$表示必须以数字结束

# coding=utf-8
import re

print re.match(r'^\d{3}-\d{3,8}$', '010-12345')
print re.match(r'^\d{3}-\d{3,8}$', '010 12345')

# match()方法判断是否匹配,如果匹配成功,返回一个Match对象,否则返回None
if re.match(r'^\d{3}-\d{3,8}$', '010-12345'):
    print 'OK'
else:
    print "Failed"

print 'a b    c'.split(' ')  # 会输出空格
print re.split('\s+', 'a b    c')  # 不会输出空格
print re.split(r'[\s,]+', 'a,b, c  d')  # []匹配一组字符

# 使用()对表达式进行分组
m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
print m.group(0)
print m.group(1)
print m.group(2)

# 预编译表达式
re_telephone = re.compile(r'^(\d{3})-(\d{3,8})$')
print re_telephone.match('010-12345').groups()
print re_telephone.match('010-8086').groups()

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

推荐阅读更多精彩内容

  • re模块手册 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以...
    喜欢吃栗子阅读 4,050评论 0 13
  • \ :将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,"n"匹配字符"n"。"\n"匹配换行符。序列...
    小沙鹰168阅读 559评论 0 1
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,178评论 0 9
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,071评论 0 20
  • 迷迷糊糊中,似乎听到了脚步声。那声音越来越接近我的卧室。还没等我从梦中彻底清醒过来,门吱呀一声开了,一个黑影站在...
    玫兰妮阅读 728评论 0 0