国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【python技巧】文本處理-re庫字符匹配

這篇具有很好參考價值的文章主要介紹了【python技巧】文本處理-re庫字符匹配。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

目錄
  • 1. 正則表達(dá)式
    • 1.1 測試工具
    • 1.2 限定符
    • 1.3 字符集
    • 1.4 運(yùn)算符
    • 1.5 元字符
    • 1.6 懶惰匹配和貪婪匹配

我們讀取文件內(nèi)容,肯定不是單純?yōu)榱溯敵龌蛘咧匦聦懭?,對于文本我們一定有一些查找、定位的需求?br> 在Python中,還有一個專門用于文本處理的庫,那就是re庫。
下面我會介紹re庫涉及的正則表達(dá)式的基本知識。
參考課程

1. 正則表達(dá)式

正則表達(dá)式是用來進(jìn)行字符串匹配的一個字符形式。

1.1 測試工具

常見的正則表達(dá)式測試工具有:

  1. regex101
  2. 代碼編輯器搜索欄的正則表達(dá)式匹配

1.2 限定符

  1. ?
    abc?表示字符c需要出現(xiàn)0次或者1次,或者換句話說,字符c至多出現(xiàn)一次。也就是說,abc?相當(dāng)于abcab這兩個字符串。

  2. *
    ab*c表示字符b需要出現(xiàn)0次或者多次,或者換句話說,字符b可以出現(xiàn)任意多次。也就是說,ab*c相當(dāng)于ac、abc、abbc、ab……bc等多個字符串。

  3. +
    ab+c表示字符b需要出現(xiàn)1次或者多次,或者換句話說,字符b至少出現(xiàn)一次。也就是說,ab+c相當(dāng)于abc、abbc、ab……bc等多個字符串。
    注意ab*cab+c的細(xì)微區(qū)別。

  4. {}

  • {num}
    ab{3}c表示字符b需要出現(xiàn)3次,或者換句話說,字符b只能出現(xiàn)2次。也就是說,ab{2}c相當(dāng)于abbc這一個字符串。

  • {num1,num2}
    ab{2,5}c表示字符b需要出現(xiàn)2或3或4或5次,也就是說,ab{2,5}c相當(dāng)于abbc、abbbcabbbbc、abbbbbc這四個字符串。

  • {num,}
    ab{2,}c表示字符b需要出現(xiàn)2次及以上,也就說,ab{2,}c相當(dāng)于abbc、abbbcabbbbc、ab……bc等無數(shù)個字符串。

1.3 字符集

在正常情況下,上述的限定符只會對其前面的一個字符起作用。如果想要某個字符串作為一個組合,可以使用字符集。
(ab)+c表示字符串ab需要出現(xiàn)1次或者多次,或者換句話說,字符串ab至少出現(xiàn)一次。也就是說,(ab)+c相當(dāng)于abc、ababc、abababc、ab……abc等多個字符串。

1.4 運(yùn)算符

  1. |
    a(b|d)c表示字符串b出現(xiàn)1次或者字符串d出現(xiàn)1次,也就是說,a(b|d)c相當(dāng)于abc、adc這兩個字符串。

    a(boy|girl)c也同樣適用,相當(dāng)于aboyc或者agirlc這兩個字符。

  2. []
    []表示匹配字符能選擇的范圍,成為字符類,例如,[abc]+只會匹配a\b\c這三個字母出現(xiàn)一次或多次的字符串,而一般更經(jīng)常使用的是[a-zA-Z0-9]*表示由大小寫字母和數(shù)字組成的字符串,[a-zA-Z0-9_]*表示由大小寫字母、數(shù)字和下劃線組成的字符串。

  3. ^
    ^表示取反字符類,也就是說,[^a-zA-Z0-9]*表示除了大小寫字母、數(shù)字符號以外的其他字符出現(xiàn)一次或多次的字符串。

  4. \
    \.表示轉(zhuǎn)置,把一些有特殊意義的字符轉(zhuǎn)變?yōu)閷?shí)際字符

  5. \b
    \b表示字符邊界文章來源地址http://www.zghlxwxcb.cn/news/detail-709924.html

1.5 元字符

  1. \d數(shù)字字符
    1. \D非數(shù)字字符
  2. \w單詞字符,包括英文字母、數(shù)字、下劃線
    1. \W非單詞字符
  3. \s空白字符,包括空格、制表符、換行符
    1. \S非空白字符
  4. .任意字符,不包含換行符
  5. ^匹配字符串的開頭,例如^a匹配行首的a
  6. $匹配字符串的結(jié)尾,例如x$匹配行尾的x

1.6 懶惰匹配和貪婪匹配

  1. 貪婪匹配
    默認(rèn)匹配盡可能多的字符。
  2. 懶惰匹配
    例子:<.+>匹配<>之間的任意字符,而<.+?>則會使用懶惰匹配

