python 正则表达式

python 正则表达式

re模块

re模块函数 - python2.7
  • match(pattern, string, flags=0)
    从字符串的起点开始匹配,返回匹配的对象;若无匹配项,返回None.
print re.match('s','string_pattern')
# 输出
<_sre.SRE_Match object at 0x02474C60>

print re.match('s','#24s')
# 输出
None
  • search(pattern, string, flags=0)
    在字符串中做任意匹配,返回匹配的对象;若无匹配项,返回None.
print re.search('g','string_pattern')
# 输出
<_sre.SRE_Match object at 0x02554C60>

print re.search('!','#24s')
# 输出
None
  • compile(pattern, flags=0)
    编译正则表达式,返回一个正则表达式对象
pattern = re.compile('[0-9]+')

print pattern.match('abcd123@#$%OPQ')
# 输出
None

print pattern.search('abcd123@#$%OPQ')
# 输出
<_sre.SRE_Match object at 0x02384C60>
  • split(pattern, string, maxsplit=0, flags=0)
    通过正则表达式将字符串分离,maxsplit是分离的次数,=1分离一次,默认=0不限制次数
    返回分离的list,若未匹配,返回整个字符串
pnstr = 'str1、str2,str3++444.'

print re.split('\W+',pnstr)
# 输出
['str1', 'str2', 'str3', '444', '']

print re.split('\W+',pnstr,1)
# 输出
['str1', 'str2,str3++444.']

# 将正则表达式括起来,那么返回的list中包含匹配的字符串
print re.split('(\W+)',pnstr)
# 输出
['str1', '\xe3\x80\x81', 'str2', ',', 'str3', '++', '444', '.', '']
  • findall(pattern, string, flags=0)
    找到匹配的所有子串,返回子串的列表;无匹配,返回空列表
print re.findall('char','123')
# 输出
[]

print re.findall('\w','a big guy')
# 输出
['a', 'b', 'i', 'g', 'g', 'u', 'y']
  • sub(pattern, repl, string, count=0, flags=0)
    使用给定的字符串repl替换匹配的字串,返回字符串string;count=替换最大次数
pattern = '{ptn}'
rpl = '1'
str = 'Number:{ptn}、{ptn}、{ptn}、{ptn}'
print re.sub(pattern, rpl, str, 1)
# 输出
Number:1、{ptn}、{ptn}、{ptn}

rpl = '2'
print re.sub(pattern, rpl, str)
# 输出
Number:2222
  • escape(pattern)
    对所有非字母数字字符进行转义
print re.escape('http://www.example.com')
# 输出
http\:\/\/www\.example\.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值