首页 / 正则 / Python正则表达式
Python正则表达式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python正则表达式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2014字,纯文字阅读大概需要3分钟。
内容图文
![Python正则表达式](/upload/InfoBanner/zyjiaocheng/850/2bafc7fc8ea54bddaa3ec58bcad2dc48.jpg)
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。
1、\d
可以匹配一个数字,\w
可以匹配一个字母或数字
'00\d'可以匹配'007',但无法匹配'00A'; '\d\d\d'可以匹配'010'; '\w\w\d'可以匹配'py3';
2、.
可以匹配任意字符
'py.'可以匹配'pyc'、'pyo'、'py!'等等。
3、用*
表示任意个字符(包括0个),用+
表示至少一个字符,用?
表示0个或1个字符,用{n}
表示n个字符,用{n,m}
表示n-m个字符
一个复杂的例子:\d{3}\s+\d{3,8}。 我们来从左到右解读一下: \d{3}表示匹配3个数字,例如'010'; \s可以匹配一个空格(也包括Tab等空白符),所以\s+表示至少有一个空格,例如匹配' ',' '等; \d{3,8}表示3-8个数字,例如'1234567'。
4、'-'
是特殊字符,在正则表达式中,要用'\'
转义
匹配'010-12345'这样的号码 正则是\d{3}\-\d{3,8}
5、精确地匹配,可以用[]
表示范围
[0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线; [0-9a-zA-Z\_]+可以匹配至少由一个数字、字母或者下划线组成的字符串,比如'a100','0_Z','Py3000'等等; [a-zA-Z\_][0-9a-zA-Z\_]*可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串,也就是Python合法的变量; [a-zA-Z\_][0-9a-zA-Z\_]{0, 19}更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。
6、| 或
A|B可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'
7、^开头
^表示行的开头,^\d表示必须以数字开头
8、$结束
$表示行的结束,\d$表示必须以数字结束
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
re模块正则的使用
正则匹配:
match()方法判断是否匹配,如果匹配成功,返回一个Match对象,否则返回None。常见的判断方法就是: test = '用户输入的字符串' if re.match(r'正则表达式', test): print('ok') else: print('failed')
>>> import re >>> re.match(r'^\d{3}\-\d{3,8}$', '010-12345') <_sre.SRE_Match object; span=(0, 9), match='010-12345'> >>> re.match(r'^\d{3}\-\d{3,8}$', '010 12345') >>>
内容总结
以上是互联网集市为您收集整理的Python正则表达式全部内容,希望文章能够帮你解决Python正则表达式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。