正则表达式

5正则表达式

本文主要是介绍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正则表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!