国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

詳解Python中的正則表達式

2020-02-15 22:15:37
字體:
來源:轉載
供稿:網友

一、正則表達式簡介

  正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。 Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。

  就其本質而言,正則表達式(或 RE)是一種小型的、高度專業化的編程語言, (在Python中)它內嵌在Python中,并通過 re 模塊實現。正則表達式模式被 編譯成一系列的字節碼,然后由用 C 編寫的匹配引擎執行。

  re 模塊使 Python 語言擁有全部的正則表達式功能。 compile 函數根據一個模式字符串和可選的標志參數生成一個正則表達式對象。該對象擁有一系列方法用于正則表達式匹配和替換。 re 模塊也提供了與這些方法功能完全一致的函數,這些函數使用一個模式字符串做為它們的第一個參數。 

二、字符匹配

1.普通字符:大多數字符和字母都會和自身匹配

>>> re.findall("alexsel","gtuanalesxalexselericapp")['alexsel']>>> re.findall("alexsel","gtuanalesxalexswxericapp")[]>>> re.findall("alexsel","gtuanalesxalexselwupeiqialexsel")['alexsel', 'alexsel']

2.元字符: .   ^   $   *   +   ?   { }   [ ]   |   ( )  /

•.   :匹配一個除了換行符任意一個字符    

>>> re.findall("alexsel.w","aaaalexselaw")['alexselaw']#一個點只能匹配一個字符

•^  :只有后面跟的字符串在開頭,才能匹配上

>>> re.findall("^alexsel","gtuanalesxalexselgeappalexsel")[]>>> re.findall("^alexsel","alexselgtuanalesxalexselwgtappqialexsel")['alexsel']#"^"這個符號控制開頭,所以寫在開頭

•$  :只有它前面的字符串在檢測的字符串的最后,才能匹配上

>>> re.findall("alexsel$","alexselseguanalesxalexselganapp")[]>>> re.findall("alexsel$","alexselgtaanalesxalexsssiqialexsel")['alexsel']

•*  :它控制它前面那個字符,他前面那個字符出現0到多個都可以匹配上

>>> re.findall("alexsel*","aaaalexse")['alexse']>>> re.findall("alexsel*","aaaalexsel")['alexsel']>>> re.findall("alex*","aaaalexsellllll")['alexsellllll']  

•+ :匹配前面那個字符1到多次

>>> re.findall("alexsel+","aaaalexselll")['aleselll']>>> re.findall("alexsel+","aaaalexsel")['alexsel']>>> re.findall("alexsel+","aaaalexse")[]  

•? :匹配前面那個字符0到1個,多余的只匹配一個

>>> re.findall("alexsel?","aaaalexse")['ale']>>> re.findall("alexsel?","aaaalexsel")['alexsel']>>> re.findall("alexsel?","aaaalexsellll")['alexsel']            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 姚安县| 门源| 江油市| 静宁县| 文昌市| 万宁市| 尚志市| 哈尔滨市| 马关县| 瑞昌市| 图们市| 葫芦岛市| 涿鹿县| 韶关市| 朝阳区| 东乡族自治县| 宁河县| 洪泽县| 晋城| 临沂市| 昌平区| 莆田市| 会昌县| 武宁县| 凉山| 龙江县| 阿尔山市| 缙云县| 册亨县| 郁南县| 怀仁县| 随州市| 阿合奇县| 秀山| 剑阁县| 甘肃省| 石首市| 且末县| 方城县| 张家川| 木兰县|