码迷,mamicode.com
首页 > 其他好文 > 详细

re 库

时间:2017-10-31 11:02:10      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:short   ret   函数式   正则表达式语法   search   not   文本   表达式   dir   

正则表达式(regex): 用来简洁表达一组字符的表达式

通用的字符串框架

简洁表达一组字符串的表达式

针对字符串表达“简洁” 和 “特征” 思想的工具

某字符串的特征归属

 

在文本中十分常用

字符串匹配

 

编译:将符合正则表达式语法的字符串转换成正则表达式特征。

 

Re库为python的标准库。

 

raw string 类型(原生字符串类型,指不包含转义字符) r‘text‘

string 类型 if you want to use \, then you have to \\

函数式用法:(6种)

re.search()

re.match()

re.findall()

re.split()

re.finditer()

re.sub()

技术分享
import re

‘‘‘return match object‘‘‘
match = re.search(r[0-9]\d{5}, BIT 100081)
if match:
    match.group(0)
    print(match.group(0))

‘‘‘match will search from the string‘s beginning‘‘‘    
match = re.match(r[0-9]\d{5}, BIT 100084)
if match:
    print(match.group(0))

‘‘‘return list‘‘‘    
match = re.findall(r[0-9]\d{5}, BIT 100083 100085)
print(match)

‘‘‘return list‘‘‘
match = re.split(r[0-9]\d{5}, BIT 100083 100085, maxsplit=1)
print(match)

‘‘‘return match object‘‘‘
match = re.finditer(r[0-9]\d{5}, BIT 100083 100085)
for ma in match:
    print(ma.group(0))

‘‘‘return replaced string‘‘‘    
match = re.sub(r[0-9]\d{5}, zipcode, BIT100083 100085, count=2)
print(match)
View Code

runfile(‘F:/Project/study/untitled0.py‘, wdir=‘F:/Project/study‘)
100081
[‘100083‘, ‘100085‘]
[‘BIT ‘, ‘ 100085‘]
100083
100085
BITzipcode zipcode

面向对象是用法:(6种)

regexp = re.compile(pattern, flag=0)

regexp.search()

regexp.match()

regexp.findall()

regexp.split()

regexp.finditer()

regexp.sub()

 

返回的match 对象属性和方法:

m.string

m.re (带compile)

m.pos(搜索字符串的起始位置)

m.endpos

m.group(0)

m.start()

m.end()

m.span() (start and end relation)

 

Re库 默认采用贪婪匹配,即输出匹配最长的匹配。

match = re.search(r‘PY.*N‘, ‘PYANBNCNDN‘)

If you want the shortest match, then you should add ‘?‘

match = re.search(r‘PY.*?N‘, ‘PYANBNCNDN‘)

*?

+?

??

{m, n}? 扩展前一个字符m次或n次

 Notes:

 

re 库

标签:short   ret   函数式   正则表达式语法   search   not   文本   表达式   dir   

原文地址:http://www.cnblogs.com/jinggo/p/7726247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!