①import re 匯入正規表示式的模組
②findall: re.findall('字串',變數) 返回乙個列表 ,可通過:判斷列表長度(用 len() )是否大於零判斷是否含有所找字串; 正規表示式側重在規則(靈魂就在規則,只是單純的找指定字串(常量字串)並沒有意義(python內建函式就可完成這些功能)
findall : re.findall('\d',a) 尋找a中所有的數字,並以列表的形式返回。
正規表示式 由 普通字元 和 元字元 組成,前者就是具體的字元,我們學的是後者
\d: 返回所有非數字字元組成的列表 -----正規表示式的元字元非常多,可在用的時候查閱手冊~
重點是 正則匹配的規則
④字符集特點: 1>出現在 裡的是或關係 2> ^表示非 例:[^cdf]表示 不是c或d或f的字元 3> c-f :從c到f的字元
4> \d 0-9 等同於 [0-9] ; \d 非數字 等同於 [^0-9] ; \w 字母下劃線(單詞字元) 等同於 [a-za-z0-9_] ;\w \w的非,包括空格,&,\n, \r,\t ; \s:匹配空格,回車,製表,換行 (空白字元) \s : \s的非; . 匹配除換行符之外其他所有字元
⑤數量詞: 正則匹配,本質是乙個字元乙個字元匹配的,只能匹配單一字元;但是可以通過規則匹配多個字元
若想匹配多個,用 {} ---- {}中的數字是長度 例:只匹配長度為3;長度從3到6的單詞
上述不定長單詞獲取,與 「貪婪」和「非貪婪」有關,python預設情況下是「貪婪」模式------正則匹配預設盡可能多的尋找符合條件的字元, 若是想以非貪婪模式匹配,須在{}後加?, 例如?執行結果幾乎只和3個一組一致?
⑥數量詞小結:1> {} 指定數量或數量範圍 2> * 匹配0次或者無數次 例: n* 匹配0個或者無數個n 3> + 匹配一次或者無限多次 4> ? 匹配0次或者1次(ps: 只匹配前幾個字元,若是在滿足1個的情況下後邊還有,會返回匹配到乙個的結果------?可用於去重操作~ 5>注意區分 貪婪模式下的 ? 和數量詞中的 ?
⑦邊界匹配---完整匹配整個字串 : 加上前後邊界符: 前加^ 後加 $ 例:判斷字串s是否是長度為4-8的整數 re.findall('^\d$',s) ^從字串的開始進行匹配 $從字串的末尾開始匹配 ps:^ 和 $ 可單獨用
⑧判斷字串中含有多少重複單詞(字元組合): 組:用()括起來的內容是乙個組 每個字元之間是且關係 ps:每個字元之間是或關係
⑨findall第三個引數---模式 re.i 忽略大小寫,re.s 點號. 匹配換行符(預設不匹配換行符) ,第三個引數可以由多個模式,不同模式之間用 | 連線 (此處是 且 關係,而不是常見的 或 關係)
⑩re.sub 正則替換 函式引數列表:
count:預設 0 匹配所有的pattern,其他數字含義:匹配並替換的最大次數;
r1=re.sub('c#','c++',s) 作用 同python的內建函式replace (r2=s.replace('c#','c++') , ps:字串是不可變的,replace後要用新的字串接收~
⑩① sub的強大之處在於,第二個引數可以是函式!
ps: 函式的返回值必須是 字串
⑩② search:搜尋整個字串,直到找到第乙個匹配的結果; 返回的結果不是列表,而是乙個物件,需要用group() 返回字串 或者 span返回 位置(a,b)a為所找字串的上乙個字元所在數字,b為所找字串最有乙個字元位置
match:從字串首字母開始進行匹配
⑩③ group() 傳入0,返回全部匹配的字元;傳入1,返回第乙個分組的字串;傳入2,返回第二個分組的字串;可同時傳入 0,1,2 即 r.group(0,1,2)
ps:search的返回結果可用group()
2020.11.11
2020 11 11 Python列表和元組
11月11日筆記 2 序列中儲存的是整數物件的位址,python中常用的字串,列表,元組,字典,集合 概念 用於儲存任意數目,任意型別的資料集合 list.insert index,x 在列表指定位置index處插入元素x list.index x 訪問元素 len list 列表長度 list.p...
Python正態性檢驗
在對資料建模前,很多時候我們需要對資料做正態性檢驗,進而通過檢驗結果確定下一步的分析方案。下面介紹 python 中常用的幾種正態性檢驗方法 kstest 是乙個很強大的檢驗模組,除了正態性檢驗,還能檢驗 scipy.stats 中的其他資料分布型別 對於正態性檢驗,我們只需要手動設定三個引數即可 ...
DELPHIER,正轉向PYTHON了
1 現在是雲計算時代了,需要學習一門適應該時代的語言,研究了很久,python是最佳選擇,排除了php,perl,ruby等,至於go語言,暫時只處於觀察中。python目前非常火,國際大公司有nasa,google,youtube,dropbox等,國內豆瓣都是用python的典型案例,炙手可熱的...