1.findall 找到全部符合規則的項,並返回列表 2.search 找到第一個符合規則的項,並返回一個對象 3.match 從頭開始,找到第一個符合規則的項,並返回一個對象 4.finditer 找到全部符合規則的項,並返回一個迭代器 5.compile 預編譯一個正則規則,節省屢次使用同一個正則的編譯 6.sub 替換 默認替換全部,可使用替換深度參數 7.bsub 替換返回元組 8.split 根據正則規則切割,返回列表,默認不保留切掉的內容
1.分組命名,(?P<組名>正則) 2.引用分組,(?P=組名) 3.findall和分組,優先顯示分組中的內容,(?:)取消這個分組的優先 4.split和分組 split會保留正則中分組內匹配到的內容 5.search和分組 search取分組中的內容,經過索引取obj.group(1),經過組名取obj.group(‘組名’)
元字符、量詞、惰性符號python
[],[^]:帶有特殊意義的元字符到字符組內大部分取消其特殊含義。git
若是擔憂出現特殊含義:加
會取消的:[()+.] - [(-)] -的位置決定了它的意義,寫在字符組的第一個位置就表示一個普通的橫槓。- 寫在字符組的其餘任何位置都是表示一個範圍。正則表達式
正則表達式深刻學習---《正則指引》瀏覽器
找出<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])?$
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 確認一臺機器上的一個應用
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
1.findall 找到全部符合規則的項,並返回列表 2.search 找到第一個符合規則的項,並返回一個對象 3.match 從頭開始,找到第一個符合規則的項,並返回一個對象 4.finditer 找到全部符合規則的項,並返回一個迭代器 5.compile 預編譯一個正則規則,節省屢次使用同一個正則的編譯 6.sub 替換 默認替換全部,可使用替換深度參數 7.bsub 替換返回元組 8.split 根據正則規則切割,返回列表,默認不保留切掉的內容
1.分組命名,(?P<組名>正則) 2.引用分組,(?P=組名) 3.findall和分組,優先顯示分組中的內容,(?:)取消這個分組的優先 4.split和分組 split會保留正則中分組內匹配到的內容 5.search和分組 search取分組中的內容,經過索引取obj.group(1),經過組名取obj.group(‘組名’)
元字符、量詞、惰性符號服務器
[],[^]:帶有特殊意義的元字符到字符組內大部分取消其特殊含義。網絡
若是擔憂出現特殊含義:加
會取消的:[()+.] - [(-)] -的位置決定了它的意義,寫在字符組的第一個位置就表示一個普通的橫槓。- 寫在字符組的其餘任何位置都是表示一個範圍。架構
正則表達式深刻學習---《正則指引》socket
找出<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])?$
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 確認一臺機器上的一個應用
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