python 正则表达式 re.sub_Python 正则表达式 re.match/re.search/re.sub的使用解析

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 18:27   11   0

From Python正则表达式

re.match(pattern, string, flags=0)

尝试从字符串起始位置匹配一个模式;如果不是起始位置匹配成功,则 re.match() 返回none.

匹配成功,re.match() 返回一个匹配的对象,否则返回None.

pattern – 匹配的正则表达式

string – 要匹配的字符串

flags – 标志位,控制正则表达式的匹配方式,如,是否区分大小写,多行匹配等.

e.g.

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import re

print(re.match('www', 'www.runoob.com').span()) # 在起始位置匹配

print(re.match('com', 'www.runoob.com')) # 不在起始位置匹配

output:

(0, 3)

None

re.search(pattern, string, flags=0)

扫描整个字符串并返回第一个成功的匹配.

匹配成功, re.search()返回一个匹配的对象,否则返回None.

e.g.

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import re

print(re.search('www', 'www.runoob.com').span()) # 在起始位置匹配

print(re.search('com', 'www.runoob.com').span()) # 不在起始位置匹配

output:

(0, 3)

(11, 14)

re.match() 只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;

re.search() 匹配整个字符串,直到找到一个匹配.

re.sub(pattern, repl, string, count=0, flags=0)

替换字符串中的匹配项.

pattern – 正则中的模式字符串

repl – 替换的字符串,也可为一个函数

string – 要被查找替换的原始字符串

count – 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配

e.g.

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import re

phone = "2004-959-559

# 删除字符串中的 Python注释

num = re.sub(r'#.*$', "", phone)

print "电话号码是: ", num

# 删除非数字(-)的字符串

num = re.sub(r'D', "", phone)

print "电话号码是 : ", num

output:

电话号码是: 2004-959-559

电话号码是 : 2004959559

正则表达式模式

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP