Python正则表达式练习
1、验证手机号码:手机号码的规则是以1开头,第二位可以是34587,后面那9位就可以随意了。
示例代码如下:
text = "18570631587"
ret = re.match('1[34587]\d{9}',text)
print(ret.group())
>> 18570631587
而如果是个不满足条件的手机号码。那么就匹配不到了。示例代码如下:
text = "1857063158"
ret = re.match('1[34587]\d{9}',text)
print(ret.group())
>> AttributeError: 'NoneType' object has no attribute
2、验证邮箱:邮箱的规则是邮箱名称是用数字、数字、下划线组成的,然后是@符号,后面就是域名了。示例代码如下:
text = hynever@163.com
ret = re.match('\w+@\w+\.[a-zA-Z\.]+',text)
print(ret.group())
3、验证URL:URL的规则是前面是http或者https或者是ftp然后再加上一个冒号,再加上一个斜杠,再后面就是可以出现任意非空白字符了。示例代码如下:
text = http://www.baidu.com/
ret = re.match('(http|https|ftp)://[^\s]+',text)
print(ret.group())
4、 验证身份证:身份证的规则是,总共有18位,前面17位都是数字,后面一位可以是数字,也可以是小写的x,也可以是大写的X。示例代码如下:
text = "3113111890812323X"
ret = re.match('\d{17}[\dxX]',text)
print(ret.group())
5、 ^(脱字号):表示以...开始:
text = "hello"
ret = re.match('^h',text)
print(ret.group())
如果是在中括号中,那么代表的是取反操作.
6、 $:表示以...结束:
# 匹配163.com的邮箱
text = xxx@163.com
ret = re.search('\w+@163\.com$',text)
print(ret.group())
>> xxx@163.com
7、|:匹配多个表达式或者字符串:
text = "hello|world"
ret = re.search('hello',text)
print(ret.group())
>> hello
8、 贪婪模式和非贪婪模式:
贪婪模式:正则表达式会匹配尽量多的字符。默认是贪婪模式。
非贪婪模式:正则表达式会尽量少的匹配字符。
示例代码如下:
text = "0123456"
ret = re.match('\d+',text)
print(ret.group())# 因为默认采用贪婪模式,所以会输出0123456
>> 0123456
可以改成非贪婪模式,那么就只会匹配到0。示例代码如下:
text = "0123456"
ret = re.match('\d+?',text)
print(ret.group())
注:本文部分文字和图片来源于网络,如有侵权,请联系删除。版权归原作者所有!
猜你喜欢LIKE
相关推荐HOT
更多>>python怎么开发web
Python有多种框架可以用于Web开发。以下是一些常用的PythonWeb框架:1.Django:Django是一个功能强大的Web开发框架,提供了完整的MVC(模型-视图...详情>>
2023-06-15 09:06:25python常见异常类型
Python中常见的异常类型包括但不限于以下几种:1.`SyntaxError`:语法错误,通常是由于代码编写不符合Python的语法规则导致的。2.`IndentationE...详情>>
2023-06-14 15:55:49python中print()函数该怎么用
在Python中,`print()`函数用于将指定的值输出到标准输出设备(通常是控制台)。它是一个内置函数,可以在Python程序中使用。`print()`函数的基本...详情>>
2023-06-07 15:19:45Python中的复杂if语句
在Python中,if语句可以包含相当复杂的逻辑和条件。以下是一些用于构建复杂if语句的有用技巧:1.使用括号以改善可读性:额外的括号可以使if语句...详情>>
2023-04-20 15:52:04正则化是什么意思?正则化技术解析
正则化(Regularization)是一种用于解决过拟合问题的机器学习技术,采用一种惩罚项来平衡模型的复杂度和性能,减少模型的泛化误差。在机器学习中...详情>>
2023-04-11 13:39:34Python培训问答更多>>
新爬虫软件是什么?就业前景如何
新Python指的是什么?就业前景如何
新python培训课程费用大概是多少?
新python爬虫是什么?基本概念和类型解析
新学python有什么用?对职业发展有实际性帮助吗
新学会python能干什么?python学习需要注意什么
新学c语言还是python?哪个学得快
Python面试题库 更多>>
Python中的pass语句是什么?
怎样将字符串转换为小写?
怎么移除一个字符串中的前导空格?
python中的标识符长度能有多长?
Python区分大小写吗?
解释Python中的join()和split()函数
- 北京校区
- 大连校区
- 广州校区
- 成都校区
- 杭州校区
- 长沙校区
- 合肥校区
- 南京校区
- 上海校区
- 深圳校区
- 武汉校区
- 郑州校区
- 西安校区
- 青岛校区
- 重庆校区
- 太原校区
- 沈阳校区
- 南昌校区
- 哈尔滨校区