1.拷貝 拷貝實際上其實就是在賦值,比如我們有一個列表L1,定義另一個列表L2引用列表L1,實際上就是在拷貝列表L1的值,由於由於L1列表是可變的數據類型,所以當L1的值變的時候,L2的值也是在跟著變的.那其實就算L1內的是不可變的數據類型,L1的內容變化,L2的內容也一樣會隨之變化的 # # 拷貝 ...
以下介紹在python的re模塊中怎樣應用正則表達式
1. 使用re.compile
re模塊中包含一個重要函數是compile(pattern [, flags]) ,該函數根據包含的正則表達式的字元串創建模式對象。
可以實現更有效率的匹配。在直接使用字元串表示的正則表達式進行search,match和findall操作時,python會將字元串轉換為正則表達式對象。而使用compile完成一次轉換之後,在每次使用模式的時候就不用重覆轉換。
當然,使用re.compile()函數進行轉換後,re.search(pattern, string)的調用方式就轉換為 pattern.search(string)的調用方式。
其中,後一種調用方式中,pattern是用compile創建的模式對象。如下:
# Python學習交流QQ群:711312441
>>> import re
>>> some_text = 'a,b,,,,c d'
>>> reObj = re.compile('[, ]+')
>>> reObj.split(some_text)
['a', 'b', 'c', 'd']
2.不使用re.compile
在進行search,match等操作前不適用compile函數,會導致重覆使用模式時,需要對模式進行重覆的轉換。降低匹配速度。而此種方法的調用方式,更為直觀。
如下:
>>> import re
>>> some_text = 'a,b,,,,c d'
>>> re.split('[, ]+',some_text)
['a', 'b', 'c', 'd']