chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

初識(shí) Python 正則表達(dá)式

python爬蟲知識(shí)分享 ? 來源:python爬蟲知識(shí)分享 ? 作者:python爬蟲知識(shí)分享 ? 2022-03-17 16:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

下面通過實(shí)例,一步一步來初步認(rèn)識(shí)正則表達(dá)式。

比如在一段字符串中尋找是否含有某個(gè)字符或某些字符,通常我們使用內(nèi)置函數(shù)來實(shí)現(xiàn),如下:

# 設(shè)定一個(gè)常量
a = '兩點(diǎn)水|twowater|liangdianshui|草根程序員|ReadingWithU'

# 判斷是否有 “兩點(diǎn)水” 這個(gè)字符串,使用 PY 自帶函數(shù)

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

輸出的結(jié)果如下:

是否含有“兩點(diǎn)水”這個(gè)字符串:True
是否含有“兩點(diǎn)水”這個(gè)字符串:True

那么,如果使用正則表達(dá)式呢?

剛剛提到過,Python 給我們提供了 re 模塊來實(shí)現(xiàn)正則表達(dá)式的所有功能,那么我們先使用其中的一個(gè)函數(shù):

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

該函數(shù)實(shí)現(xiàn)了在字符串中找到正則表達(dá)式所匹配的所有子串,并組成一個(gè)列表返回,具體操作如下:

import re

# 設(shè)定一個(gè)常量
a = '兩點(diǎn)水|twowater|liangdianshui|草根程序員|ReadingWithU'

# 正則表達(dá)式

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

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

輸出的結(jié)果:

['兩點(diǎn)水']
a 含有“兩點(diǎn)水”這個(gè)字符串

從輸出結(jié)果可以看到,可以實(shí)現(xiàn)和內(nèi)置函數(shù)一樣的功能,可是在這里也要強(qiáng)調(diào)一點(diǎn),上面這個(gè)例子只是方便我們理解正則表達(dá)式,這個(gè)正則表達(dá)式的寫法是毫無意義的。為什么這樣說呢?

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

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

import re

# 設(shè)定一個(gè)常量
a = '兩點(diǎn)水|twowater|liangdianshui|草根程序員|ReadingWithU'

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

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

print(re_findall)

輸出的結(jié)果:

