# re正则表达式:
'''
? 表示前面的字符,可以出现0次或1次。 记忆(可有可无)
* 表示前面的字符,可以出现0次或多次。 记忆(1)
+ 表示前面的字符,可以出现1次或多次。 记忆(1)
{2,4} 限制具体的次数 限制前面的字符出现2到4之间, {1,} 至少出现一次
\d 表示数字, \D 表示非数字
\w 表示(字母 数字 下划线), \W 表示非
\s 表示空白(空格 Tab键), \S 表示非
. 表示除\n之外的任意一个字符
多选一: [] 限制字符只能来自括号里的, 也支持指定范围[a-z]
| 左右两边的条件 一个匹配到就行
() 把括号里的东西看作一个整体
'''
str1 = '112212@163.com_22@163.com'
# re_result = re.findall('^[1-9][0-9]{4,10}$', str1) # 匹配头和尾 匹配整个字符串,只有两种情况:true或false
# () 得到匹配的结果
re_result = re.findall('(\d+@(qq|163)\.com)', str1)
logging.info('%s %s' % (re_result, len(re_result)))
for i in re_result: # 如果re_result是空list ,则不会进入for循环,也不会抛异常
logging.info(i[0]) # 可以直接遍历元组
Python里的re正则表达式
最新推荐文章于 2024-11-05 15:28:12 发布