Python正则表达式
来源:互联网 发布:怎样在淘宝上联系卖家 编辑:程序博客网 时间:2024/06/03 11:45
正则表达式参考文档
正则表达式是对字符串操作的一种逻辑公式,通过它我们能筛选过滤出我们需要的内容。比如通过正则判断一串数字是否是电话号码,或者判断一个字符串是否是电子邮箱等等。
Python 中的正则用到了 re 模块。一般使用步骤是先把正则表达式的字符串转换成 Pattern 对象,接着用这个对象处理文本并得到匹配结果,然后根据结果信息,进行其他的操作。
1.match和search
import restring = "I'm learning Python on this website."pattern = re.compile(r'Python')match = pattern.match(string)search = pattern.search(string)if match: print(u"match 结果: " + match.group())else: print(u"match 结果: No match.")if search: print(u"search 结果: " + search.group())else: print(u"search 结果: No search.")
match() 只匹配字符串的起始,如果开始不匹配,便会返回 None,而 search() 是从头至尾对字符串进行匹配。
2.sub
import retime = "2017-10-01"pattern = re.compile(r'\D') #\D表示匹配任意非数字sub = pattern.sub("/", time) #sub(替换后的字符,要匹配的字符)print(sub)print(re.sub(r'\D', "/", time)) #也可以简写成这样
3. 一个例子
import re#正则匹配电话号码phone = input('phone number: ')pattern = re.compile('^0\d{2,3}\d{7,8}$|^1[3578]\d{9}$|^147\d{8}$')match = pattern.match(phone)if match: print(match.group())else: print("error")# 解释以下这个正则表达式# ^表示匹配字符串开头# $表示匹配字符串结尾# \d表示匹配任意数字# ^0\d{2,3}\d{7,8}$为座机格式# 0是第一个数字,后面接2到3个数字组成区号,加上7或8位电话号# ^1[3578]\d{9}$为手机号格式# 1是第一个数字,第二个数字可能是3或5或7或8,后面接9位数字# ^147\d{8}$为移动特殊号段# 以147开头,后面接8位数字
阅读全文
0 0
- python正则表达式学习
- c++正则表达式,python
- Python正则表达式(一)
- python的正则表达式
- Python正则表达式
- Python初学-正则表达式
- 正则表达式与python
- python正则表达式学习
- python正则表达式学习
- python正则表达式学习
- python正则表达式
- Python - 正则表达式
- Python正则表达式
- python正则表达式
- Python正则表达式指南
- Python正则表达式指南
- Python 正则表达式指南
- python 正则表达式
- 在windows10下安装CPU only模式的caffe+vs2013+anaconda笔记
- 循环队列的操作
- HTML基本格式
- js数据的深度迭代
- Hie with the Pie POJ
- Python正则表达式
- Python进阶
- php-DOM部分基础知识总结与实例(V客学院知识分享)
- 9.28 考试总结
- 线性表的建立和删除
- .gitignore无效,不能过滤某些文件
- leetcode
- 图像合成--异质 案例
- js-使用js生成10*10个带标号的div