正则表达式的高级用法

 

1.

import re

# 根据正则表达式进行查找, 提示:只查找一次

# 1. 正则表达式

# 2. 要匹配的字符串

match_obj = re.search("\d+", "苹果有10个 鸭梨5个 总共15")

if match_obj:

    print(match_obj.group())

else:

    print("查找失败")


2.


# 查找多个数据,多个数据以列表的方式返回

# 1. 正则表达式

# 2. 要匹配的字符串

result = re.findall("\d+", "苹果有10个 鸭梨5个 总共15")

print(result)


3.
# 1. 正则表达式

# 2. 替换后面的内容

# 3. 要匹配的字符串

# 4. count 替换的次数,默认是0表示全部替换, count = 1 表示替换一次

result = re.sub("\d+", "30", "阅读数:10 评论数:20", count=1)

print(result)


4.
# 提示: 匹配对象不需要我们传入,系统自己根据正则表达式把匹配的对象进行函数参数的传入

def replace(match_obj):

    # 获取匹配对象的结果

    result = match_obj.group()

    value = int(result) + 1

    # 替换函数返回的数据类型必须是字符串类型

    return str(value)



result = re.sub("\d+", replace, "阅读数:10")

print(result)    #阅读数:11


5.

msg = "哈哈:呵呵,嘻嘻:嘿嘿"



# 1. 正则表达式

# 2. 要匹配的字符串

# 3. maxsplit 分割次数,默认是0表示全部分, maxsplit=1 只分割一次

# result = re.split(":|,", msg, maxsplit=1)

result = re.split(":|,", msg)



print(result)

你可能感兴趣的:(正则表达式的高级用法)