"正则表达式常用函数"的笔记

什么是学习笔记?

你在学习中想写的批注、摘抄及随感。
正则表达式常用函数, 正则表达式 第三节 如何在python中使用正则表达式 re模块提供了一个正则表达式引擎的接口 可以将正则表达式编译成一个对象 如何一个表达式要经常使用,则可以编译为对象 import re r1 = r"\d{3,4}-?\d{8}" re.findall(r1,'010-12345678') //直接匹配 如果r1经常用,则可进行编译 p_tel = re.compile(r1) p_tel <为正则对象> p_tel.findall('010-12345678') ['010-12345678'] 编译后的正则比未编译的正则匹配的要快 任何一个表达式都可以进行进行,并且进行标记 csvt_re = re.compilr(r'CcSsVvTt')//匹配csvt,不区分大小写 csvt_re = re.compilr(r'csvt',re.I) //同上 csvt_re.findall('CSvt') //csvt csVT均可匹配 加入属性让匹配更灵活 常用方法 match() 决定RE是否在字符刚开始的位置匹配 search()扫描字符串,找到这个RE匹配的位置 findall() 找到RE匹配的所有子串,并把他们作为列表返回 finditer()找到RE匹配的左所有子串并把他们作为迭代器返回 csvt_re.match('csvt hello') 有相应的对象,则返回对象 csvt要在开头 没有则为空 一般用来判断是否匹配成功 x = csvt_re.mach... if x ... search()不管要匹配的字符串在什么位置均会有返回,匹配成功返回对象 csvt_re.findall('hello csvt hello csvt csvt') ['csvt', 'csvt', 'csvt'] csvt_re.finditer(' .....') 翻译迭代器对象 x.next() 返回match类型的对象 match对象方法 group返回已匹配的字符串 x.group() 'csvt' //返回字符串 一般值用来判断匹配是否成功 模块级函数 re模块也提供了顶级函数调用 sub() 子串 在字符串中截取子串 help(re.sub) s = ’hello csvt ' s.replace('csvt', 'python') //把csvt替换为python s.replace(r'c..t', 'python') 'hello csvt' //匹配不管用 rs = r'c..t' re.sub(rs, 'python' , 'csvt caat cvvt cccc') //用rs规则在后面的字符串中把c..t替换为python ['python python python cccc‘] re.subn(rs, 'python' , 'csvt caat cvvt cccc') ['python python python cccc', 3] //匹配次数 3 split() 切割 ip = "1.2.3.4" ip.split('.') ['1', '2', ..] s = "123+456-789*000" //如何对多个符号进行分割 re.split(r'[\+\-\*]', s) ['123', '456', '789', '000']