分割字串
使用re.split(pattern,string),通過正規表示式可以指定多個分隔符,如果正則包含了了括號捕獲分組,分隔符也會出現在結果中,re.split也可以用來重新構造新字串
import re
line='abd abs;asd ass,g g'
res1=re.split(r'[;,\s]\s*',line)
fileds=re.split(r'(\s|;|,)',line)
value=fileds[::2]
tag=fileds[1::2]
#重新構造字串
new_line=''.join(v+d for v,d in zip(value,tag))
print(res1)
print(new_line)
字串開頭或者結尾匹配
str.startswith()
str.endswith()
str[start:final:step]
shell部分回去實驗
字串匹配、搜尋、替換
搜尋:str.find()以及第2條前兩個方法
匹配:pattern.match(str)、pattern.findall(str)
pattern想要多次復用就可以採用pattern=re.compile(r』正則』)
這一點和js的區別是js是str.match(pattern)而python是pattern.match(str),而且js的正則需要注意轉義的問題,python只需要r』(\d+)(\d+)』,當然也可以像js那樣用反斜槓/*
替換:str.replace(oldstr,newstr)這一點和js的區別是js支援正則,python的replace不支援
re.sub()非常好用
多行匹配:*』.』**不能匹配換行符,因此可以將換行符加入到模式中
comp='/*注釋' \
'fff*/'
comment=re.compile(r'/\*((?:.|\n)*?)\*/')
print(comment.findall(comp))
處理html和xml, html和xml包
處理<:html.escape(str)
Python Cookbook學習記錄
4.迭代器和生成器 4.9迭代所有可能的組合和排列 import itertools items a b c permutations 接受乙個元素集合,將其中的元素重排列為所有可能的情況,並以元組形式返回 for p in itertools.permutations items print p ...
python cookbook學習筆記十一
csv檔案讀取 csv檔案格式如下 分別有2行三列。訪問 如下 f open r e py prj test.csv rb f csv csv.reader f forf inf csv printf 在這裡f是乙個元組,為了訪問某個字段,需要用索引來訪問對應的值,如f 0 訪問的是first,f ...
每天學點Python Cookbook(四)
任務 尋找上乙個星期五的日期。解決方案 通過python標準庫的datetime模組,可以快速完成此任務。import datetime,calendar def find last friday last friday datetime.date.today oneday datetime.tim...