一、內容回顧 1、re模塊 2、正則分組 元字元、量詞、惰性符號 3、補充 [],[^]:帶有特殊意義的元字元到字元組內大部分取消其特殊含義。 如果擔心出現特殊含義:加\ 會取消的:[()+ . ] [( )] 的位置決定了它的意義,寫在字元組的第一個位置就表示一個普通的橫杠。 寫在字元組的其他任何 ...
一、內容回顧
1、re模塊
1.findall 找到所有符合規則的項,並返回列表
2.search 找到第一個符合規則的項,並返回一個對象
3.match 從頭開始,找到第一個符合規則的項,並返回一個對象
4.finditer 找到所有符合規則的項,並返回一個迭代器
5.compile 預編譯一個正則規則,節省多次使用同一個正則的編譯
6.sub 替換 預設替換所有,可以使用替換深度參數
7.bsub 替換返回元組
8.split 根據正則規則切割,返回列表,預設不保留切掉的內容
2、正則分組
1.分組命名,(?P<組名>正則)
2.引用分組,(?P=組名)
3.findall和分組,優先顯示分組中的內容,(?:)取消這個分組的優先
4.split和分組
split會保留正則中分組內匹配到的內容
5.search和分組
search取分組中的內容,通過索引取obj.group(1),通過組名取obj.group(‘組名’)
元字元、量詞、惰性符號
3、補充
[],[^]:帶有特殊意義的元字元到字元組內大部分取消其特殊含義。
如果擔心出現特殊含義:加
會取消的:[()+.] - [(-)] -的位置決定了它的意義,寫在字元組的第一個位置就表示一個普通的橫杠。- 寫在字元組的其他任何位置都是表示一個範圍。
正則表達式深入學習---《正則指引》
找出<h1>123fh</h1><h2>hado</h2>中所有標簽內的字元串 爬蟲
import re
ret=re.findall('<.*?>(.*?)<.*?>','<h1>123fh</h1><h2>hado</h2>')
print(ret)
找出四則運算表達式中的第一個乘除法
\d(\.\d+)?[*/]-?\d(\.\d+)?
檢測用戶輸入的是否為標準身份證號碼:
[1-9]\d{14}(\d{2}[\dx])?
#如果使用findall,^[1-9]\d{14}(\d{2}[\dx])?$
#建議使用match和search
match:[1-9]\d{14}(\d{2}[\dx])?$
search:^[1-9]\d{14}(\d{2}[\dx])?$
4、網路基礎
1.兩個運行中的程式如何傳遞信息?
通過文件
2.兩台機器上的兩個運行中的程式如何通信?
通過網路
網路應用開發架構
C/S 迅雷 qq 瀏覽器 飛秋 輸入法 百度雲 pycharm git VNC 紅蜘蛛 各種游戲
client 客戶端
server 服務端
B/S 淘寶 郵箱 各種游戲 百度 博客園 知乎 豆瓣 抽屜
browser 瀏覽器
server 服務端
統一程式的入口
B/S和C/S架構的關係
B/S是特殊的C/S架構
網卡 :是一個實際存在在電腦中的硬體
mac地址 :每一塊網卡上都有一個全球唯一的mac地址
交換機 :是連接多台機器並幫助通訊的物理設備,只認識mac地址
協議 :兩台物理設備之間對於要發送的內容,長度,順序的一些約定
ip地址
ipv4協議 位的點分十進位 32位2進位表示
0.0.0.0 - 255.255.255.255
ipv6協議 6位的冒分十六進位 128位2進位表示
0:0:0:0:0:0-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
公網ip
為什麼你的外地朋友的電腦我們訪問不了
每一個ip地址要想被所有人訪問到,那麼這個ip地址必須是你申請的
內網ip
192.168.0.0 - 192.168.255.255
172.16.0.0 - 172.31.255.255
10.0.0.0 - 10.255.255.255
交換機實現的arp協議
通過ip地址獲取一臺機器的mac地址
網關ip 一個區域網的網路出口,訪問區域網之外的區域都需要經過路由器和網關
網段 指的是一個地址段 x.x.x.0 x.x.0.0 x.0.0.0
ip地址
子網掩碼 判斷兩台機器是否在同一個網段內的
255.255.255.0 子網掩碼
11111111.11111111.11111111.00000000
192.168.12.87
11000000.10101000.00001100.01010111
11111111.11111111.11111111.00000000
11000000.10101000.00001100.00000000 192.168.12.0
192.168.12.7
11000000.10101000.00001100.00000111
11111111.11111111.11111111.00000000
11000000.10101000.00001100.00000000 192.168.12.0
ip 地址能夠確認一臺機器
port 埠
0-65535
80
ip + port 確認一臺機器上的一個應用
5、socket基本結構
import socket
#伺服器端
sk=socket.socket() #買手機
sk.bind(('127.0.0.1',9000)) #綁定手機卡
sk.listen() #開機
conn,addr=sk.accept() #等著接電話
conn.send(b'hello') #發送信息
msg=conn.recv(1024) #接收信息
print(msg)
conn.close() #掛電話,關閉連接
sk.close() #關機,關閉socket
#客戶端
import socket
sk=socket.socket()
sk.connect(('127.0.0.1',9000)) #連接伺服器
msg=sk.recv(1024) #接收信息
print(msg)
sk.send(b'byebye') #發送信息
sk.close() #關閉socket
day27
一、內容回顧
1、re模塊
1.findall 找到所有符合規則的項,並返回列表
2.search 找到第一個符合規則的項,並返回一個對象
3.match 從頭開始,找到第一個符合規則的項,並返回一個對象
4.finditer 找到所有符合規則的項,並返回一個迭代器
5.compile 預編譯一個正則規則,節省多次使用同一個正則的編譯
6.sub 替換 預設替換所有,可以使用替換深度參數
7.bsub 替換返回元組
8.split 根據正則規則切割,返回列表,預設不保留切掉的內容
2、正則分組
1.分組命名,(?P<組名>正則)
2.引用分組,(?P=組名)
3.findall和分組,優先顯示分組中的內容,(?:)取消這個分組的優先
4.split和分組
split會保留正則中分組內匹配到的內容
5.search和分組
search取分組中的內容,通過索引取obj.group(1),通過組名取obj.group(‘組名’)
元字元、量詞、惰性符號
3、補充
[],[^]:帶有特殊意義的元字元到字元組內大部分取消其特殊含義。
如果擔心出現特殊含義:加
會取消的:[()+.] - [(-)] -的位置決定了它的意義,寫在字元組的第一個位置就表示一個普通的橫杠。- 寫在字元組的其他任何位置都是表示一個範圍。
正則表達式深入學習---《正則指引》
找出<h1>123fh</h1><h2>hado</h2>中所有標簽內的字元串 爬蟲
import re
ret=re.findall('<.*?>(.*?)<.*?>','<h1>123fh</h1><h2>hado</h2>')
print(ret)
找出四則運算表達式中的第一個乘除法
\d(\.\d+)?[*/]-?\d(\.\d+)?
檢測用戶輸入的是否為標準身份證號碼:
[1-9]\d{14}(\d{2}[\dx])?
#如果使用findall,^[1-9]\d{14}(\d{2}[\dx])?$
#建議使用match和search
match:[1-9]\d{14}(\d{2}[\dx])?$
search:^[1-9]\d{14}(\d{2}[\dx])?$
4、網路基礎
1.兩個運行中的程式如何傳遞信息?
通過文件
2.兩台機器上的兩個運行中的程式如何通信?
通過網路
網路應用開發架構
C/S 迅雷 qq 瀏覽器 飛秋 輸入法 百度雲 pycharm git VNC 紅蜘蛛 各種游戲
client 客戶端
server 服務端
B/S 淘寶 郵箱 各種游戲 百度 博客園 知乎 豆瓣 抽屜
browser 瀏覽器
server 服務端
統一程式的入口
B/S和C/S架構的關係
B/S是特殊的C/S架構
網卡 :是一個實際存在在電腦中的硬體
mac地址 :每一塊網卡上都有一個全球唯一的mac地址
交換機 :是連接多台機器並幫助通訊的物理設備,只認識mac地址
協議 :兩台物理設備之間對於要發送的內容,長度,順序的一些約定
ip地址
ipv4協議 位的點分十進位 32位2進位表示
0.0.0.0 - 255.255.255.255
ipv6協議 6位的冒分十六進位 128位2進位表示
0:0:0:0:0:0-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
公網ip
為什麼你的外地朋友的電腦我們訪問不了
每一個ip地址要想被所有人訪問到,那麼這個ip地址必須是你申請的
內網ip
192.168.0.0 - 192.168.255.255
172.16.0.0 - 172.31.255.255
10.0.0.0 - 10.255.255.255
交換機實現的arp協議
通過ip地址獲取一臺機器的mac地址
網關ip 一個區域網的網路出口,訪問區域網之外的區域都需要經過路由器和網關
網段 指的是一個地址段 x.x.x.0 x.x.0.0 x.0.0.0
ip地址
子網掩碼 判斷兩台機器是否在同一個網段內的
255.255.255.0 子網掩碼
11111111.11111111.11111111.00000000
192.168.12.87
11000000.10101000.00001100.01010111
11111111.11111111.11111111.00000000
11000000.10101000.00001100.00000000 192.168.12.0
192.168.12.7
11000000.10101000.00001100.00000111
11111111.11111111.11111111.00000000
11000000.10101000.00001100.00000000 192.168.12.0
ip 地址能夠確認一臺機器
port 埠
0-65535
80
ip + port 確認一臺機器上的一個應用
5、socket基本結構
import socket
#伺服器端
sk=socket.socket() #買手機
sk.bind(('127.0.0.1',9000)) #綁定手機卡
sk.listen() #開機
conn,addr=sk.accept() #等著接電話
conn.send(b'hello') #發送信息
msg=conn.recv(1024) #接收信息
print(msg)
conn.close() #掛電話,關閉連接
sk.close() #關機,關閉socket
#客戶端
import socket
sk=socket.socket()
sk.connect(('127.0.0.1',9000)) #連接伺服器
msg=sk.recv(1024) #接收信息
print(msg)
sk.send(b'byebye') #發送信息
sk.close() #關閉socket