正則表達式

正則表達式接觸過好屢次,之前用C寫代碼的時候對文本的處理很少,基本沒怎麼用過。工做了之後對於正則表達式才逐步的用了起來。可是到目前爲止,公司裏面很多同事對於正則表達式具體怎麼用的仍是不清楚,也挺讓人無奈的。正則表達式

我好好研究正則表達式是在出差的時候學會的,當時有個數據配置的規則,一線和家裏的數據匹配方式正好是反過來的,使用的字符也不同。當時實在是沒辦法了,把資料搬出來,結合百度,而後好好學習了下,算是知道怎麼用了。數組

這裏推薦notepad++這個編輯器,裏面的正則表達式查找功能用來練習正則表達式實在是太棒了。編輯器

NOTEPAD++的搜索功能中帶有正則表達式匹配,能夠查找替換,篩選。仍是挺不錯的。函數

1 匹配單行記錄學習

^.+$        解析:^用來匹配行首, "."能夠匹配除了換行的任意字符,"+"表示匹配前面字符1個或無限個,"$"表示行尾,輕鬆搞定。spa

2 Python中的正則表達式使用設計

Python中自帶的re模塊仍是挺好用的,結合使用經驗,目前看findall函數是相對通用的函數,可以將指定字符串中全部的記錄都摘選出來放到一個數組中。code

1 >>> regex_list1 = re.compile ( r'\baaa\b' )
2 >>>
3 >>> tmp_string = 'aaa 1234aaa2342 bacaaa'
4 >>>
5 >>> print regex_list1.findall ( tmp_string )
6 ['aaa']
7 >>> regex_list1 = re.compile ( r'[1-9]{3}aaa[1-9]{2}' )
8 >>> print regex_list1.findall ( tmp_string )
9 ['234aaa23']

先定義一個正則表達式的字符串,咋設計根據本身的需求實現。對象

而後調用re.compile()函數對這個字符串進行編譯,函數的返回結果就是一個正則表達式的對象。blog

而後就能夠經過這個正則表達式對象的功能函數findall對字符串進行匹配和過濾。

匹配效果如上圖所示。用起來仍是很簡單的,只要能設計正確的正則表達式便可。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息