正则表达式
一.使用search()方法匹配字符串(1)import re
pattern = 'mr_\w+' # 模式字符串
string = 'MR_SHOP mr_shop' # 要匹配的字符串
match = re.search(pattern,string,re.I)# 搜索字符串,不区分大小写
print(match) # 输出匹配结果
string = '项目名称MR_SHOP mr_shop'
match = re.search(pattern,string,re.I)# 搜索字符串,不区分大小写
print(match) # 输出匹配结果
一.使用search()方法匹配字符串(2)
import re # 导入re模块
# 表达式,(\d?)+表示多个数字可有可无,\s空格可有可无,([\u4e00-\u9fa5]?)+多个汉字可有可无
pattern = '(\d?)+mrsoft\s?([\u4e00-\u9fa5]?)+'
match = re.search(pattern,'01mrsoft')# 匹配字符串,mrsoft前有01数字,匹配成功
print(match) # 打印匹配结果
match = re.search(pattern,'mrsoft')# 匹配字符串,mrsoft匹配成功
print(match) # 打印匹配结果
match = re.search(pattern,'mrsoft ')# 匹配字符串,mrsoft后面有一个空格,匹配成功
print(match) # 打印匹配结果
match = re.search(pattern,'mrsoft 第一')# 匹配字符串,mrsoft后面有空格和汉字,匹配成功
print(match) # 打印匹配结果
match = re.search(pattern,'rsoft 第一')# 匹配字符串,rsoft后面有空格和汉字,匹配失败
print(match) # 打印匹配结果
一.使用search()方法匹配字符串(3)
import re # 导入re模块
pattern = r'\bmr\b' # 表达式,mr两侧均有边界
match = re.search(pattern,'mrsoft')# 匹配字符串,mr右侧不是边界是soft,匹配失败
print(match) # 打印匹配结果
match = re.search(pattern,'mr soft')# 匹配字符串,mr左侧为边界右侧为空格,匹配成功
print(match) # 打印匹配结果
match = re.search(pattern,' mrsoft ')# 匹配字符串,mr左侧为空格右侧为soft空格,匹配失败
print(match) # 打印匹配结果
match = re.search(pattern,'mr.soft')# 匹配字符串,mr左侧为边界右侧为“.”,匹配成功
print(match) # 打印匹配结果
二.使用findall()方法匹配字符串(1)
import re
pattern = 'mr_\w+' # 模式字符串
string = 'MR_SHOP mr_shop' # 要匹配的字符串
match = re.findall(pattern,string,re.I)# 搜索字符串,不区分大小写
print(match) # 输出匹配结果
string = '项目名称MR_SHOP mr_shop'
match = re.findall(pattern,string) # 搜索字符串,区分大小写
print(match) # 输出匹配结果
二.使用findall()方法匹配字符串(2)
import re # 导入re模块
pattern = 'https://.*/' # 表达式,“.*”获取www.hao123.com
match = re.findall(pattern,'https://www.hao123.com/')# 匹配字符串
print(match) # 打印匹配结果
import re # 导入re模块
pattern = 'https://(.*)/' # 表达式,“.*”获取www.hao123.com
match = re.findall(pattern,'https://www.hao123.com/')# 匹配字符串
print(match) # 打印匹配结果
二.使用findall()方法匹配字符串(3)
import re # 导入re模块
pattern = 'https://.*(\d+).com/' # 表达式,“.*”获取www.hao123.com
match = re.findall(pattern,'https://www.hao123.com/')# 匹配字符串
print(match) # 打印匹配结果
import re # 导入re模块
pattern = 'https://.*?(\d+).com/' # 表达式,“.*”获取www.hao123.com
match = re.findall(pattern,'https://www.hao123.com/')# 匹配字符串
print(match) # 打印匹配结果
import re # 导入re模块
pattern = 'https://(.*?)' # 表达式,“.*?”获取www.hao123.com/
match = re.findall(pattern,'https://www.hao123.com/')# 匹配字符串
print(match) # 打印匹配结果
pattern = 'https://(.*)' # 表达式,“.*”获取www.hao123.com/
match = re.findall(pattern,'https://www.hao123.com/')# 匹配字符串
print(match) # 打印匹配结果
三.字符串处理sub() 替换字符串
import re
pattern = r'1\d{9}' # 定义要替换的模式字符串
string = '中奖号码为:84978981 联系电话为:13611111111'
result = re.sub(pattern,'1XXXXXXXXXX',string)# 替换字符串
print(result)
import re # 导入re模块
string = 'hk400 jhkj6h7k5 jhkjhk1j0k66' # 需要匹配的字符串
pattern = '' # 表达式
match = re.sub(pattern,'',string,flags=re.I)# 匹配字符串,将所有字母替换为空,并区分大小写
print(match) # 打印匹配结果
import re # 导入re模块
# 需要匹配的字符串
string = 'John,I like you to meet Mr. Wang,Mr. Wang, this is our Sales Manager John. John, this is Mr. Wang.'
pattern = 'Wang' # 表达式
match = re.subn(pattern,'Li',string)# 匹配字符串,将所有Wang替换为Li,并统计替换次数
print(match) # 打印匹配结果
print(match) # 打印匹配次数
三.字符串处理split() 分割字符串
import re
pattern = r'[?|&]' # 定义分割符
url = 'http://www.mingrisoft.com/login.jsp?username="mr"&pwd="mrsoft"'
result = re.split(pattern,url) # 分割字符串
print(result)
import re # 导入re模块
# 需要匹配的字符串
string = '预定|K7577|CCT|THL|CCT|LYL|14:47|16:51|02:04|Y|'
pattern = '\|' # 表达式
match = re.split(pattern,string,maxsplit=1)# 匹配字符串,通过第一次出现的|进行分割
print(match) # 打印匹配结果
{:10_298:}不错 感谢! {:10_254:} 领币感谢 厉害 {:5_95:} {:5_95:} {:10_254:} 厉害 牛逼 感谢 +3,感谢 {:7_141:}
页:
[1]