本文共 3159 字,大约阅读时间需要 10 分钟。
目录:
实例 2018/12/21
分组:
# 分组重复多个字符'(\d{1,3}\.){3}\d{1,3}' #IP地址匹配表达式。# \d{1,3}匹配1到3位的数字,(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,# 最后再加上一个一到三位的数字(\d{1,3})。
数字:
'^[0-9]*$' #数字'^\d{n}$' #n位数字'^\d{n,}$' #至少n位数字'^\d{m,n}$' #m-n位数字'^(0|[1-9][0-9]*)$' #零和非零开头数字'^([1-9][0-9]*)+(.[0-9]{1,2})?$'#非零开头最多带两位小数数字'^(\-)?\d+(\.\d{1,2})?$' #带1-2位小数正数或负数'^(\-|\+)?\d+(\.\d+)?$' #正数负数和小数'^[0-9]+(.[0-9]{2})?$' #两位小数正实数'^[0-9]+(.[0-9]{1,3})?$' # 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)$' # 浮点数
字符:
'^[\u4e00-\u9fa5]{0,}$' #汉字'^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$'#英文和数字'^.{3,20}$' #长度为3-20的所有字符'^[A-Za-z]+$' #26个英文字母'^[A-Z]+$' #26个大写英文字母'^[a-z]+$' #26个小写英文字母'^[A-Za-z0-9]+$'#数字和英文字母'^\w+$ 或 ^\w{3,20}$' #数字字母或下划线'^[\u4E00-\u9FA5A-Za-z0-9_]+$'#中文英文数字下划线'^[\u4E00-\u9FA5A-Za-z0-9]+$' #中文英文数字'^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$'#中文英文数字"[^%&',;=?$\x22]+" #含有^%&',;=?$\"字符
特殊表达式:
'\d+\.\d+\.\d+\.\d+' #IP地址'((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))' #IP地址re.search(r"(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5]\.)","192.168.1.1")#匹配IP'^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$' #Email地址'<(\S*?)[^>]*>.*?<\\1>|<.*? \> ' #HTML标记的正则表达式'[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?' #域名'[a-zA-z]+:\\[^\s]* 或 ^http:\\([\w-]+\.)+[\w-]+(\[\w-.\?%&=]*)?$' #InternetURL'^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$' #xml文件'^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$'#手机号码p = re.compile(r'\d{3}-\d{6}')print(p.findall('010-628888')) #匹配电话号码'^((\d{3,4}-)|\d{3,4})?\d{7,8}$'#电话号码'\d{3}-\d{8}|\d{4}-\d{7}' #国内电话号码
'^\d{15}|\d{18}$' #身份证号(15位、18位)'^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$'#短身份证号码(数字、字母x结尾) '^[a-zA-Z][a-zA-Z0-9_]{4,15}$' #帐号(字母开头5-16字节字母数字下划线)'^[a-zA-Z]\w{5,17}$' #密码(字母开头长度6~18含字母、数字和下划线)'^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$' #强密码(必须有大小写字母和数字无特殊字符长度8-10) '^\d{4}-\d{1,2}-\d{1,2}' #日期格式'^(0?[1-9]|1[0-2])$' #月(01~12)'^((0?[1-9])|((1|2)[0-9])|30|31)$' #天(01~09和1~31) #钱的输入格式'(?
转载地址:http://kbqbf.baihongyu.com/