1. re模塊是正則表達式模塊,re模塊中包含一個重要函數是compile(pattern [, flags]) ,該函數根據包含的正則表達式的字符串創建模式對象。可以實現更有效率的匹配。
import re msgidRegex = re.compile(r',(\d)+,') mo = msgidRegex.search(rec_data) return mo.group()
看下rec_data的數據
rec_data="+MIPLOBSERVE:0,68220,1,3303,0,-1"
2. 分析以上代碼,首先是導入re模塊,然后調用compile函數,compile(pattern[,flags] ) 根據包含正則表達式的字符串創建模式對象。其中有一些是特殊字符,如果想使用特殊字符需要前面加\,比如1中的()只是括號,不是字符
. ^ $ * + ? { } [ ] \ | ( )
3. \d,意思是整數類型,1中的+號和()都是特殊字符,所以生成的模式對象就是兩個逗號之間有一個數字的,然后在search的時候就會匹配,正則表達式中,group()用來提出分組截獲的字符串,所以最后得到的是68220