之前總結了一篇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)