正则表达式常用语法:

 字符 使用说明   字符  使用说明 字符  使用说明  字符  使用说明 
[abc]   单个字符:a或b或c [^abc] a, b, c以外的单个字符   .  任意字符  \s 空字符 
\S  非空字符  \d  数字字符  \D  非数字字符  \w  单词(字母、数字、下划线) 
\W  非单词  \b  单词边界  开头  结尾 
(...)  分组  (a|b)  a或b  a*  重复0次或多次  a?  重复0次或1次 
a+  重复1次或多次  a{3}  重复3次  a{3,}  重复3次或多次  a{3,5}  重复3到5次 
非贪婪匹配  (?:abc)  非捕获分组  (?=abc)  正向匹配abc  (?!abc)  正向不匹配abc 
\xhh  十六进制 hh字符 \uhhhh 十六进制hhhh字符 \u{hhhh}  {仅当设置了u标志时}十六进制hhhh字符   \cX 控制字符 
 \0 空字符  \a  alert字符  \t  制表符  \n  换行符 
\v  垂直制表符  \f  换页符 \r  回车符  \e  escape字符 

 

 说明 正则表达式  说明  正则表达式 
数字   ^[0-9]*$  n位的数字 ^\d{n}$ 
 至少n位的数字  ^\d{n,}$  m-n位的数字  ^\d{n,m}$  
非零开头的最多带两位小数的数字  ^([1-9][0-9]*)+(.[0-9]{1,2})?$   非负整数  ^\d+$
 非正整数  ^-\d+$  汉字  ^[\u4e00-\u9fa5]{0.}$
英文和数字  ^[A-Za-z0-9]+$  长度为3-20的所有字符  ^.{3,20}$ 
 由26个英文字母组成的字符串 ^[A-za-z]+$   中文、英文、数字、下划线 ^[\u4E00-\u9FA5A-Za-z0-9_]+$ 
Email地址  ^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$  域名  [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.? 
 手机号码 ^(13[0-9]   日期格式 ^\d{4}-\d{1,2}-\d{1,2} 
IP地址  \d+.\d+.\d+.\d+  密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)  ^[a-zA-Z]\w{5,17}$ 

实例一:正则匹配邮箱

# 匹配所有的邮箱
import re str1 = 'fdg.lll.pp123@163.com hdfh.abc@qq.com hidfsd@qq.com.com gfgfa@qq.com bdfdg@163.com' reg_str1 = r'(?:[0-9a-zA-Z_]+.)+@[0-9a-zA-Z]{1,13}\.[com,cn,net]{1,3}'#正则匹配出邮箱 mod = re.compile(reg_str1) items = mod.findall(str1) print(items)
# 字符串中是否存在邮箱地址
import
re text="abc12222@qq.comhere" if re.search(r'[0-9a-zA-Z_]{0,19}@[0-9a-zA-Z]{1,13}\.[com,cn,net]{1,3}',text): print('has Email address') else: print('No Email address!')

只允许英文字母、数字、下划线、英文句号、以及中划线组成

^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

名称允许汉字、字母、数字,域名只允许英文域名

^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$ 

 

实例二: 正则匹配IP地址

pattern = r'^((1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9]\.)){3}' \
       '([0-1]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])$'

mod = re.compile(pattern)
res = mod.search('255.25.25.111')

if res:
    print('match success %s' % res)
else:
    print('match fail')

 

 

 

 

posted on 2020-10-21 16:07  风雨无阻!  阅读(63)  评论(0)    收藏  举报