国产探花免费观看_亚洲丰满少妇自慰呻吟_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']            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南充市| 河池市| 沙湾县| 措美县| 炎陵县| 平阴县| 二手房| 聂拉木县| 钟山县| 大方县| 木兰县| 东宁县| 庆城县| 教育| 台东县| 法库县| 巴彦县| 华坪县| 姜堰市| 准格尔旗| 绍兴县| 龙胜| 进贤县| 大兴区| 德保县| 清水河县| 资溪县| 广水市| 兴仁县| 麻江县| 邓州市| 连平县| 靖边县| 聂拉木县| 双柏县| 寻乌县| 榆林市| 靖州| 靖州| 中西区| 加查县|