python正则笔记
之前总结了一篇vba正则表达式笔记,在每天只是面对大量数字的工作中似乎作用不是很大。而接触了python后,遇到了大量字符性质的数据,数据不仅仅只有规范的数字类型数据。正则表达式在处理复杂,不规范的数据有着独到的优势。
于是将正则表达式在python语言中的方法,简单总结了一下。
__author__ = 'Administrator'
# import re
# pattern="yue"
# string="http://yum.iqianyue.com"
# result1=re.search(pattern,string)
# print(result1)
#非打印字符作为原子,非打印字符包含换行符\n,制表符\t
# import re
# pattern="\n"
# string='''http://www.iqianyue.com
# http://www.baidu.com'''
# result2=re.search(pattern,string)
# print(result2)
#通用字符作为原子
#\w匹配任意一个字母、数字或下划线
#\W匹配除字母、数字下划线以外的任意单一字符
#\d匹配任意一个十进制数
#\D匹配除10进制数之外的任意单一字符
#\s匹配任意一个空白字符
#\S匹配除空白字符之外的任意一个单一字符
#\d匹配数字
#\s所有看不见的字符\s与\w有细微的差别
#正则表达式在正则笔记中有详细阐述这里不再详解在python中记录一些方法
#re.match([匹配条件pattern],[想要匹配字符串string],[一些参数设定flag])
#从源字符的起始位置
#而re.search()函数则是从全文检索匹配
# import re
# pattern=".python."
# string="aphellomypytonhispythonourpythonend"
# result3=re.match(pattern,string)
# result4=re.search(pattern,string)
# print(result3)
# print(result4)
#全局匹配函数
#1)使用re.compile()进行预编译
#2)使用findall()根据正则表达式从源字符串中将匹配结果全部找出
import re
# pattern=re.compile(".python.")
# string="aphellomypytonhispythonourpythonend"
# result=pattern.findall(string)
# print(result)
# #可以将两个步骤合并
# result1=re.compile(".python.").findall(string)
# print(result1)
#re.sub([pattern匹配条件],[rep要替换成的字符串],[string源字符串],[max最多替换的次数])
import re
pattern=".python."
string="aphellomypytonhispythonourpythonend"
result1=re.sub(pattern,"php",string)#全部替换
result2=re.sub(pattern,"php",string,2)#最多替换2次
print(result1)
print(result2)