Python之正则表达式进阶篇
来源:互联网 发布:sql select 结果 左链 编辑:程序博客网 时间:2024/06/05 16:49
正则表达式里面最恶心的就是‘\’了。下面第一种是没有使用r的写法。
# -*- coding: utf-8 -*-import sysimport os # 目录操作import re # 正则表达式mydir = 'F:\Code_Practice\Python_Project\NAO_PRO'if __name__ == "__main__": # 将正则表达式编译成Pattern对象 pattern = re.compile('F:\\\\Code_Practice\\\\Python_Project\\\\NAO_PRO(\s+)') pattern1 = re.compile("^(F:\\\\Code_Practice\\\\Python_Project\\\\NAO_PRO\\\\)(\d*)") res1 = pattern1.search('F:\\Code_Practice\\Python_Project\\NAO_PRO\\7941520') if res1: print res1.group(0),res1.group(1),res1.group(2) test_str = 'F:\\Code_Practice\\Python_Project\\NAO_PRO\\sdfdd' res = pattern.search(test_str) if res: result1 = res.group(0) + "\n" print result1 else: print 'Gosh\n' print test_str # print pattern
下面一个例子我觉得很棒的东西,就是遍历某个目录,把里面的文件都取出来。
# -*- coding: utf-8 -*-import sysimport os # 目录操作import re # 正则表达式mydir = 'F:\Code_Practice\Python_Project\NAO_PRO'if __name__ == "__main__":# 将正则表达式编译成Pattern对象 pattern = re.compile(r'^(F:\\Code_Practice\\Python_Project\\NAO_PRO\\)(\w+).(\w+)')# pattern = re.compile('F:\\\\Code_Practice\\\\Python_Project\\\\NAO_PRO\\\\(\w+).(\w+)')# re.compile(r'^(F:\\Code_Practice\\Python_Project\\NAO_PRO\\)(\w+).(\w+)')# 和re.compile(r'F:\\Code_Practice\\Python_Project\\NAO_PRO\\(\w+).(\w+)') 不一样的地方是加了^之后# group(1)就是^里面的内容,否则group(1)是(\w+)里面的东西# 在这里的话有没有r还是有区别的,有r的话那么'\'只要'\\',否则就是'\\\\' pattern1 = re.compile(r"^(F:\\\\Code_Practice\\\\Python_Project\\\\NAO_PRO\\\\)(\w+).(\w+)") res = pattern1.search(r'F:\\Code_Practice\\Python_Project\\NAO_PRO\\7941520.sddd') if res: print res.group(2) +'.'+res.group(3) else: print 'test fail'# test_str = 'F:\\Code_Practice\\Python_Project\\NAO_PRO\\sdfdd'# res = pattern.search(test_str)# if res:# result1 = res.group(1) + "\n"# print result1# else:# print 'Gosh\n'# print test_str # print pattern for filename in os.listdir(mydir): filepath = os.path.join(mydir, filename) if os.path.isfile(filepath): print str(filepath) s1 = pattern.search(str(filepath)) # m = re.match(r'^(F:\\Code_Practice\\Python_Project\\NAO_PRO\\)+\S+)', filepath) if s1: result = s1.group(1) + '.' + s1.group(2) print result
0 0
- Python之正则表达式进阶篇
- Python进阶(十六)-正则表达式
- 正则表达式之Python篇
- K:正则表达式之进阶
- python之正则表达式
- python之正则表达式
- Python之正则表达式
- Python之正则表达式
- python之正则表达式
- python之正则表达式
- python之正则表达式
- Python之正则表达式
- Python之正则表达式
- Python之正则表达式
- Python之正则表达式
- python 之正则表达式
- Python之正则表达式
- Python 之 正则表达式
- poj 1269 Intersecting Lines
- 单例模式
- 中缀表达式转后缀表达式的步骤描述
- x210v3开发板u-boot-2012.10移植之十---串口摇身一变控制台
- 黑马程序员——java基础——集合框架(一:单列集合(Collection体系))
- Python之正则表达式进阶篇
- OOAD 学习笔记 十
- poj 1655 树形dp
- GIS空间分析 对栅格数据分析,距离分析,点位置查找
- 第一个maven构建
- 图力导引布局算法
- ImageIcon & Image - 在组件上打印图片
- Netty IO线程模型学习总结
- 正则表达式与文本格式化处理