400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】常用內建模塊-re

【Python基礎知識】常用內建模塊-re

  • 發布: 優就業it培訓
  • 來源:
  • 2021-10-29 14:50:16
  • 閱讀()
  • 分享
  • 手機端入口

編程語言中的正則表達式用于描述搜索模式的特殊文本字符串。這對于從文本(如代碼、日志、文檔、電子表格等)中提取信息非常有用。使用正則表達式時,首先要認識到的是,所有內容本質上都是一個字符。ASCII或拉丁字母是鍵盤上的字母,Unicode用于匹配外來文本,它包括數字和標點符號以及所有特殊字符,如$、#、@、!、%等。

例如,正則表達式可以告訴程序從字符串中搜索特定文本,然后相應地打印出結果。正則表達式可以包括文字匹配、重復、分支、模式組成等。

在Python中,正則表達式通過re模塊導入。元字符是具有特殊含義的字符,用來匹配特定文本。常用的元字符如表所示。

re模塊中定義了一些函數,分別對應不同的匹配模式。

findall()函數用于返回包含所有匹配項的字符串列表:

  1. >>> import re   # 導入re模塊,以下示例都將省略這行代碼 
  2. >>> s = 'hello 12 hi 89. How 34' 
  3. >>> pattern = '\d+'   # 匹配數字 
  4. >>> result = re.findall(pattern, s) 
  5. >>> print(result) 
  6. ['12''89''34'

split()函數用于在存在匹配項的情況下拆分字符串,并返回發生拆分的字符串列表:

  1. >>> s = 'python:234, java 90'   # 將數字作為分隔符 
  2. >>> pattern = '\d+' 
  3. >>> result = re.split(pattern, s) 
  4. >>> print(result) 
  5. ['python:'', java '''

如果不存在匹配項,那么split()函數返回一個包含空字符串的列表。可以將maxsplit參數傳遞給split()函數,maxsplit代表最大拆分次數:

  1. >>> s = 'python:234, java 90' 
  2. >>> pattern = '\d+' 
  3. >>> result = re.split(pattern, s, 1)   # 分割最大值是1,即拆成兩份 
  4. >>> print(result) 
  5. ['python:'', java 90'

sub()函數用于返回一個字符串,其中匹配到的匹配項被替換變量的內容替換:

  1. >>> s = 'abc 12
  2. ... de 23 \n f45 6
  3. >>> pattern = '\s+'   # 匹配空白字符 
  4. >>> replace = ''   # 用空字符串替換匹配項 
  5. >>> new_string = re.sub(pattern, replace, s) 
  6. >>> print(new_string)  # 完成替換 
  7. abc12de23f456 

如果不存在匹配項,那么sub()函數返回原始字符串。

subn()函數與sub()函數類似,只不過subn()函數返回一個包含2個項的元組,其中包含新字符串和進行替換的次數:

  1. >>> s = 'abc 12
  2. ... de 23 \n f45 6
  3. >>> pattern = '\s+' 
  4. >>> replace = '' 
  5. >>> new_string = re.subn(pattern, replace, s) 
  6. >>> print(new_string) 
  7. ('abc12de23f456'4

search()函數采用兩個參數,分別是匹配模式和字符串。該函數查找正則表達式模式與字符串匹配的第一個位置。如果匹配成功,那么search()函數返回一個match對象;否則返回None:

  1. >>> s = 'Python is fun' 
  2. >>> match = re.search('\APython', s)   # 檢查'Python'是否在開頭 
  3. >>> print(match)   # 返回一個對象 
  4. <_sre.SRE_Match object; span=(06), match='Python'

上面的match變量包含著match對象,match對象的re屬性返回一個正則表達式對象,string屬性返回傳遞的字符串:

  1. >>> match.re 
  2. re.compile('\\APython'
  3. >>> match.string 
  4. 'Python is fun' 

 

文章“【Python基礎知識】常用內建模塊-re”已幫助

更多內容

>>本文地址:http://www.028benet.com/zhuanye/2021/70621.html

THE END  

聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
  • 大前端大前端
  • 大數據大數據
  • 互聯網營銷互聯網營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯網嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內設計室內設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網頁設計網頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發VR/AR
  • 網絡安全網絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發智能機器人
 

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 色哟哟精品视频在线观看| 国产精品天天在线午夜更新| 日韩精品欧美视频| 男女无遮挡毛片视频播放| 99久久久国产精品免费牛牛| 全高清特级毛片| 大伊香蕉在线精品视频人碰人| 日本牲交大片无遮挡| 爱搞视频首页在线| 成人18在线观看| 成人精品一区二区久久| 攵女yin乱合集高h文| 无人视频免费观看免费直播在线观看 | 69久久夜色精品国产69| 97久久精品午夜一区二区| 99久久99久久精品免费观看| 99久久精品免费观看国产| 99久久人妻无码精品系列| 99久久精彩视频| 18女人毛片大全| 欧美色图在线视频| 麻豆人人妻人人妻人人片AV | 国产精品无码DVD在线观看| 国产精品美女久久久久| 国产熟女乱子视频正在播放| 国产日韩精品欧美一区| 国产午夜激无码av毛片| 国产aaaaaa| 光棍影院y11111| 亚洲成a人v欧美综合天堂麻豆| 亚洲区小说区图片区qvod| 久久精品视频免费看| 中文字幕天天躁日日躁狠狠躁免费 | 旧里番6080在线观看| 故意短裙公车被强好爽在线播放 | 中文字幕无码免费久久9一区9| 一本久久a久久精品vr综合| 99久久综合狠狠综合久久| 日本a∨在线观看| 老子影院午夜伦不卡| 特级毛片视频在线|