正則表達式
re模塊
- 在 Python中,可以通過使用** re 模塊**的正則表達式來匹配字符串
語法
import re
# 使用match方法進行匹配操作
result=re.match(正則表達式,要匹配的字符串)
# 如果上面匹配到數據的話,要以使用group方法來提取數據
result.group()
單個字符匹配規則
字符 | 功能 |
---|---|
. | 匹配任意1個字符(除了\\n) |
[ ] | 匹配 [ ] 中列舉的字符 |
\\d | 匹配數字,即 0~9 |
\\D | 匹配非數字 |
\\s | 匹配空白字符,即 空格、tab鍵 |
\\S | 匹配非空白 |
\\w | 匹配單詞字符,即 a |
\\W | 匹配非單詞字符 |
**多個字符匹配規則 **
字符 | 功能 |
---|---|
* | 匹配前一個字符出現0次或無限次,即可有可無 |
+ | 匹配前一個字符出現1次或者無限次,即 至少1次 |
? | 匹配前一個字符出現0次或1次,即 要么1次,要么沒有 |
{m} | 匹配前一個字符出現m次 |
{m,n} | 匹配前一個字符出現從m到n次 |
匹配分組
字符 | 功能 |
---|---|
(ab) | 將括號中的字符作為一個分組 |
\\num | 引用分組 num匹配到字符串 |
(?P) | 分組起別名 |
(?P=name) | 引用別名為name分組匹配到的字符串 |
示例
import re
# 匹配單個字符
str_content="生化危機2"
t1=re.match(r"生化危機\\d",str_content)
print(t1.group())
# 匹配多個字符
str_content="孫悟空的手機是:13388888888"
t1=re.match(r"孫悟空的手機是:\\d{1,11}",str_content)
print(t1.group())
# 分組, 匹配郵箱,126、qq、163郵箱都可以, 郵箱中的 .需要使用 \ 轉義
str_content="孫悟空的郵箱是:sunwukong@163.com"
t1=re.match(r"孫悟空的郵箱是:\\w+@(126|163|qq)\\.com",str_content)
print(t1.group())
re模塊的高級用法
- search、findall、sub、split
示例
# search 用法
str_content="孫悟空會72變"
t1=re.search(r"\\d+",str_content)
print(t1.group())
# 輸出結果:72
# findall 用法
str_content="孫悟空會72變,豬八戒會36變,二郎神會36變"
t1=re.findall(r"\\d+",str_content)
print(t1)
# 輸出結果:['72', '36', '36']
# sub 將匹配到的字符串進行替換
str_content="孫悟空會 36 變"
t1=re.sub(r"\\d+","72",str_content)
print(t1)
# 輸出結果:孫悟空會 72 變
# split 根據匹配切割字符串,返回一個字符列表
str_content="孫悟空,豬八戒,沙和尚"
t1=re.split(r",",str_content)
print(t1)
# 輸出結果:['孫悟空', '豬八戒', '沙和尚']
注:Python 中字符串前面加上 r 表示原生字符串
- 與大多數編程語言相同,正則表達式里使用 "" 作為轉義字符,這就可能會有反斜杠困擾。 如果你需要匹配的文本中有兩個 "" ,那么使用正則表達式里面就需要使用四個 "" (即 "\")
str_content="c:\\\\a"
# 不使用 r
t1=re.match("c:\\\\\\\\a",str_content)
print(t1.group())
# 使用 r
t1=re.match(r"c:\\\\a",str_content)
print(t1.group())
**輸出結果
**
web服務器
http協議
- 在Web應用中,服務器把網頁傳遞給瀏覽器,實際上就是把網頁的html代碼發送給瀏覽器,讓瀏覽器顯示出來,而瀏覽器和服務器之間的傳輸協議是HTTP
訪問百度的示例
簡單web服務器
import socket
def main():
# 創建tcp套接字
so_server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 綁定端口
so_server.bind(("",33333))
# 監聽套接字
so_server.listen(128)
# 等待新客戶端接連
new_socket,client_addr=so_server.accept()
#接收瀏覽器發過來的請求
request=new_socket.recv(1024)
print(request)
# 發送給瀏覽器數據
content="HTTP/ 1.2 xxx\\r\\n"
content+='\\r\\n'
content+="hello world!!"
new_socket.send(content.encode("utf-8"))
# 關閉
new_socket.close()
so_server.close()
if __name__ == '__main__':
main()
請求示例
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
模塊
+關注
關注
7文章
2695瀏覽量
47433 -
字符串
+關注
關注
1文章
578瀏覽量
20508 -
python
+關注
關注
56文章
4792瀏覽量
84628
發布評論請先 登錄
相關推薦
Labview與Web(二)---------------Web 服務器(原創)
,還請告知,謝謝。版本:labview 2014/2013 在此我們只是先簡單紹一下web服務器,感興趣的朋友可以深入研究一下。文件->新建…->項目。我的電腦->新建->web
發表于 04-20 18:14
Labview與Web(二)---------------Web 服務器(原創)
簡單紹一下web服務器,感興趣的朋友可以深入研究一下。文件->新建…->項目。我的電腦->新建->web服務保存,并在保存目錄創建publi
發表于 04-20 18:15
使用Python創建簡單的FTP服務器
通過 Python 的 -m 選項將 Pyftpdlib 模塊作為一個簡單的獨立服務器來運行,假設我們需要共享目錄 /Users/Edu/Oldboy,只需要以下這個命令行就可以輕松實現:$ cd
發表于 05-04 16:17
Python爬蟲與Web開發庫盤點
可以更加直接的需求靈活搭配。Tornado全稱叫Tornado Web Server,目前是Facebook開源的一個版本,它和其他主流的框架有一個非常明顯的區別:就是非阻塞式服務器,速度非常快。特別對于長輪詢,WebSocket等實時要求高的
發表于 05-10 15:21
常見的嵌入式web服務器有哪些
常見的嵌入式web服務器有:Lighttpd, Shttpd, Thttpd, Boa, Mini_httpd, Appweb, Goahead, luaopenwrt用的就是lua。當然還有python實現的輕量級
發表于 10-27 08:24
如何實現對嵌入式WEB服務器系統的控制設計
......摘要工程實踐教學環節是為了學生能夠更好地鞏固和實踐所學專業知識而設置的,在本次工程實踐中,我們以ARM體系結構與編程課程中所學知識為基礎,對基于ARM的簡單嵌入式WEB服務器系統進行了
發表于 11-09 08:47
如何在microPython上搭建一個簡單的HTTP WEB服務器呢
在microPython上搭建一個簡單的HTTP WEB服務器microPython給會使用Python的人從事單片機開發提供了一個可能, 但是目前好像沒有一個成熟的
發表于 12-08 07:59
使用IIS為Web內容配置Web服務器權限
本文分步介紹如何使用 Internet 信息服務 (IIS) 5.0 授予對 Web 內容的 Web 服務器權限。 您可以對服
發表于 08-26 15:33
?17次下載
如何辨別Web服務器,應用程序服務器,HTTP服務器
Apache是純粹的web服務器,而Tomcat和IIS因為具有了解釋執行服務器端代碼的能力,可以稱作為輕量級應用服務器或帶有服務器功能的
發表于 11-10 14:28
?1064次閱讀
嵌入式web服務器
常見的嵌入式web服務器有:Lighttpd, Shttpd, Thttpd, Boa, Mini_httpd, Appweb, Goahead, luaopenwrt用的就是lua。當然還有python實現的輕量級
發表于 10-20 18:51
?9次下載
嵌入式web服務器系統設計,基于-ARM簡單嵌入式WEB服務器系統設計.doc
......摘 要工程實踐教學環節是為了學生能夠更好地鞏固和實踐所學專業知識而設置的,在本次工程實踐中,我們以ARM體系結構與編程課程中所學知識為基礎,對基于ARM的簡單嵌入式WEB服務器系統
發表于 11-03 20:06
?21次下載
嵌入式web服務器系統,嵌入式Web服務器的設計與實現
摘要:嵌入式Web服務器是嵌入式系統應用的一個重要組成部分.以其簡單,廉價,功能完善和通用性強等特點,在遠程監控,智能家電和資源共享等多種場合得到廣泛應用.本文以嵌入式Web
發表于 11-04 11:06
?27次下載
評論