Python正则

# -*- coding:UTF-8 -*-

import re

'''
字符匹配:
    元字符列表:.^$*+?{[]\|()

    \d 匹配任何十进制数 [0-9]
    \D 匹配任何非数字字符 [^0-9]
    \s 匹配任何空白字符
    \S 匹配任何非空白字符
    \w 匹配任何字母数字字符 [a-zA-Z0-9]
    \W 匹配任何非字母数字字符 [^a-zA-Z0-9]

    * 匹配零次或一次
    + 匹配一次或更多次
    ? 匹配一次或零次
    {m} 匹配m个
    {m,n} 匹配m-n个
'''
def read_re():
    # 使用正则表达式:
    p = re.compile('ab*')
    print p

    # 执行匹配
    # match() 是否在字符串刚开始的位置匹配
    # search() 扫描字符串,找到匹配的位置
    # findall() 找到匹配的所有子串,作为一个列表返回
    # finditer() 找到匹配的所有子串,作为一个迭代器返回
    #
    # group() 返回被匹配的字符串
    # start() 返回匹配开始的位置
    # end() 返回匹配结束的位置
    # span() 返回一个元组包含匹配(开始,结束)的位置

    # 匹配
    match = re.match(r'dog', 'dog cat dog')
    print match
    print match.group(0)  # group()返回查找到的匹配对象

    # 搜索
    search = re.search(r'cat', 'dog cat dog')
    print search.group(0)

    # 查找所有的
    findcat = re.findall(r'cat', 'dog cat dog')
    print findcat
    finddog = re.findall(r'dog', 'dog cat dog')
    print finddog

if __name__ == '__main__':
    read_re()

Output:

<_sre.SRE_Pattern object at 0x000000000272FB58>
<_sre.SRE_Match object at 0x000000000271A510>
dog
cat
findcat= ['cat']
finddog= ['dog', 'dog']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值