在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

初識 Python 正則表達式

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-17 16:44 ? 次閱讀

正則表達式是一個特殊的字符序列,用于判斷一個字符串是否與我們所設定的字符序列是否匹配,也就是說檢查一個字符串是否與某種模式匹配。

Python 自 1.5 版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。re 模塊使 Python 語言擁有全部的正則表達式功能。

下面通過實例,一步一步來初步認識正則表達式。

比如在一段字符串中尋找是否含有某個字符或某些字符,通常我們使用內置函數來實現,如下:

# 設定一個常量
a = '兩點水|twowater|liangdianshui|草根程序員|ReadingWithU'

# 判斷是否有 “兩點水” 這個字符串,使用 PY 自帶函數

print('是否含有“兩點水”這個字符串:{0}'.format(a.index('兩點水') > -1))
print('是否含有“兩點水”這個字符串:{0}'.format('兩點水' in a))

輸出的結果如下:

是否含有“兩點水”這個字符串:True
是否含有“兩點水”這個字符串:True

那么,如果使用正則表達式呢?

剛剛提到過,Python 給我們提供了 re 模塊來實現正則表達式的所有功能,那么我們先使用其中的一個函數:

re.findall(pattern, string[, flags])

該函數實現了在字符串中找到正則表達式所匹配的所有子串,并組成一個列表返回,具體操作如下:

import re

# 設定一個常量
a = '兩點水|twowater|liangdianshui|草根程序員|ReadingWithU'

# 正則表達式

findall = re.findall('兩點水', a)
print(findall)

if len(findall) > 0:
    print('a 含有“兩點水”這個字符串')
else:
    print('a 不含有“兩點水”這個字符串')

輸出的結果:

['兩點水']
a 含有“兩點水”這個字符串

從輸出結果可以看到,可以實現和內置函數一樣的功能,可是在這里也要強調一點,上面這個例子只是方便我們理解正則表達式,這個正則表達式的寫法是毫無意義的。為什么這樣說呢?

因為用 Python 自帶函數就能解決的問題,我們就沒必要使用正則表達式了,這樣做多此一舉。而且上面例子中的正則表達式設置成為了一個常量,并不是一個正則表達式的規則,正則表達式的靈魂在于規則,所以這樣做意義不大。

那么正則表達式的規則怎么寫呢?先不急,我們一步一步來,先來一個簡單的,找出字符串中的所有小寫字母。首先我們在 findall 函數中第一個參數寫正則表達式的規則,其中 [a-z] 就是匹配任何小寫字母,第二個參數只要填寫要匹配的字符串就行了。具體如下:

import re

# 設定一個常量
a = '兩點水|twowater|liangdianshui|草根程序員|ReadingWithU'

# 選擇 a 里面的所有小寫英文字母

re_findall = re.findall('[a-z]', a)

print(re_findall)

輸出的結果:

['t', 'w', 'o', 'w', 'a', 't', 'e', 'r', 'l', 'i', 'a', 'n', 'g', 'd', 'i', 'a', 'n', 's', 'h', 'u', 'i', 'e', 'a', 'd', 'i', 'n', 'g', 'i', 't', 'h']

