鍍金池/ 教程/ Python/ 正則表達式
基礎(chǔ)
itertools
HTTP 服務(wù)
hashlib
閉包
文件和目錄
單元測試
使用 @property
標準模塊
陌生的 metaclass
Base64
進程、線程和協(xié)程
讀寫二進制文件
匿名函數(shù)
輸入和輸出
Click
元組
字符編碼
partial 函數(shù)
參考資料
collections
協(xié)程
類和實例
Python 之旅
定制類和魔法方法
常用數(shù)據(jù)類型
繼承和多態(tài)
ThreadLocal
HTTP 協(xié)議簡介
Requests 庫的使用
讀寫文本文件
列表
os 模塊
迭代器 (Iterator)
正則表達式
集合
上下文管理器
異常處理
你不知道的 super
定義函數(shù)
datetime
資源推薦
字典
slots 魔法
hmac
第三方模塊
進程
類方法和靜態(tài)方法
函數(shù)參數(shù)
高階函數(shù)
函數(shù)
re 模塊
高級特性
線程
argparse
生成器
結(jié)束語
字符串
map/reduce/filter
函數(shù)式編程
Celery
裝飾器

正則表達式

正則表達式(regular expression)是可以匹配文本片段的模式。最簡單的正則表達式就是普通字符串,可以匹配其自身。比如,正則表達式 'hello' 可以匹配字符串 'hello'。

要注意的是,正則表達式并不是一個程序,而是用于處理字符串的一種模式,如果你想用它來處理字符串,就必須使用支持正則表達式的工具,比如 Linux 中的 awk, sed, grep,或者編程語言 Perl, Python, Java 等。

正則表達式有多種不同的風(fēng)格,下表(改編自 huxi)列出了適用于 Python 或 Perl 等編程語言的部分元字符以及說明:

實例

  • 匹配 python.org 的正則表達式:
python\.org

注:如果使用 python.org 來匹配,由于 . 可以匹配任意一個字符(換行符除外),因此,它也會匹配到類似 pythonmorg 的字符串,為了匹配點號,我們需要加 \ 來轉(zhuǎn)義。

  • 匹配 010-85692930 的正則表達式:
\d{3}\-\d{8}

注:\d 表示匹配數(shù)字,\d{3} 表示匹配 3 個數(shù)字,\- 表示匹配 -。

  • 匹配由數(shù)字、26個英文字母或下劃線組成的字符串的正則表達式:
^\w+$

^[0-9a-zA-Z_]+$
  • 匹配 13、15、18 開頭的手機號的正則表達式:
^(13[0-9]|15[0|1|2|3|5|6|7|8|9]|18[0-9])\d{8}$
  • 匹配金額,精確到 2 位小數(shù)
^[0-9]+(.[0-9]{2})?$
  • 匹配中文的正則表達式:
^[\u4e00-\u9fa5]{0,}$

注:中文的 unicode 編碼范圍主要在 \u4e00-\u9fa5。

參考資料

上一篇:元組下一篇:讀寫文本文件