5正则表达式
2021/11/29 23:37:46
本文主要是介绍5正则表达式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
正则表达式本身是一个字符串,分别有两类:普通字符和特殊字符
一.常见语法
1.普通字符:无含义的字符,可直接匹配
2.特殊字符
例如: . 匹配除换行符外所有字符 用法 .字符
目录
- 1.未使用正则表达式的例子
- 2.基本格式
- 3.星号的使用
- 4.加号的使用
- 5.花括号_选择匹配次数
1.未使用正则表达式的例子
content = ''' 啊啊啊啊12.5万/月啊啊啊啊 啊啊啊啊666万/每月啊啊啊啊 啊啊啊啊55.9万/月啊啊啊啊 ''' lines = content.splitlines() for line in lines: pos2 = line.find('万/月') if pos2 < 0: pos2 = line.find('万/每月') if pos2 < 0: continue # if语句内部缩进到下一个语句块再写一个if语句可嵌套 idx = pos2 - 1 while line[idx].isdigit() or line[idx] == '.': idx -= 1 pos1 = idx + 1 print(line[pos1:pos2])
2.基本格式
content = ''' 啊啊啊啊12.5万/月啊啊啊啊 啊啊啊啊666万/每月啊啊啊啊 啊啊啊啊55.9万/月啊啊啊啊 ''' # 导入文本 import re # 导入正则表达式模块(库) p = re.compile(r'.万') # r表示防止正则表达式里的特殊字符转意 print(type(p)) for one in p.findall(content): # findall()找到所有符合条件的文本 print(type(one)) print(one)
3.星号的使用
# 字符.*代表持续到.后这一排所有的字符(包括.后面没有字符,0次)(直到行尾) # 几个字符*代表将这几个字符和最后一个字符重复选中(匹配)多次 coutent = """ 橘子,是橙色的 树叶,是绿色色色色色的 柚子,是黄色的 苹果,是绿色的 梨子, """ import re p = re.compile(r',.*') for one in p.findall(coutent): print(one) p = re.compile(r'绿色*') for one in p.findall(coutent): print(one)
4.加号的使用
import re p = re.compile(r',.+') for one in p.findall(coutent): print(one) # 结果和,.#不一样,是不包含没有字符的梨子的 # p = re.compile(r',.*') # for one1 in p.findall(coutent): # print(one1)
5.花括号_选择匹配次数
# 固定次数匹配 import re # coutext = """ # 红彤彤,绿油油,黑乎乎,绿油油油油油油油油油油油油油油油 # """ # p = re.compile(r'绿油{3,4}') # 最小匹配次数,最大匹配次数 # for one in p.findall(coutext): # print(one) coutext = """ 张小明, 13566665555, 20岁 """ p = re.compile('\d{11}') # 十进制数\d for one in p.findall(coutext): print(one)
这篇关于5正则表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-11正则表达式学习:入门指南与实践技巧
- 2024-08-15正则表达式入门:基础教程与实践指南
- 2024-01-0939. 干货系列从零用Rust编写负载均衡及代理,正则及格式替换
- 2024-01-08如何编写高效的正则表达式?
- 2023-12-29"Matlab中的正则表达式:强大而灵活的工具"
- 2023-09-30这个正则 为啥同样的单号第二个就提取不出来?
- 2023-06-086.2 re 正则表达式
- 2023-06-06将字符串里的\x01,\x02这些替换掉用正则表达式无效?
- 2023-05-24正则表达式详解
- 2023-05-17我让gpt写了一段正则表达式代码,可是运行报错,可以帮忙看看哪里出了问题?