這樣我們就拿到了字符串中的所有小寫字母了。

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86318
  • 正則表達式
    +關注

    關注

    0

    文章

    28

    瀏覽量

    3655
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Cubeide1.18.1在線調試改變\"現場表達式\"中的值提示找不到地址,為什么?

    Cubeide1.18.1在線調試時,在\"現場表達式\"中添加全局變量,然后改變其數值,Console窗口提示: Failed to read all registers
    發表于 06-12 06:50

    干貨分享 | 零基礎上手!TSMaster圖形信號表達式實操指南

    TSMaster軟件支持在圖形里面的信號表達式功能,主要用于多信號表達式運算和顯示的場景。本文將以A2L中的標定變量為例,介紹如何使用圖形中的信號表達式功能進行多信號的后處理運算和顯示。本文關鍵詞
    的頭像 發表于 06-06 20:03 ?130次閱讀
    干貨分享 | 零基礎上手!TSMaster圖形信號<b class='flag-5'>表達式</b>實操指南

    Linux中文本處理命令的用法

    Linux 三劍客是(grep,sed,awk)三者的簡稱,熟練使用這三個工具可以提升運維效率。Linux 三劍客以正則表達式作為基礎,而在Linux系統中,支持兩種正則表達式,分別為“標準正則表達式”和“擴展
    的頭像 發表于 04-15 10:22 ?243次閱讀
    Linux中文本處理命令的用法

    Linux grep命令詳解

    Linux grep命令是一種非常常用的文本搜索工具,它可以在給定的文件中搜索匹配的字符串,并輸出匹配的行。grep是全稱“global search regular expression print”,可以識別正則表達式,并使用正則表達式進行搜索。
    的頭像 發表于 12-25 09:39 ?791次閱讀

    表達式畫Coms電路,最近二周有比賽第一次接觸Cmos,主要用與或非門電路畫

    用與或非門電路繪畫,通過表達式,來繪畫cmos門電路
    發表于 12-04 16:02

    詳解nginx中的正則表達式

    前言,我這里驗證的nginx-v1.23.2單機環境下的nginx中的正則表達式、location路徑匹配規則和優先級。
    的頭像 發表于 12-03 09:59 ?796次閱讀
    詳解nginx中的<b class='flag-5'>正則表達式</b>

    Verilog表達式的位寬確定規則

    很多時候,Verilog中表達式的位寬都是被隱式確定的,即使你自己設計了位寬,它也是根據規則先確定位寬后,再擴展到你的設計位寬,這常常會導致結果產生意想不到的錯誤。
    的頭像 發表于 10-22 15:41 ?1415次閱讀
    Verilog<b class='flag-5'>表達式</b>的位寬確定規則

    通過工業智能網關實現中間變量表達式的快速配置

    ,出現告警可能是多個變量達到條件而觸發的,就需要對中間變量進行配置。 對此,物通博聯提供基于工業智能網關實現中間變量表達式的快速配置操作。用戶可以根據生產現場的應用需求,靈活配置中間變量表達式,實現多參數、多條件
    的頭像 發表于 10-08 17:10 ?578次閱讀
    通過工業智能網關實現中間變量<b class='flag-5'>表達式</b>的快速配置

    nginx中的正則表達式和location路徑匹配指南

    前言,我這里驗證的nginx-v1.23.2單機環境下的nginx中的正則表達式、location路徑匹配規則和優先級。
    的頭像 發表于 09-29 16:02 ?1618次閱讀
    nginx中的<b class='flag-5'>正則表達式</b>和location路徑匹配指南

    求助,以下恒流源電路Io的計算表達式怎么計算?

    這個恒流源電路Io的計算表達式怎么計算,求給出詳細計算過程
    發表于 08-22 08:16

    TestStand表達式中常用的語法規則和運算符使用

    TestStand也有自己的語言嘛?在回答這個問題之前大家可以想一下在使用TestStand時有一個和語言密切相關的屬性。沒錯那就是表達式(Expressions),在這篇文章中,小編將以Q&A的方式來帶著大家來理解并熟悉TestStand表達式中較為常用的一些語法規則以
    的頭像 發表于 08-15 18:10 ?3222次閱讀
    TestStand<b class='flag-5'>表達式</b>中常用的語法規則和運算符使用

    Java表達式引擎選型調研分析

    1 簡介 我們項目組主要負責面向企業客戶的業務系統, 企業的需求往往是多樣化且復雜的,對接不同企業時會有不同的定制化的業務模型和流程。 我們在業務系統中 使用表達式引擎,集中配置管理業務規則,并實現
    的頭像 發表于 08-15 14:25 ?600次閱讀
    Java<b class='flag-5'>表達式</b>引擎選型調研分析

    鴻蒙原生應用元服務開發-倉頡基本概念表達式(二)

    三、do-while 表達式 do-while 表達式的基本形式為: do { 循環體 } while (條件) 其中“條件”是布爾類型表達式,“循環體”是一個代碼塊。do-while 表達式
    發表于 08-09 14:26

    鴻蒙原生應用元服務開發-倉頡基本概念表達式(一)

    在一些傳統編程語言中,一個表達式由一個或多個操作數(operand)通過零個或多個操作符(operator)組合而成,表達式總是隱含著一個計算過程,因此每個表達式都會有一個計算結果,對于只有操作數而
    發表于 08-08 10:27

    重啟一次VsCode后,ESP_LOGI會提示錯誤“應輸入表達式”的原因?

    我重啟一次vsc后,ESP_LOGI會提示錯誤“應輸入表達式”,不過build的時候沒有問題。是我C/Cpp配置哪里搞錯了嗎?
    發表于 06-17 08:22
    主站蜘蛛池模板: 三级毛片在线看 | 欧美在线观看www | 免费看片aⅴ免费大片 | 天天爽夜夜爽夜夜爽 | 巨臀中文字幕一区二区翘臀 | 一级特级女人18毛片免费视频 | 亚瑟 国产精品 | 色视频在线观看免费 | 一道精品一区二区三区 | 国产无限资源 | 日本亚洲视频 | 亚洲天堂社区 | 亚洲产国偷v产偷v自拍色戒 | 午夜黄大色黄大片美女图片 | 奇米狠狠操 | 国产片在线观看狂喷潮bt天堂 | 99成人| 欧美亚洲一区二区三区在线 | 狠狠干网站 | 精品国产免费久久久久久婷婷 | 欧美黄页网 | 欧美最猛黑人xxxxwww | 亚洲国产精品日韩专区avtube | 日日夜夜天天干 | 韩日一级毛片 | 天堂影院jav成人天堂免费观看 | 人人爱人人澡 | 一级毛片 在线播放 | 在线视频 二区 | 国产午夜视频在永久在线观看 | 超刺激gay腐文h文 | 一二三区在线观看 | 久久久五月天 | 欧美人成一本免费观看视频 | 国产亚洲午夜精品a一区二区 | 亚洲福利在线视频 | 34pao强力打造免费永久视频 | 香蕉视频久久久 | 在线看逼 | 日本不卡视频在线视频观看 | 国产三级日本三级韩国三级在线观看 |