到了這里,關(guān)于【python技巧】文本處理-re庫字符匹配的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 深入了解字符串處理算法與文本操作技巧

    引言 字符串處理是計算機(jī)科學(xué)和數(shù)據(jù)處理的核心領(lǐng)域之一。本博客將深入介紹一些常見的字符串處理算法和文本操作技巧,包括字符串匹配、搜索、正則表達(dá)式、字符串操作和文本標(biāo)準(zhǔn)化等。 暴力匹配算法 什么是暴力匹配? 暴力匹配算法是一種最簡單的字符串匹配方法,它

    2024年02月10日
    瀏覽(69)
  • Python 中的字符串匹配識別文本中的相似性

    Python 中的字符串匹配識別文本中的相似性

    更多Python學(xué)習(xí)內(nèi)容:ipengtao.com 字符串匹配是自然語言處理(NLP)和文本處理中的一個重要任務(wù),它可以識別文本之間的相似性、找到相同或相似的模式,以及進(jìn)行文本分類和信息檢索等應(yīng)用。本文將深入探討Python中的字符串匹配技術(shù),包括基本的字符串比較方法、正則表達(dá)式

    2024年01月18日
    瀏覽(24)
  • 【網(wǎng)絡(luò)安全帶你練爬蟲-100練】第10練:re的正則匹配、文件夾創(chuàng)建、圖片下載

    【網(wǎng)絡(luò)安全帶你練爬蟲-100練】第10練:re的正則匹配、文件夾創(chuàng)建、圖片下載

    目錄 一、目標(biāo)1:正則匹配圖片的URL 二、目標(biāo)2:創(chuàng)建文件夾 三、目標(biāo)3:保存圖片到test文件夾中 ?四、網(wǎng)絡(luò)安全小圈子 URL位置 我們可以找到img都在這個標(biāo)簽里面 ? ? 請求方法GET ? 提取URL位置 需要掌握的 目標(biāo)標(biāo)簽如下: 需要提取的內(nèi)容如下: (多加了一個為轉(zhuǎn)義字

    2024年02月13日
    瀏覽(21)
  • 2.1 python文本處理-正則表達(dá)式

    標(biāo)準(zhǔn)庫模塊 re 模塊方法 # 將正則表達(dá)式樣式編譯成一個正則對象。一般用于多次使用正則對象的場景 re.compile( pattern ) # 掃描string字符串并查找符合patten樣式的第一個位置,返回對應(yīng)的 Match 結(jié)果,否則返回 None re.search(patten, string) #?如果? string ?開頭的零個或多個字符與正則

    2024年02月01日
    瀏覽(29)
  • Python 正則表達(dá)式:強(qiáng)大的文本處理工具

    正則表達(dá)式是一種強(qiáng)大的文本匹配和處理工具,它可以用來在字符串中查找、替換和提取符合某種規(guī)則的內(nèi)容。在Python中,使用re模塊可以輕松地操作正則表達(dá)式,它提供了豐富的功能和靈活的語法。 正則表達(dá)式在許多場景中都非常有用。以下是一些常見的應(yīng)用場景: 數(shù)據(jù)清

    2024年02月09日
    瀏覽(30)
  • 利用Re新增數(shù)據(jù)源dis實(shí)現(xiàn)向量相似度搜索:解決文本、圖像和音頻之間的相似度匹配問題

    利用Re新增數(shù)據(jù)源dis實(shí)現(xiàn)向量相似度搜索:解決文本、圖像和音頻之間的相似度匹配問題

    最近工作中需要用到MongoDB的事務(wù)操作,因此參考了一些資料封裝了一個小的組件,提供基礎(chǔ)的CRUD Repository基類 和 UnitOfWork工作單元模式。今天,就來簡單介紹一下這個小組件。 MongoDB在4.2版本開始全面支持了多文檔事務(wù),至今已過了四年了,雖然我們可能沒有在項(xiàng)目中用Mon

    2024年01月23日
    瀏覽(19)
  • 正則表達(dá)式 (用于靈活匹配文本的表達(dá)式)

    目錄 . * 用于匹配任意單個字符,除了換行符。 例如使用正則表達(dá)式 a.b, 它可以匹配aab、acb、a#b 用于匹配前一個字符零次或多次。 例如,使用正則表達(dá)式 ab*c ,它可以匹配 \\\"ac\\\"、\\\"abc\\\"、\\\"abbc\\\",因?yàn)?b* 表示匹配零個或多個字符 \\\"b\\\"。所以,這個表達(dá)式可以匹配 \\\"ac\\\"(零個 \\\"b\\\"),

    2024年01月16日
    瀏覽(33)
  • python re多行匹配

    如果你要多行匹配,那么需要加上 re.S 和 re.M 標(biāo)志. 加上 re.S 后,? . 將會匹配換行符,默認(rèn) . 不會匹配換行符. 代碼如下: ?加上 re.M 后, ^$ 標(biāo)志將會匹配每一行,默認(rèn) ^ 和 $ 只會匹配第一行. 代碼如下:

    2023年04月08日
    瀏覽(20)
  • 正則表達(dá)式包含數(shù)字和字符匹配

    正則表達(dá)式包含數(shù)字和字符匹配

    至少6位。 pattern : (?=. [0-9])(?=. [A-Za-z])[0-9A-Za-z]{6,} 正則表達(dá)式中的“?=”是一個正向預(yù)查字符,它的意思是匹配前一個字符出現(xiàn)的最少一次。具體來說,當(dāng)一個匹配出現(xiàn)時,它會檢查前一個字符是否符合要求,如果符合,則繼續(xù)匹配下一個字符,否則停止匹配。

    2024年02月06日
    瀏覽(35)
  • Python字符串處理技巧大全

    Python字符串處理技巧大全

    1.字符串的連接和合并 連接和合并 相加 //兩個字符串可以很方便的通過\\\'+\\\'連接起來 合并//用join方法 2.字符串的切片和相乘 相乘//比如寫代碼的時候要分隔符,用python很容易實(shí)現(xiàn) line=\\\'*\\\'*30 print(line) 切片 3.字符串的分割 普通的分割,用split split只能做非常簡單的分割,而且不支

    2023年04月14日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包