python正則表達式

網易雲課堂的聽課筆記

http://study.163.com/course/courseLearn.htm?courseId=1004933008#/learn/video?lessonId=1050675990&courseId=1004933008


正則表達式:是用來記錄文本規則的代碼.

\ 將下一個字符標記為特殊字符. 如:\d 代表0到9中的一個數字.

定界符:
^ 匹配輸入字符串開始的位置.
$ 匹配輸入字符串結束的位置.
\b 匹配一個單詞邊界,也就是指單詞和空格閒的位置.
\B 匹配非單詞邊界.

個數/次數
* 匹配前面的子表達式0次或多次.
+ 匹配前面的子表達式1次或多次.
? 匹配前面的子表達式0次或1次.
{n} n是一個非負整數.
{n,} n是一個非負整數.
{n,m} m和n均爲非負整數,其中n<=m.

? 儅該字符緊跟在任何一個其它限制符(*,+,?,{n},{n,},{n,m})後面時,匹配模式是非貪婪的.
. 匹配除'\n'之外的任何單個字符.

x|y 匹配除'\n'之外的任何單個字符.

[xyz] 字符集合
[^xyz] 負值字符集合.
[a-z] 字符範圍
[^a-z] 負值字符範圍.

空白符:
\f 匹配一個換頁符.
\n 匹配一個換行符.
\r 匹配一個回車符.
\t 匹配一個製表符.

語法糖:
\d 匹配一個數字字符.[0-9]
\D 匹配一個非數字字符.[^0-9]
\s 匹配任何空白字符,包括空格,製表符,換頁符等.等同於[\f\n\t\r\v].
\S 匹配任何非空白字符.等同於[^\f\n\t\r\v].
\w 匹配字母,數字,下劃綫.等同於[A-Za-z0-9].
\W 匹配非字母,數字,下劃綫.等同於[^A-Za-z0-9].

在python中使用正則表達式,需要一個re模塊.這個模塊python中自帶,不需要暗轉,但需要引入.
常用的函數有:
查找:
    re.search
    re.findall
替換:
    re.sub

# -*- coding: utf-8 -*-
import re

test='hello'
result1=re.search('l',test)#匹配了第一個,後面的沒有管.
print(result1)
result2=re.findall('l',test)#返回列表,含有所有匹配的結果.
print(result2)
result3=re.sub('l','yo',test)#將test裏的l都換成yo.
print(result3)
'''
輸出:
<_sre.SRE_Match object; span=(2, 3), match='l'>
['l', 'l']
heyoyoo
'''


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章