官方對正規表示式的解釋是:
正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。
給定乙個正規表示式和另乙個字串,我們可以達到如下的目的:
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 等 表示任意長個字元,表示至少乙個字元,...