欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

python 正则表达式,python正则表达式详解

墨初 知识笔记 131阅读
re.match 在起始位置开始匹配
# 正则表达式是一个特殊的字符序列它能帮助你方便的检查一个字符串是否与某种模式匹配# re.match() 尝试从字符串的起始位置匹配一个模式如果不是起始位置匹配成功的话import rehhre.match(我爱你,我爱你-我爱你)  # 在起始位置匹配print(hh)hhre.match(-,我爱你-我爱你)  #不在起始位置匹配找不到print(hh)line  Cats are smarter than dogs# .* 表示任意匹配除换行符\n、\r之外的任何单个或多个字符# (.*?) 表示非贪婪模式只保存第一个匹配到的子串matchObj  re.match( r(.*) are (.*?) .*, line, re.M|re.I)print(matchObj)print(matchObj.group(1))  #gropu()表示返回匹配的第几个字符串
re.search 扫描整个字符串
import re# re.search 扫描整个字符串并返回第一个成功的匹配# re.match 只匹配字符串的开始如果字符串开始不符合正则表达式则匹配失败函数返回 None而 re.search 匹配整个字符串直到找到一个匹配hhre.search(我爱你,我爱你-我爱你)  # 在起始位置匹配print(hh)hhre.search(-,我爱你-我爱你)  #不在起始位置匹配找不到print(hh)print(hh.span())print(hh.group())
检索并且替换
# re模块提供了re.sub用于替换字符串中的匹配项import rephone  2004-959-559 # 这是一个电话号码# 删除注释num  re.sub(r#.*$, , phone)print(电话号码 : , num)# 移除非数字的内容num  re.sub(r\D, , phone)print(电话号码 : , num)
findall查找所有匹配的字符子串
import re# 在字符串中找到正则表达式所匹配的所有子串# 并返回一个列表如果有多个匹配模式则返回元组列表如果没有找到匹配的则返回空列表result1  re.findall(r\d, runoob 123 google 456)pattern  re.compile(r\d)  # 查找数字result2  pattern.findall(runoob 123 google 456)result3  pattern.findall(run88oob123google456, 0, 10)print(result1)print(result2)print(result3)

标签:
声明:无特别说明,转载请标明本文来源!