re_正则

来源:互联网 发布:qq三国70js一套小鬼神 编辑:程序博客网 时间:2024/06/05 14:47

正则表达式

通用的字符串表达框架

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

针对字符串表达‘简洁’和‘特征’思想工具

判断某些字符串是否属于

正则表达式语法:

.表示任何单个字符

[]字符集,对单个字符给出取值范围       [abc]表示a、b、c,[a-z]表示a到z单个字符

[^ ]非字符集,对单个字符给出排除范围  [^abc]表示非a或b或c的单个字符

*前一个字符0次或无限次扩展                abc*表示 ab /abc/abcc/abcccc

+前面一个字符1次或无限次扩展            abc+表示abc/abcc/abcc等

?前面一个字符0次或1次扩展                abc?表示ab/abc

| 左右表达式任意一个                                        abc|def表示abc/def

{m}扩展前一个字符m次                                    ab{2}c表示abbc

{m,n}扩展前一个字符m至n次                           ab{1,2}c表示abc/abbc

^匹配字符串的开头                                             ^abc表示abc且在一个字符串的开头

$匹配字符串的结尾                                             abc$表示abc且在一个字符串的结尾

()分组标记,内部只能用|操作符                  (abc)表示abc,(abc|def)表示abc或def

\d 表示数字,等价于[0-9]

\w 表示单词[A-Zaz=-z0-9 _]

Re库主要功能函数:

re.search()                                                           在一个字符串中搜索匹配正则表达的第一个位置,返回match对象 

re.match()                                                            从一个字符串的开始位置起匹配正则表达式,返回match

re.finall()                                                               搜索字符串,以列表类型返回全部能匹配字符串

re.split()                                                                将一个字符串安装正则表达式匹配结果进行分割,返回列表类型

re.finditer()                                                           搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象

re.sub()                                                                 在一个字符串中替换所有匹配正则 表达式的子串,返回替换后的字符串

import  re#pattern#String#re.I 忽略正则表达式的大小写,[A-z]能够匹配小写#re.M正则表达式中的^操作符能够将给定字符串的每行当做匹配的开始#re.s 默认匹配出换行外的所有字符#中国邮政#判读match 是否为空if match: match=re.search(r'[1-9]\d{5}','BIT 100861')#匹配整个字符串print(match.group(0))#输出的结果10086

match:

import  re#pattern#String#re.I 忽略正则表达式的大小写,[A-z]能够匹配小写#re.M正则表达式中的^操作符能够将给定字符串的每行当做匹配的开始#re.s 默认匹配出换行外的所有字符#中国邮政从头 开匹配match=re.match(r'[1-9]\d{5}','100861  aaaaa')#匹配整个字符串print(match.group(0))#输出的结果10086

finall

import  re#pattern#String#re.I 忽略正则表达式的大小写,[A-z]能够匹配小写#re.M正则表达式中的^操作符能够将给定字符串的每行当做匹配的开始#re.s 默认匹配出换行外的所有字符#中国邮政返回list 从 多个找出所有的match=re.findall(r'[1-9]\d{5}','aaa100861  100861aaaa')#匹配整个字符串print(match)#输出的结果['100861', '100861']

split

import  re#pattern#String#re.I 忽略正则表达式的大小写,[A-z]能够匹配小写#re.M正则表达式中的^操作符能够将给定字符串的每行当做匹配的开始#re.s 默认匹配出换行外的所有字符#中国邮政将匹配正确的地方去掉match=re.split(r'[1-9]\d{5}','aaa100861  100861aaaa')#匹配整个字符串print(match)#输出的结果['aaa', '  ', 'aaaa']


#正则表达式regex=re.compile(r'[1-9]')