专栏首页python3Python 模糊匹配:glob, re

Python 模糊匹配:glob, re

''' fnmatch模块: 提供对Unix Shell通配符的支持 Pattern Meaning  *       matches everything  ?       matches any single character  [seq]   matches any character in seq  [!seq]  matches any character not in seq 

'''

import os
import fnmatch
for file in os.listdir('.'):
    if fnmatch.fnmatch(file, '*.py'):
        print file

''' glob模块: 查找所有满足Unix Shell模式规则的路径名 '''

import os
import glob
for f in glob.glob(os.path.join(os.path.abspath('.'), '*')):
    print f

Python的正则表达式类似于Perl语言。 re正则表达式使用'\'进行转义, 而Python语言也使用'\'在字符串的转义;因此,为了匹配'\', 必须使用'\\\\'作为模式。 因为正则表达式必须是\\,而在字符串中每一个\需要两个\\表示。 对于正则表达式模式,我们可以使用原始字符串(raw string)。原始字符串中的\只作为普通字符串处理。因此,r'\n'表示两个 字符,'\'和'n',但是在普通字符串中, '\n'将作为换行符处理。 re中的特殊字符: '.' 匹配任意字符, 除了换行。如果 DOTALL标记打开,将匹配所有字符,包括换行。 '^' 匹配字符串的开始。 '$' 匹配字符串的结束。 '*' 0或多次重复匹配。 '+' 1或多次重复匹配。 '?' 0次或1次匹配。 *?, +?, ?? 对应于'*', '+', '?'的非贪心匹配。 {m} m次重复匹配 {m, n} m到n次重复匹配,省略m表示m = 0, 省略n表示n无穷大。 {m, n}? 与*?, +?, ??类似, 非贪心匹配。 []  匹配字符集。 |   A|B,表示匹配A或B。 ()     正则表达中组的概念。 \d  匹配十进制数 \D  匹配非非数字字符 \s  匹配空白 \S  匹配非空白 \w  匹配任意数字和字母 \W  匹配任意非数字和字母

url = 'http://www.contoso.com:8080/letters/readme.html'
obj = re.match(r'(.*)//(.*):(\d+)(.*)', url)
print obj.groups()

lstStr = ['local 127.0.0.1', 'Lucy 192.168.130.2', 'Link 192.168.130.224']
for s in lstStr:
    obj = re.match(r'.*?(\d+.\d+.\d+.\d+).*?', s)
    print obj.groups()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 开发利器IDEA

    IDEA,全称IntelliJ IDEA,是Java语言的集成开发环境,IDEA在业界被公认为是最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重...

    A2Data
  • Python利器之Anconda

    小伙伴你听我跟你吹讲,它有完善的第三方库,调用方便,撸起代码来,那叫一个飞起(我会告诉你关键是简单易学?)

    A2Data
  • 【Python基础】所有语言排名第一的程序,学不会找我

    有一个古老的谣言传说,如果你的第一个程序是"hello,world",那么它将会给你额外带来好运

    A2Data
  • 为什么我还是建议你学点Java呢?

    原因是为什么呢?那是因为, 从根本上没了解到,java 可以做什么,不懂Java的便捷与高效。那么什么是项目? 很多项目都是基于需求来呢?需求如何来呢?其实我们...

    A2Data
  • Python中如何把redis取出的数据去掉b'

    这个问题是最近在写爬虫的时候遇到的,本次使用了redis对爬取的数据进行存储,便于对数据进行二次清洗。存入的过程是非常顺利的。但是在二次数据清洗时,在redis...

    申霖
  • 【Python基础】一个字符串的N种玩法

    一般大家写程序,都是用来做一些爱做的事情,其中少不了的是对数据进行分类。今儿个咱们开始认认识python中的第一个数据类型:字符串。

    A2Data
  • 关于Python二三事

    本文标识 : P00000 本文编辑 : 采药 编程工具 : Python 阅读时长 : 2分钟

    A2Data
  • Unicode String Parse With Python and Fileinput

    这种错误还不好用try .. catch忽略掉,因为它是在fileinput模块中自己parse的;

    happy123.me
  • 【Python基础】列表与访问列表

    列表是由一系列按照特定顺序排列的元素组成。所以它可以包含字母、数字,也可以把任何东西加入列表中,通常用[]来表示列表,并用逗号来分割其中的元素。

    A2Data
  • 【Python基础】整数与浮点数

    Python中,我们除了要跟代码打交道外,还要处理很多的数字,用来做可视化、记录用户信息等等。所以Python会根据数字的用法,以不同的方式处理他们,常见的类型...

    A2Data

扫码关注云+社区

领取腾讯云代金券