日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础07

發布時間:2024/3/13 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础07 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正則表達式

1.點-匹配所有字符

. 表示要匹配除了 換行符 之外的任何 單個 字符。

content = """蘋果是綠色的 橙子是橙色的 香蕉是黃色的 烏鴉是黑色的""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile(".色") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

2.星號-重復匹配任意次

* 表示匹配前面的子表達式任意次,包括0次。

content = """蘋果,是綠色的 橙子,是橙色的 香蕉,是黃色的 烏鴉,是黑色的 猴子,""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile(",.*") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

3.加號-重復匹配多次

+ 表示匹配前面的子表達式一次或多次,不包括0次。

content = """蘋果,是綠色的 橙子,是橙色的 香蕉,是黃色的 烏鴉,是黑色的 猴子,""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile(",.+") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

4.問號-匹配0-1次

? 表示匹配前面的子表達式0次或1次

content = """蘋果,綠色的 橙子,橙色的 香蕉,黃色的 烏鴉,黑色的 猴子,,""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile(",.?") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

5.花括號-匹配指定次數

花括號表示 前面的字符匹配 指定的次數

content = """紅彤彤,綠油油,黑乎乎乎乎,綠油油油油""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile("油{2,4}") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

6.貪婪模式和非貪婪模式

我們要把下面的字符串中的所有html標簽都提取出來,

source = '<html><head><title>Title</title>'

得到這樣的一個列表

['<html>', '<head>', '<title>', '</title>']

<.>這樣寫是不對的,因為在python中 . 都是貪婪的,會盡可能多的向后匹配,

為了解決這問題就要使用非貪婪模式 ,只需要加?即可

content = """<html><head><title>Title</title>""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile("<.*?>") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

對元字符的轉義

反斜杠 \ 在正則表達式中有多種用途。

所謂元字符的轉義,就是讓元字符失去原來的含義

content = """蘋果.是綠色的 橙子.是橙色的 香蕉.是黃色的""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile(".*\.") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

\d 匹配0-9之間任意一個數字字符,等價于表達式 [0-9]

\D 匹配任意一個不是0-9之間的數字字符,等價于表達式 [^0-9]

\s 匹配任意一個空白字符,包括 空格、tab、換行符等,等價于表達式 [\t\n\r\f\v]

\S 匹配任意一個非空白字符,等價于表達式 [^ \t\n\r\f\v]

\w 匹配任意一個文字字符,包括大小寫字母、數字、下劃線,等價于表達式 [a-zA-Z0-9_]

缺省情況也包括 Unicode文字字符,如果指定 ASCII 碼標記,則只包括ASCII字母

\W 匹配任意一個非文字字符,等價于表達式 [^a-zA-Z0-9_]

方括號-匹配幾個字符之一

方括號表示要匹配 指定的幾個字符之一 。

content = """sadfsafastrhtgyfujh""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile("[sa]") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

起始、結尾位置 和 單行、多行模式

^ 表示匹配文本的 開頭 位置。

正則表達式可以設定 單行模式 和 多行模式

如果是 單行模式 ,表示匹配 整個文本 的開頭位置。

如果是 多行模式 ,表示匹配 文本每行 的開頭位置。

python中默認是單行模式

content = """001-蘋果價格-60, 002-橙子價格-70, 003-香蕉價格-80,""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 # 默認是單行模式,如果要找每一行開頭的內容,則需要開啟多行模式re.MULTILINE或者re.M p = re.compile("^\d+-", re.MULTILINE) # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

$ 表示匹配文本的 結尾 位置。

如果是 單行模式 ,表示匹配 整個文本 的結尾位置。

如果是 多行模式 ,表示匹配 文本每行 的結尾位置。

content = """001-蘋果價格-60 002-橙子價格-70 003-香蕉價格-80""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 # 默認是單行模式,如果要找每一行開頭的內容,則需要開啟多行模式re.MULTILINE或者re.M p = re.compile("-\d*$", re.MULTILINE) # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

豎線-匹配兩者之一

豎線表示 匹配 前者 或 后者

content = """001-蘋果價格-60 002-橙子價格-70 003-香蕉價格-80""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile("橙|蕉|7") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

括號-組選擇

括號稱之為 正則表達式的 組選擇。 是從正則表達式 匹配的內容 里面 扣取出 其中的某些部分

content = """蘋果,蘋果是綠色的 橙子,橙子是橙色的 香蕉,香蕉是黃色的""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile("(.*),") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message) content = """張三,手機號碼15945678901 李四,手機號碼13945677701 王二,手機號碼13845666901""" # re模塊是python的內置模塊,提供了對于正則表達式的支持 import re # 正則表達式 p = re.compile("(.*),\D*(\d*)") # 在content里面使用正則表達式查找內容,將找到的內容賦值給變量 message = p.findall(content) print(message)

總結

以上是生活随笔為你收集整理的Python基础07的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。