1、. 匹配任意除換行符「\n」外的字元;
2、*表示匹配前乙個字元0次或無限次;
3、+或*後跟?表示非貪婪匹配,即盡可能少的匹配,如*?重複任意次,但盡可能少重複,惰性匹配;
4、 .*? 表示匹配任意數量的重複,但是在能使整個匹配成功的前提下使用最少的重複。
如:a.*?b匹配最短的,以a開始,以b結束的字串。如果把它應用於aabab的話,它會匹配aab和ab。
案例1line="2017-01-26 12:55:30-info"
logtime = re.compile('(.*?)-info')
m=logtime.search(line)
print m.group(1)
案例2line="args:[123,456,789,111,222]"
aaa = re.compile('args:\[.*?,.*?,.*?,.*?,(.*?)\]')
p=aaa.search(line)
print p.group(1)
案例3line="ccc\":12.56"
ddd = re.compile('ccc\":([0-9]*.[0-9]*)')
t=ddd.search(line)
print t.group(1)
一、校驗數字的表示式
1 數字:^[0-9]*$
2 n位的數字:^\d$
3 至少n位的數字:^\d$
4 m-n位的數字:^\d$
5 零和非零開頭的數字:^(0|[1-9][0-9]*)$
6 非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9])?$
7 帶1-2位小數的正數或負數:^(\-)?\d+(\.\d)?$
8 正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$
9 有兩位小數的正實數:^[0-9]+(.[0-9])?$
10 有1~3位小數的正實數:^[0-9]+(.[0-9])?$
11 非零的正整數:^[1-9]\d*$ 或 ^([1-9][0-9]*)$ 或 ^\+?[1-9][0-9]*$
12 非零的負整數:^\-[1-9]0-9"*$ 或 ^-[1-9]\d*$
13 非負整數:^\d+$ 或 ^[1-9]\d*|0$
14 非正整數:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15 非負浮點數:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16 非正浮點數:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17 正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
18 負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
19 浮點數:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
二、校驗字元的表示式
1 漢字:^[\u4e00-\u9fa5]$
2 英文和數字:^[a-za-z0-9]+$ 或 ^[a-za-z0-9]$
3 長度為3-20的所有字元:^.$
4 由26個英文本母組成的字串:^[a-za-z]+$
5 由26個大寫英文本母組成的字串:^[a-z]+$
6 由26個小寫英文本母組成的字串:^[a-z]+$
7 由數字和26個英文本母組成的字串:^[a-za-z0-9]+$
8 由數字、26個英文本母或者下劃線組成的字串:^\w+$ 或 ^\w$
9 中文、英文、數字包括下劃線:^[\u4e00-\u9fa5a-za-z0-9_]+$
10 中文、英文、數字但不包括下劃線等符號:^[\u4e00-\u9fa5a-za-z0-9]+$ 或 ^[\u4e00-\u9fa5a-za-z0-9]$
11 可以輸入含有^%&',;=?$\"等字元:[^%&',;=?$\x22]+
12 禁止輸入含有~的字元:[^~\x22]+
做乙個拖拽的小功能
做了乙個拖拽功能,感覺有點卡頓。思路比較簡單,滑塊拖動的時候限制邊界條件就好了,完整 如下 拖拽 title style divclass drag style head body div class div class divclass drag div div script window.onl...
Python列表生成式12個小功能,你常用哪幾個?
作者 zglg python與演算法社群 python裡表示乙個列表,對容器型別的資料進行運算和操作,生成新的列表最高效 快速的辦法,就是列表生成式。它優雅 簡潔,值得大家多多使用!今天盤點列表生成式在工作中的主要使用場景。range快速生成連續列表 in 1 a range 11 in 2 a o...
Python列表生成式12個小功能,你常用哪幾個?
作者 zglg python與演算法社群 python裡表示乙個列表,對容器型別的資料進行運算和操作,生成新的列表最高效 快速的辦法,就是列表生成式。它優雅 簡潔,值得大家多多使用!今天盤點列表生成式在工作中的主要使用場景。range快速生成連續列表 in 1 a range 11 in 2 a o...