Python正则表达式

#encoding:utf-8

'''
python正则表达式:一个特殊的字符序列
作用:方便查找一个字符串是否与某种模式匹配
re模块使python语言拥有全部的正则表达式功能
'''

import re

'''
re.rematch(pattern,string,flag=0)
pattern:匹配的正则表达式
string:要匹配的字符串
flag:标志位,用于控制正则表达式匹配的方式,如区分大小写,多行匹配
返回值:如果匹配成功,则返回匹配对象,否则返回None
'''
def test_rematch():
    pass

def test_findall():
    s='hello world,hello world'
    r=r'hello'
    print re.findall('world',s)   #['world', 'world']
    print re.findall(r,s)         #['hello', 'hello']
    r=r'^hello' # ^匹配行首
    print re.findall(r,s)   #['hello']
    r=r'x[0-9]x'
    print re.findall(r,'x1x')  #['x1x']
    r=r'^abc'
    print re.findall(r,'^abc') #[]
    r='\^abc'
    print re.findall(r,'^abc')  #['^abc']
    r=r'\^abc'
    print re.findall(r,'^abc')  #['^abc']
    pass
def test_s1():
    '''
    \:表示不同特殊意义的字符或者取消所有元字符
    r'[0-9]'=r'\d'
    \D:相当于[^0-9]
    \s:匹配任何空白字符 [\n\t\r\f\v]
    \S:匹配任何非空白字符
    \w:匹配任何字符数字字符  [a-zA-Z0-9]
    \W:匹配任何非字母非数字字符
    '''
    '''
    先编译,再匹配。速度快
    '''
    r1=r'\d{3,4}-?\d{8}'
    p_tel=re.compile(r1)
    print type(p_tel)
    print p_tel.findall('010-12345678')

    pass
def test_sub():
    '''
    sub函数用于字符替换
    '''
    s='hello csvt'
    print s.replace('csvt','python')  #hello python
    rs=r'c..t'
    print re.sub(rs,'python','csvt caat cvvt cccc')  #python python python cccc


if __name__=='__main__':
    #test_findall()
    #test_s1()
    test_sub()

    print r'\nabc'   #\nabc
    print '\\'  #\
    print r'\\'  #\\

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值