更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

Python正则表达式练习

  • 发布:Python培训
  • 来源:Python知识大全
  • 时间:2019-11-04 11:12

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())

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Python 2的结束意味着什么
下一篇:Python编程练习三

Python编程练习三

Python正则表达式练习

Python 2的结束意味着什么

用python做一个划词翻译软件

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省