python基礎學習 正規表示式

2021-08-07 03:17:14 字數 1357 閱讀 7036

官方對正規表示式的解釋是:

正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。

給定乙個正規表示式和另乙個字串,我們可以達到如下的目的:

1. 給定的字串是否符合正規表示式的過濾邏輯(稱作「匹配」);

2. 可以通過正規表示式,從字串中獲取我們想要的特定部分。

正規表示式的特點是:

1. 靈活性、邏輯性和功能性非常強;

2. 可以迅速地用極簡單的方式達到字串的複雜控制。

3. 對於剛接觸的人來說,比較晦澀難懂。

python的正規表示式主要是re模組

比如,在「abcdefghijk」中來匹配.bcd.

>>> string = "abcdefghijk"

>>> import re

>>> re.match(".bcd.",string).group(0) '

abcde'

>>>

但是如果我們去匹配.bdc.的話就匹配不到了

>>> print re.match(".bdc.",string)

none

這裡的match函式其實是從字串的起始位置開始匹配的,如果我們不想從起始位置開始匹配,我們可以用search函式 

>>> string = "abcabdabeabfabg"

>>> import re

>>> m = re.search("ab.",string)

>>> m.group(0)

'abc'

>>> string = "1abcabdabeabfabg"

>>> m = re.search("ab.",string)

>>> m.group(0)

'abc'

>>>

match和search函式都會匹配到了就停止匹配,同時我們可以得到匹配的起始位置和終止位置

>>> m.start() 1

>>> m.end() 4

>>>  

如果我們想得到所有的匹配項,我們可以使用findall函式

>>> re.findall("ab.",string)

['abc', 'abd', 'abe', 'abf', 'abg']

在正規表示式中我們還可以使用分組,比如我們從乙個json字串中取出所有的key和value並分成兩組

string = ""

f = re.findall("\"(.*?)\":\"(.*?)\"",string,re.ignorecase)

>>> f

[('a', '1'), ('b', '2'), ('c', '3')]

python正規表示式基礎學習

匹配字串必須以 https baidu items 開頭 匹配開頭字串 所以 指定字串或字元 表示匹配指定字元開頭的字串 匹配字串必須以 https baidu items 開頭 匹配除換行符外任一字元 重複匹配零次或多次 所以 指定字串或字元.也表示匹配指定字元開頭的字串,任意結尾 匹配字串必須以...

Python 正規表示式(基礎)

正規表示式 regular expression 是乙個特殊的字串行,描述了一種字串匹配的模式可以用來檢查乙個串是否含有某種子串 將匹配的子串替換或者從某個串中取出符合某個條件的子串,或者是在指定的文章中,抓取特定的字串等。python處理正規表示式的模組是re模組,它是python語言擁有全部的正...

Python正規表示式基礎

直接給出字元就是精確匹配。特殊字元首先需要轉義如 d 匹配乙個數字,w 匹配乙個字母或者數字。123 d 可以匹配 1231 但是無法匹配 123a d d d 可以匹配到 123 w w w 可以匹配到 py3 表示任意乙個字元,py.可以表示py3 py 等 表示任意長個字元,表示至少乙個字元,...