python正規表示式
正規表示式是各種字串操作的強大工具。
正規表示式是一種特定於領域的語言(dsl),作為大多數現代程式語言的庫而不僅僅是 python。
正規表示式對於以下兩種主要任務是很有用的:
- 驗證字串是否匹配模式(例如,字串具有電子郵件位址的格式)
- 對字串中進行替換(如將所有美式拼寫改為英式拼寫)。
python 中的正規表示式可以使用 re 模組來訪問,它是標準庫的一部分。定義正規表示式之後,可以使用 re.match 函式來確定字串的開頭是否匹配。如果匹配,match返回表示匹配的物件,否則返回 none。 為了避免在處理正規表示式時出現混淆,我們使用原始字串r"expression"。原始字串不會轉義任何東西,這使得使用正規表示式更容易。 下面的例子檢查字串是否匹配 "spam",如果是,則列印 "match"。
import re
pattern = r"spam"
if re.match(pattern, "spamspamspam"):
print("match")
else:
print("no match")
其他的正則函式是 re.search 和 re.findall。re.search函式在字串中的任何位置找到匹配的模式;re.findall函式返回乙個與模式匹配的所有子串的列表。
例如:
import re
pattern = r"spam"
if re.match(pattern, "eggspamsausagespam"):
print("match")
else:
print("no match")
if re.search(pattern, "eggspamsausagespam"):
print("match")
else:
print("no match")
print(re.findall(pattern, "eggspamsausagespam"))
在上面的示例中,匹配函式與模式不匹配,因為它從字串的開頭開始匹配。search函式找到了匹配的字串。函式 re.finditer 和 re.findall 類似,不過它返回乙個迭代器,而不是乙個列表。使用正規表示式的最重要的 re 方法是 sub。
語法:
re.sub(pattern, repl, string, max=0)
這個方法用 repl 替換字串中所有出現的模式,除非提供 max限定修改數量。sub方法返回修改後的字串。
例如
import re
str = "my name is loen. hi loen."
pattern = r"loen"
newstr = re.sub(pattern, "xueyun", str)
print(newstr)
寒假學習筆記03
今天看了關於北京信件分析施展的內容,其中找了半天信件的 老師給的 有些出入,下面時我找的 研究了一下這個網頁,發現這個網頁和之前我做的爬取有些不太一樣,這個是通過傳送ajax請求,解析ajax請求來完成頁面資訊的傳輸以及更新。這是其相關請求表頭,今天查詢了相關資料了解了一些如何處理ajax請求來實現...
2020寒假學習筆記03
實驗內容如下 請用指令碼的方式程式設計計算並輸出下列級數的前 n 項之和 sn,直到 sn 剛好大於或等於 q 為止,其中 q 為大於 0 的整數,其值通過鍵盤輸入 例如,若 q 的值為 50.0,則輸出應為 sn 50.416695。在 repl模式下測試執行,測試樣例 q 1時,sn 2 q 3...
寒假學習筆記01
spark spark是個通用的集群計算框架,通過將大量資料集計算任務分配到多台計算機上,提供高效記憶體計算。如果你熟悉hadoop,那麼你知道分布式計算框架要解決兩個問題 如何分發資料和如何分發計算。hadoop使用hdfs來解決分布式資料問題,mapreduce計算正規化提供有效的分布式計算。類...