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

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

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

3天內不再提示

詳解python正則表達式數量詞

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

這部分理解一下數量詞,為什么要用數量詞,想想都知道,如果你要匹配幾十上百的字符時,難道你要一個一個的寫,所以就出現了數量詞。

數量詞的詞法是:{min,max} 。min 和 max 都是非負整數。如果逗號有而 max 被忽略了,則 max 沒有限制。如果逗號和 max 都被忽略了,則重復 min 次。比如,\b[1-9][0-9]{3}\b,匹配的是 1000 ~ 9999 之間的數字( “\b” 表示單詞邊界),而 \b[1-9][0-9]{2,4}\b,匹配的是一個在 100 ~ 99999 之間的數字。

下面看一個實例,匹配出字符串中 4 到 7 個字母的英文

import re

a = 'java*&39android##@@python'

# 數量詞

findall = re.findall('[a-z]{4,7}', a)
print(findall)

輸出結果:

['java', 'android', 'python']

注意,這里有貪婪和非貪婪之分。那么我們先看下相關的概念:

貪婪模式:它的特性是一次性地讀入整個字符串,如果不匹配就吐掉最右邊的一個字符再匹配,直到找到匹配的字符串或字符串的長度為 0 為止。它的宗旨是讀盡可能多的字符,所以當讀到第一個匹配時就立刻返回。

懶惰模式:它的特性是從字符串的左邊開始,試圖不讀入字符串中的字符進行匹配,失敗,則多讀一個字符,再匹配,如此循環,當找到一個匹配時會返回該匹配的字符串,然后再次進行匹配直到字符串結束。

上面例子中的就是貪婪的,如果要使用非貪婪,也就是懶惰模式,怎么呢?

如果要使用非貪婪,則加一個 ? ,上面的例子修改如下:

import re

a = 'java*&39android##@@python'

# 貪婪與非貪婪

re_findall = re.findall('[a-z]{4,7}?', a)
print(re_findall)

輸出結果如下:

['java', 'andr', 'pyth']

從輸出的結果可以看出,android 只打印除了 andr ,Python 只打印除了 pyth ,因為這里使用的是懶惰模式。

當然,還有一些特殊字符也是可以表示數量的,比如:

?:告訴引擎匹配前導字符 0 次或 1 次

+:告訴引擎匹配前導字符 1 次或多次

*:告訴引擎匹配前導字符 0 次或多次

把這部分的知識點總結一下,就是下面這個表了:

貪 婪 惰 性 描 述
?? 零次或一次出現,等價于{0,1}
+ +? 一次或多次出現 ,等價于{1,}
* *? 零次或多次出現 ,等價于{0,}
{n} {n}? 恰好 n 次出現
{n,m} {n,m}? 至少 n 次枝多 m 次出現
{n,} {n,}? 至少 n 次出現

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

    關注

    1

    文章

    585

    瀏覽量

    20563
  • python
    +關注

    關注

    56

    文章

    4802

    瀏覽量

    84889
收藏 人收藏

    評論

    相關推薦

    Linux grep命令詳解

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

    詳解nginx中的正則表達式

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

    Verilog表達式的位寬確定規則

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    求助,有關表達式選項卡(ADS)的問題求解

    你好。 我看不到表達式選項卡中的某些變量值。 數組的大小顯然是 256,但我最多只能看到 100。 請問問題出在哪里? 謝謝。
    發表于 06-03 06:23

    BGP路由過濾、引入與缺省路由的配置實踐

    第一個用 AS-Path進行路由過濾 利用 AS-Path 進行路由過濾 讓R3只接收來自AS 100的 做正則表達式
    發表于 04-08 10:47 ?1481次閱讀
    BGP路由過濾、引入與缺省路由的配置實踐

    mapgis屬性篩選表達式

    篇文章中,我們將詳細討論MapGIS的屬性篩選表達式,包括語法、操作符和函數等。 屬性篩選表達式是一種在MapGIS中用于指定要素選擇條件的代碼。它由一組操作符、函數和屬性字段組成,用于描述要篩選的要素的特征。在MapGIS中,屬性篩選
    的頭像 發表于 02-25 10:58 ?1721次閱讀

    西門子博途的算術表達式

    算術表達式既可以是一個數字值,也可以是由帶有算術運算符的兩個值或表達式組合而成。 算術運算符可以處理當前 CPU 所支持的各種數據類型。如果在該運算中有 2 個操作數,那么可根據以下條件來確定結果的數據類型。
    的頭像 發表于 01-24 11:36 ?1053次閱讀

    你還不會gvim正則表達式?一文搞懂!

    gvim正則表達式常在命令行模式下使用,一般用于文本文件字符串的替換、刪除等操作。
    的頭像 發表于 01-19 16:47 ?1255次閱讀
    主站蜘蛛池模板: 播放欧亚一级特黄录像| 丁香婷婷视频| 手机看福利片| 九九99视频在线观看视频观看| 免费看一毛一级毛片视频| 四虎影院一区二区| 四虎精品成在线播放| 日日噜噜噜噜人人爽亚洲精品| 欧美一区二区在线观看视频| 毛片一区| 成人免费看黄页网址大全| 毛片在线网| 丰满寡妇一级毛片| 午夜久久久久久| 亚洲精品视频免费| 国产精品四虎| 黄色在线免费看| 91日韩精品天海翼在线观看| 国产欧美亚洲精品第二区首页| 美女被免费网站视频九色| 很狠操| 韩国三级在线视频| 一级片在线播放| 久久精品国产大片免费观看| 美女久久久久久| 黄色在线看网站| 91大神精品| 最新丁香六月| 中文字幕网资源站永久资源| 四虎最新网站| 狠狠的日视频| 天堂网在线新版www| 欧美专区在线播放| 天天草天天射| 1024手机在线观看视频| 国产亚洲自在精品久久| 伊人蕉久| 婷婷丁香视频| 色综合成人丁香| 黄色大片视频| 日本天天射|