正則補缺~~~|網路編程

來源:互聯網
上載者:User

標籤:nta   正則匹配   指定   標識   伺服器   .com   int   否則   現在   

正則補缺
  • findall

    import re?# 沒有(),結果集中儲存完整匹配的內容# f = re.findall(‘abc‘, ‘abcdasabcakdjklasjabc‘)# 與上面的情況等價# f = re.findall(‘(abc)‘, ‘abcdasabcakdjklasjabc‘)# 按照正則進行完整匹配,但是結果集只顯示分組內容# f = re.findall(‘qq(abc)ww‘, ‘ahdakqqabcwwhsad‘)# 按照正則進行完整匹配,但是結果集中的元素時分組資訊組成的元組# f = re.findall(‘qq(abc)(ww)‘, ‘ahdakqqabcwwhsaqqabcwwd‘)# 滿足上面所有的規律# f = re.findall(‘(qq(abc)(ww))‘, ‘ahdakqqabcwwhsaqqabcwwd‘)# 匹配:‘a(hello)c‘ 或 ‘a(world)c‘# f = re.findall(‘a(hello|world)c‘, ‘sadahellocshdjaworldcsd‘)f = re.findall(‘(a(hello|world)c)‘, ‘sadahellocshdjaworldcsd‘)?print(f)
  • split

    import re?c = re.compile(r‘\d‘)?s = ‘正則其實不難1但是學完之後2發現寫不出來3是這樣吧‘?# 按照正則規律進行切割,可以指定切割次數ret = c.split(s, 1)?print(ret)
  • sub

    import re?‘‘‘c = re.compile(r‘\d‘)?# 使用特點內容替換正則匹配到的內容,可以指定替換次數ret = c.sub(‘ ‘, ‘how1are2you‘, 2)?print(ret)‘‘‘?def double(s):    # print(s)    return str(int(s.group()) * 2)   ?# 可以人為的幹預正則替換的過程# 因此需要傳遞一個處理的(匿名)函數ret = re.sub(r‘\d‘, double, ‘how1are2you‘)print(ret)
  • 轉義問題

    import re?  # 匹配所有正則文法中涉及的字元都需要轉義?  ‘‘‘  # python: \\\\d     \\\d   r‘\\d‘  # re:    \\d        \\d     \\d  # 匹配:   \d          \d      \d  # c = re.compile(‘\\\\d‘)  # c = re.compile(‘\\\d‘)  # 推薦使用,否則你需要多寫好多  c = re.compile(r‘\\d‘)?  s = c.search(‘\d‘)?  if s:      print(s.group())  ‘‘‘?  ‘‘‘  c = re.compile(r‘\\b‘)?  # 在匹配的字串中有特殊意義的字元也需要進行轉義  # 若不想轉義最好前面添加字元‘r‘  s = c.search(r‘\b‘)?  if s:      print(s.group())  ‘‘‘?  # 瞭解  # c = re.compile(r‘\bhello‘)  # 單獨匹配邊界,findall儲存的結果全都是空白  c = re.compile(r‘\b‘)?  f = c.findall(‘hello,sdjaks‘)?  print(f)

     

      

    1. 使用正則時,python字串有特殊意義的字元最好轉義

    2. 要匹配在正則文法中有特殊函數的字元,都需要進行轉義

    3. 字串前添加‘r‘,可以使其變為原始字元,不要考慮轉義問題

相關概念
  • OSI七層模型:開發系統互聯參考模型。它從低到高分別是:物理層、資料連結層、網路層、傳輸層、會話層、展示層和應用程式層。

  • TCP/IP:在OSI七層模型的基礎上簡化抽象出來的一套網路通訊協定簇,現在得到了廣泛應用。

  • TCP:傳輸控制通訊協定

    • 有串連的,資料轉送是可靠的。

    • 傳輸的速度稍慢,三向交握,四次揮手,資料檢查

  • UDP:使用者資料包通訊協定

    • 不需連線的,資料是不可靠的

    • 傳輸的速度較快

  • IP地址:唯一的一台電腦標識

    • 查看IP:windows下終端下輸入ipconfig

  • ping:檢查網路連通性

    • 樣本:ping IP/網域名稱

  • 連接埠號碼:每個引用擁有唯一的連接埠號碼

    • 範圍:0~65535

      • 公認連接埠:0~1023

      http:80
      https:443
      smtp:25
      ftp:21
      ssh:22
      • 其他連接埠:1024~65535

  • 網路編程核心

    • IP + 連接埠號碼

    • 庫:socket

TCP協議
  • 說明:連線導向的、資料可靠、三向交握、四次揮手、傳輸速度稍慢

  • 原理:見圖片tcp.png

  • 樣本:類比http請求從百度伺服器擷取資料,見01-tcp-http.py

  • TCP協議的伺服器與用戶端:見02-tcp-server.py、03-tcp-client.py

UDP協議
  • 說明:面向無串連、資料不可靠、傳輸速度較快,適應於對資料要求不太嚴格的情況。

  • 原理:見圖片udp.png

  • 樣本:採用udp協議類比飛秋髮送簡訊,見04-udp-feiqiu.py

  • UDP協議的伺服器與用戶端:見05-udp-server.py、06-udp-client.py

  •  

正則補缺~~~|網路編程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.