- 元字符实战
- 提前字符串中所有的数字或者非数字
-
import re string = "1a2b3c4d5e" result = re.findall("[0-9]",string) print("这是result",result) result = re.findall("[0-3]",string) print("这是result",result) string = "1a2b3c4d5e6f7g8h9i10j" result = re.findall("[0-9]",string) print("这是result",result) 这是result ['1', '2', '3', '4', '5'] 这是result ['1', '2', '3'] 这是result ['1', '2', '3', '4', '5', '6', '7', '8', '9', '1', '0'] string = "1a2b3c4d5e" result = re.findall("[^0-9]",string) print("这是result",result) result = re.findall("[^0-3]",string) print("这是result",result) string = "1a2b3c4d5e6f7g8h9i10j" result = re.findall("[^0-9]",string) print("这是result",result) 这是result ['a', 'b', 'c', 'd', 'e'] 这是result ['a', 'b', 'c', '4', 'd', '5', 'e'] 这是result ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
-
- 提前字符串中所有的数字或者非数字
- 字符集实战
- 提前字符串中所有的数字或者非数字
-
import re string = "1a2b3c4d5e" result = re.findall("\d",string) print("这是result",result) 这是result ['1', '2', '3', '4', '5'] string = "1a2b3c4d5e" result = re.findall("\D",string) print("这是result",result) 这是result ['a', 'b', 'c', 'd', 'e']
-
- 提前字符串中所有的数字或者非数字
- 数量词实战
- 提取大小写字母混合的单词
-
import re string = "CuPT FroM SWupT" minlen = 3 maxlen = 50 result = re.findall("[a-zA-Z]"+"{" +str(minlen)+","+str(maxlen)+"}",string) print("这是result",result) 这是result ['CuPT', 'FroM', 'SWupT']
-
- 提取大小写字母混合的单词
- 边界匹配
- 提取一串号码
-
import re string = "15915930230212" minlen = 5 maxlen = 20 result = re.findall("\d"+"{" +str(minlen)+","+str(maxlen)+"}",string) print("这是result",result) 这是result ['15915930230212']
- 组
-
import re a = 'abcabcabcxyzabcabcxyzabc' result1 = re.findall('(abc){1}',a) result2 = re.findall('(abc){2}',a) result3 = re.findall('(abc){3}',a) print(result1) print(result2) print(result3) ['abc', 'abc', 'abc', 'abc', 'abc', 'abc'] ['abc', 'abc'] ['abc']
-
- 常用正则表达式
-
数字
^[0-9]$
n位的数字
^\d{n}$
至少n位的数字
^\d{n,}$
m-n位的数字
^\d{m,n}$
零和非零开头的数字
^(0|[1-9][0-9]*)$
非零开头的最多带两位小数的数字
^([1-9][0-9]*)+(.[0-9]{1,2})?$
带1-2位小数的正数或负数
^(\-)?\d+(\.\d{1,2})?$
正数、负数、和小数
^(\-|\+)?\d+(\.\d+)?$
有两位小数的正实数
^[0-9]+(.[0-9]{2})?$
有1~3位小数的正实数
^[0-9]+(.[0-9]{1,3})?$
非零的正整数
^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
非零的负整数
^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
非负整数
^\d+$ 或 ^[1-9]\d*|0$
非正整数
^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
非负浮点数
^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
非正浮点数
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
正浮点数
^[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]*))$
负浮点数
^-([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]*)))$
浮点数
^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
-