Python基础知识(七)

#!/usr/bin/env python

# -*- coding:utf-8 -*-

#############正则表达式############

'''

字符:

.匹配除换行符以外的任意字符

\w匹配字母或数字或下划线或汉字

\s匹配任意的空白符

\d匹配数字

\b匹配单词的开始或结束

^匹配字符串的开始

$匹配字符串的结束

次数:

*重复零次或更多次

+重复一次或更多次

?重复零次或一次

重复n次

重复n次或更多次

重复n到m次

'''

importre

#match:从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None

text ='rainy day ! 123'

r = re.match("r\w+",text)

print(r.group())#获取匹配到的所有结果

r = re.match("r(\w+)",text)

print(r.groups())#获取模型中匹配到的分组结果,元组

r = re.match("(?Pr\w+)",text)

print(r.groupdict())#获取模型中匹配到的分组结果,字典

#search:浏览整个字符串去匹配第一个,未匹配成功返回None

text ='123rainy day 456 rainy day'

r = re.search("r(\w.*)(?P\d)",text)

print(r.group())#获取匹配到的所有结果

print(r.groups())#获取模型中匹配到的分组结果

print(r.groupdict())#获取模型中匹配到的分组中所有执行了key的组

#findall:获取非重复的匹配列表;如果有一个组则以列表形式返回,且每一个匹配均是字符串;

#如果模型中有多个组,则以列表形式返回,且每一个匹配均是元祖;

#空的匹配也会包含在结果中.

text ='123rainy day 456reason day'

r = re.findall("(\d)(r\w+)",text)

print(r)

# #

# re.finditer()

# #

# re.split()

# re.sub()

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180619G1Z12Z00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券