<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      re模塊相關介紹

      re模塊

      模塊和實際工作時間的關系

      time模塊和時間是什么關系?
      re模塊和正則表達式的關系?
      有了re模塊就可以在python語言中操作正則表達式

      正則表達式

      1:什么是正則表達式?
      一套規則---匹配字符串的
      2:正則表達式能做什么?
      1.檢測一個輸入的字符串是否合法-------web開發項目 表單驗證
      用戶輸入一個內容得時候,我們要提前做檢測,能夠提高程序的效率并且減輕服務器的壓力
      2.從一個大文件中找到所有符合規則的內容 ---日志分析\爬蟲
      能夠高效的從一大段文字中快速找到符合規則的內容
      ?
      3:正則規則
      所有的規則中的字符就剛好匹配到字符串中的內容
      在正則表達式中能夠幫助我們表示匹配的內容得符號都是正則表達式中的元字符
      元字符都是表示能匹配那些內容,一個元字符總是表示一個字符位置上的內容
      1.字符組 []   描述的是一個位置上能出現的所有可能性
      []   一個中括號只表示一個字符位置
      如:匹配a或者b或者c
      [0-9] 匹配數字
      根據ASCII碼表進行范圍的比對
      [a-zA-Z] 匹配大小寫
      2.匹配符號
      \d -------->[0-9] 表示匹配一位任意的數字
      \w -------->[0-9a-zA-Z_] 匹配數字字母下劃線
      \s --------->表示匹配空白符(空格\tab\enter)
      空格 ----->
      tab ----->\t
      enter回車----->\n
      \W ---------->表示匹配非數字字母下劃線
      \D --------->表示匹配非數字
      \S --------->表示匹配非空白符
      [\d\D] ----->表示匹配所有
      . -------->表示除換行之外的所有
      [^\d]   表示匹配非數字
      \b表示單詞的邊界
      ^ ---------->表示匹配一個字符串的開始
      $ ---------->表示匹配一個字符串的結尾
      或 a表達式|b表達式
                匹配a表達式或者b表達式中的內容,如果匹配a成功了,不會繼續和b匹配,所以,如果兩個規則有重疊部分,總是把長的放在前面
            分組 ()
                約束|描述的內容的范圍問題
      3.量詞
      {n}   表示匹配n次
      {n,} 表示匹配至少n次
      {n,m}   表示至少匹配0次或1次
      ? 表示匹配0次或者1次
      +   表示一次或多次
      *   表示0次或多次
      4.貪婪匹配
      在量詞范圍允許的條件下,盡量多的匹配內容
      .*x 表示匹配任意字符 任意多次數 直至遇到最后一個x后才停下來
      非貪婪匹配
      元字符 量詞 ?   表示非貪婪
      元字符 ?     元字符匹配0次或1次
      .*?x 表示匹配任意字符 任意多次數 但是一旦遇到x就挺下來
      5.轉義符
      原本有特殊意義的字符,到了表達它本身的意義的時候需要轉義
      有一些特殊意義的內容,放在字符組中,會取消他的特殊意義
      [().*?] 所有的內容放在字符組中會取消他的特殊意義
      [a\-c] -在字符組中表示范圍,如果不希望他表示范圍,需要轉義,或者放在字符組的最前面或者最后面

      相關說明:
        1.為啥要匹配0次
            整數   \d+
            小數   \d+\.\d+
            小數或者整數
                    \d+(\.\d+)?
        2. 匹配手機號碼
        1[3-9]\d{9}
      判斷用戶輸入的內容是否合法,如果用戶輸入的對就能查到結果,如果輸入的不對就不能查到結果
      ^1[3-9]\d{9}$
      從一個大文件中找到所有符合規則的內容
      1[3-9]\d{9}
      匹配18/15位的身份證,規則如下:
      15位:1-9 15
      [1-9]\d{14}
      18位:1-9 16 0-9/x
      [1-9]\d{16}[\dx]
      15或18位的身份證
      [1-9]\d{16}[\dx]|[1-9]\d{14}

      re模塊

      import re
      ret = re.findall("\d+","wrr432ee21r3tg")
      print(ret)   #找所有   返回一個列表
      ret = re.search("\d+","fefrr32r445ergt56")
      print(ret)   #變量
      pritn(ret.group())   #只能拿到一個,拿不到就報錯
      if ret:
      print(ret.group())
      ?
      ?
      預習一個現象并且找到答案 ---分組有關系()
      #findall 還是按照完整的正則進行匹配,只是顯示括號里面的匹配的內容
      #取所有符合條件的,優先顯示分組中的
      ret = re.findall("8(\d)\d","1845dwfer35435")
      print(ret)   #4
      print(ret)
      #search還是按照完整的正則表達式進行匹配,顯示也是顯示匹配 到的第一個內容,但是我們可以通過給group方法傳參數
      #變量.group(n)的形式來指定獲取n個分組中匹配到內容
      ret = re.search("8(\d)(\d)","ewrr2123512343456")
      print(ret)
      if ret:
      print(ret.group())
      print(ret.group(1))
      print(ret.group(2))

      為啥在search中不需要分組優先,而在findall中需要
      加上括號是為了對真正需要的內容進行提取
      ?
      為什么要用分組,以及findall的分組優先到底有什么好處
      exp = "3-2*(5+3)"
      # a+b或者是a-b并且計算他們的結果
      ret = re.search("\d+[+]\d+",exp)
      print(ret)
      a,b = ret.split("+")
      print(int(a)+int(b))

      ret = re.search("(\d+)[+](\d+)",exp)
      print(int.group(1)+int.group(2))
      ?
      如果我們要查找的內容在一個復雜的環境中
      我們要查的內容并沒有一個突出與眾不同的特點,甚至會和不需要的雜亂的數據混合在一起
      這個時候我們就需要把所有的數據統計出來,然后對所有的數據進行篩選,把我們真正需要的數據對應的正則表達式用()圈起來
      ?
      ret = re.findall("1(\d)(\d)","133456")
      print(ret)
      取消分組優先:
      ret = re.findall("1(?:\d)(\d)","effed")   #取消分組優先?:
      ?
      ?
      ?
      什么是爬蟲
      通過代碼獲取到一個網頁的源碼,要的是源碼中嵌入的網頁上的內容
      import requests
      ret = requests.get("https:// www.baidu.com").text()
      ?
      分組和findall的現象
      為什么要分組
      把想要的內容放到分組里
      如何取消分組優先
      如果在寫正則的時候由于不得已的原因 導致不要內容也得寫在分組里
      (?:)取消這個分組的優先顯示

       

      posted @ 2021-02-21 21:48  末將無名  閱讀(76)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 性色av不卡一区二区三区| 龙口市| 苗栗县| 狠狠色噜噜狠狠狠狠色综合久av| 大屁股国产白浆一二区| 久久天天躁狠狠躁夜夜av不卡| 欧美视频免费一区二区三区| 台湾省| 人妻无码中文专区久久app| 亚洲精品第一国产综合精品| 成全高清在线播放电视剧| 尹人香蕉久久99天天拍| 污网站在线观看视频| 免费人成视频在线| 欧洲性开放老太大| 国产日韩久久免费影院| 欧美日韩v| 国产成人久久综合第一区| 欧美一区二区三区激情| 国产精品一区二区三区蜜臀| 日韩一区二区三区亚洲一| 国产区精品福利在线观看精品| 成人福利一区二区视频在线| 久久久一本精品99久久精品36| 四虎永久地址www成人| 色综合久久久久综合体桃花网 | 亚洲综合网国产精品一区| 国产免费一区二区三区在线观看 | 我国产码在线观看av哈哈哈网站 | 亚洲一卡2卡3卡4卡精品| 国产欧美日韩精品a在线观看| 欧美人妻在线一区二区| 无码福利一区二区三区| 国产精品不卡一区二区三区| 国产精品高清中文字幕| 成人午夜视频在线| 日韩大片高清播放器| 欧美人成在线播放网站免费| 青青草原国产AV福利网站| 高清免费毛片| 插插射啊爱视频日a级|