當前位置:首頁 » 編程語言 » python正則表達式空格

python正則表達式空格

發布時間: 2025-04-10 00:16:15

『壹』 python的正則表達式

1,正則表達式的一些內容

        正則表達式主要是用來匹配文本中需要查找的內容,例如在一片文章中找出電話號碼,就中國的來說11位純數字(不說座機),則使用"d{11}" 意味匹配數字11次,就能准確的查找出文本中的電話號碼. 還有就是在編寫網路爬蟲的時候需要提取很多超鏈接再次進行爬取,使用正則表達式就很方便.直接匹配http開頭就行,當然也可以使用beautifulsoup的select方法.

看下面的程序看看正則表達提取文本中的郵箱:


w 匹配字母,數字,下劃線 

+ 匹配1次或者多次
re是正則表達式的工具包,工具包出錯的話在anaconda的命令行輸入"pip install re"安裝,其他的工具包也是如此.

re.compile()中的r示意不是轉義字元,也就是保持後面字元串原樣,findall返回一個列表.下面還有一個版本的程序略有不同.


compile的另一個參數re.IGONORECASE(忽略大小寫),還可以是re.DORALL,多行模式,具體功能也是模糊不清,不過在使用通配符 . 匹配的時候加上re.DOTALL參數能夠匹配換行.如果希望忽略大小寫和多行模式都開啟可以使用re.compile(r'....',re.IGNORECASE|re.DOTALL) .

表達式使用( ),對匹配到的內容分為3組 也就是(w+)出現字母,數字,下劃線一次或多次,這個分組就是下面使用match對象的grou()方法的時候的參數.不給參數和參數0都是得到整個匹配到的內容,  參數1得到第一個括弧匹配到的內容,以此類推參數2和3,如果沒有括弧分組的話使用參數會出現錯誤.
search( )查找和正則式匹配的內容,只匹一次後面的那個找不到.返回一個match對象


w 匹配字母,數字,下劃線

W 匹配字母,數字.下劃線之外的所有字元

d 匹配數字

D 匹配非數字

s 匹配空格,製表符,換行符

S匹配除空格製表符,換行符之外的其他字元

[ .... ]定義自己的匹配,如[aeiouAEIOU ]匹配所有的母音字母,注意不是匹配單詞.

{最少次數,最多次數},例如{3,9} 匹配3-9次,{ ,10}匹配0-10次. 默認為匹配最多次數(貪心匹配),非貪心模式在後面加上問號 


?  可選 0次或者1次吧  

+匹配1次或多次

*匹配0次或者多次

^ 判斷開頭 ^d 如果待匹配串是數字開頭則返回第一個數字

$判斷結尾  d$  如果待匹配串是數字結尾則返回最後一個數字

.   通配符,匹配除換行之外的所有字元

   d{11}  匹配數字11次

    . * 匹配所有字元除 換行

[a-zA-Z0-9._%+-]  小寫和大寫字母、數字、句點、下劃線、百分號、加號或短橫

[a-zA-Z]{2,4} 匹配字母 2 - 4次

『貳』 python 去除字元串中的空格

將字元串中的空格去除,字元串的長度就減少了,開始計算出的len(str)長度是原始字元串的長度,下標當然會越界

print'pleaseinputastring:'
string=raw_input('>')
string=string.replace('','')
printstring

『叄』 「Python 秘籍」刪除字元串中不需要的字元

在 Python 中,刪除字元串中不需要的字元,可以使用以下方法

  1. 使用 strip 方法

    • 默認行為:strip 方法默認會去除字元串開頭和結尾的空格。
    • 指定字元:可以通過傳遞一個字元串參數給 strip,來指定需要去除的字元集合。例如,text.strip') 會去除文本前後的這些特殊符號。
  2. 處理字元串內部的空格

    • strip 方法僅影響字元串的開頭和結尾。若需處理字元串內部的空格,可以使用 replace 方法,例如 text.replace 來刪除所有空格。
    • 正則表達式:對於更復雜的字元替換,正則表達式提供了強大的功能。例如,re.sub 可以刪除所有連續的空白字元。
  3. 結合 strip 與迭代操作

    • 在處理多行數據時,可以結合 strip 方法和迭代操作來高效地去除每行前後的空格。使用生成器表達式可以避免一次性載入所有數據,提高內存效率。
  4. 使用 translate 方法

    • 對於更高級的字元替換操作,translate 方法結合 str.maketrans 可以提供一個更高效的解決方案。這通常用於需要替換多個不同字元為相同字元或刪除它們的場景。

總結strip:用於去除字元串開頭和結尾的指定字元。 replace:用於替換字元串中的指定字元,包括內部的空格。 正則表達式:通過 re.sub 提供強大的字元替換功能,適用於復雜模式匹配。 translate:結合 str.maketrans 用於高效的字元映射或刪除操作。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:620
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:349
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:64
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:290
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:782
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:335
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:198
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:792
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:351
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:579