1.re模組
search
match
finditer
compile
subsubn
split
2.分組
引用分組
findall和分組
split和分組
search和分組
3.補充
[ ] [^]
4.習題
#1 找出中所有標籤內的字串
import re
ret = re.findall('<.>(.*?)<.>', '')
print(ret)
#2 找出四則運算表示式中的第乙個乘除法
\d+(\.\d+)?[*/]-?\d(\.\d+)
#3 檢測使用者輸入的內容是否是乙個合法的身份證號
兩台機器上的兩個執行中的程式如何通訊?
2.1網路應用開發架構
b/s 架構
b/s和c/s架構的關係
2.2網路基礎知識
協議:兩台物理裝置之間對於要傳送的內容、長度、順序的一些約定。
ipv6協議
公網ip
內網ip
交換機實現的arp協議
閘道器ip
網段子網掩碼
port 埠
ip + port 確認一台機器上的乙個應用
2.3socket模組
目錄結構
# server.py
import socket
sk = socket.socket() # 買手機
sk.bind(('127.0.0.1', 9000)) # 繫結卡號 127.0.0.1永遠表示當前使用機器的位址,不通過交換機。
sk.listen() # 開機
conn, addr = sk.accept() # 等著接**
conn.send(b'hellow') # 講話
msg = conn.recv(1024) # 收聽
print(msg)
conn.close() # 掛**
sk.close() # 關機
# client.py
import socket
sk = socket.socket()
sk.connect(('127.0.0.1', 9000))
msg = sk.recv(1024)
print(msg)
sk.send(b'byebye')
sk.close()
# 習題
'''程式設計計算器
n = '1-2*((60-30+(-45/5)*(9-2*5/3+7/3*99/4*2998+10*568/14)) - (-4*3)/(16-3*2))'
'''匹配最內層的表示式
\([^()]+\)
匹配乘除法
\d+(\.\d+)?[*/]-?\d+(\.\d+)?
匹配加減法
\d+(\.\d+)?[+-]-?\d+(\.\d+)?
def mul_div(exp):
# '1*2' '1/2' '1.2*2.4'
pass
def func(exp):
# 1+2*4/5
# 把第乙個乘法或者除法找出來,然後交給mul_div函式計算得到結果。
# 再用結果替換原算式 1+2*4/5
# 迴圈上面過程,直到把所有的乘除法計算完成。
高階需求:
如何解決加減法?
如何去括號?
如何處理複雜的符號?
day27 網路基礎
一 網路基礎 誕生於 美國 貝爾實驗室 linux系統 c語言gnu開源計畫 gcc編譯器 gcc hello.c cc或.cpp 等 物件導向的程式語言 面向過程的程式語言 組合語言 機器語言 源 彙編 編譯 鏈結 機器語言 010101 計算機網路 把分步在各個地點的不同的計算機系統 pc 筆記...
2 7 網路抓包
2.使用情境 對於很多初學者而言,由於不了解網路抓包,而直接去請求某個url,可能導致無法獲取自己想要的資料。在此,對網路抓包的使用情境做如下說明。3.谷歌瀏覽器抓包 網路抓包分析的主要內容是報文資訊,即http請求方法 資訊頭 響應狀態 響應狀態碼 響應正文內容和表單的提交引數等。多數瀏覽器,都具...
javaseday27 網路程式設計
osi open system interconnection 開放系統互連 參考模型 tcp ip 參考模型 ip位址 埠號傳輸協議 1 物理層 主要定義物理裝置標準 如網線的介面型別 光纖的介面型別 各種傳輸介質的傳輸速率等 1 0轉化為電流 到達目的地再轉化為1 0 就是數模 和魔術轉換 這一...