['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']

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

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86761
  • 正則表達(dá)式
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    3690
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    labview如何使用VISA串口資源查找的正則表達(dá)式提取串口的資源名稱?

    如圖,如何利用VISA資源查找的正則表達(dá)式從很多串口當(dāng)中提取想要的目標(biāo)串口(Quectel USB AT Port這個(gè)串口)?
    發(fā)表于 07-07 17:20

    基礎(chǔ)篇3:掌握Python中的條件語句與循環(huán)

    不同的條件執(zhí)行不同的代碼塊。Python中的條件語句主要使用if、elif(else if的縮寫)和else關(guān)鍵字。 if語句 最簡單的條件語句是if語句,它的工作方式如下: 復(fù)制代碼 if 條件表達(dá)式
    發(fā)表于 07-03 16:13

    干貨分享 | 零基礎(chǔ)上手!TSMaster圖形信號(hào)表達(dá)式實(shí)操指南

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

    Linux中文本處理命令的用法

    Linux 三劍客是(grep,sed,awk)三者的簡稱,熟練使用這三個(gè)工具可以提升運(yùn)維效率。Linux 三劍客以正則表達(dá)式作為基礎(chǔ),而在Linux系統(tǒng)中,支持兩種正則表達(dá)式,分別為“標(biāo)準(zhǔn)正則表達(dá)式”和“擴(kuò)展
    的頭像 發(fā)表于 04-15 10:22 ?287次閱讀
    Linux中文本處理命令的用法

    Linux grep命令詳解

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

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

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

    詳解nginx中的正則表達(dá)式

    前言,我這里驗(yàn)證的nginx-v1.23.2單機(jī)環(huán)境下的nginx中的正則表達(dá)式、location路徑匹配規(guī)則和優(yōu)先級(jí)。
    的頭像 發(fā)表于 12-03 09:59 ?859次閱讀
    詳解nginx中的<b class='flag-5'>正則表達(dá)式</b>

    Verilog表達(dá)式的位寬確定規(guī)則

    很多時(shí)候,Verilog中表達(dá)式的位寬都是被隱式確定的,即使你自己設(shè)計(jì)了位寬,它也是根據(jù)規(guī)則先確定位寬后,再擴(kuò)展到你的設(shè)計(jì)位寬,這常常會(huì)導(dǎo)致結(jié)果產(chǎn)生意想不到的錯(cuò)誤。
    的頭像 發(fā)表于 10-22 15:41 ?1543次閱讀
    Verilog<b class='flag-5'>表達(dá)式</b>的位寬確定規(guī)則

    通過工業(yè)智能網(wǎng)關(guān)實(shí)現(xiàn)中間變量表達(dá)式的快速配置

    ,出現(xiàn)告警可能是多個(gè)變量達(dá)到條件而觸發(fā)的,就需要對(duì)中間變量進(jìn)行配置。 對(duì)此,物通博聯(lián)提供基于工業(yè)智能網(wǎng)關(guān)實(shí)現(xiàn)中間變量表達(dá)式的快速配置操作。用戶可以根據(jù)生產(chǎn)現(xiàn)場的應(yīng)用需求,靈活配置中間變量表達(dá)式,實(shí)現(xiàn)多參數(shù)、多條件
    的頭像 發(fā)表于 10-08 17:10 ?642次閱讀
    通過工業(yè)智能網(wǎng)關(guān)實(shí)現(xiàn)中間變量<b class='flag-5'>表達(dá)式</b>的快速配置

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

    前言,我這里驗(yàn)證的nginx-v1.23.2單機(jī)環(huán)境下的nginx中的正則表達(dá)式、location路徑匹配規(guī)則和優(yōu)先級(jí)。
    的頭像 發(fā)表于 09-29 16:02 ?1747次閱讀
    nginx中的<b class='flag-5'>正則表達(dá)式</b>和location路徑匹配指南

    求助,以下恒流源電路Io的計(jì)算表達(dá)式怎么計(jì)算?

    這個(gè)恒流源電路Io的計(jì)算表達(dá)式怎么計(jì)算,求給出詳細(xì)計(jì)算過程
    發(fā)表于 08-22 08:16

    TestStand表達(dá)式中常用的語法規(guī)則和運(yùn)算符使用

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

    Java表達(dá)式引擎選型調(diào)研分析

    1 簡介 我們項(xiàng)目組主要負(fù)責(zé)面向企業(yè)客戶的業(yè)務(wù)系統(tǒng), 企業(yè)的需求往往是多樣化且復(fù)雜的,對(duì)接不同企業(yè)時(shí)會(huì)有不同的定制化的業(yè)務(wù)模型和流程。 我們?cè)跇I(yè)務(wù)系統(tǒng)中 使用表達(dá)式引擎,集中配置管理業(yè)務(wù)規(guī)則,并實(shí)現(xiàn)
    的頭像 發(fā)表于 08-15 14:25 ?652次閱讀
    Java<b class='flag-5'>表達(dá)式</b>引擎選型調(diào)研分析

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基本概念表達(dá)式(二)

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

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基本概念表達(dá)式(一)

    在一些傳統(tǒng)編程語言中,一個(gè)表達(dá)式由一個(gè)或多個(gè)操作數(shù)(operand)通過零個(gè)或多個(gè)操作符(operator)組合而成,表達(dá)式總是隱含著一個(gè)計(jì)算過程,因此每個(gè)表達(dá)式都會(huì)有一個(gè)計(jì)算結(jié)果,對(duì)于只有操作數(shù)而
    發(fā)表于 08-08 10:27