欢迎访问宙启技术站
智能推送

使用Python正则表达式的5个常用函数

发布时间:2023-06-10 20:53:11

正则表达式是一种用于匹配特定字符串模式的表达式语言。在Python中,正则表达式是由re模块实现的。re模块提供了一系列函数,用于处理字符串和正则表达式。以下是Python正则表达式的五个常用函数。

## 1. re.match()

re.match()函数是用于从字符串的起始位置开始匹配正则表达式。如果匹配成功,则返回一个匹配对象;否则返回None。re.match()函数有两个参数:pattern和string。

- pattern:正则表达式的模式字符串。

- string:要被匹配的字符串。

示例代码:

import re

# 匹配数字
match_obj = re.match(r'\d+', '123abc')
if match_obj:
    print('匹配成功')
    print(match_obj.group())
else:
    print('匹配失败')

输出结果:

匹配成功
123

## 2. re.search()

re.search()函数用于在字符串中搜索匹配指定的正则表达式。如果搜索成功,则返回一个匹配对象;否则返回None。re.search()函数有两个参数:pattern和string。

- pattern:正则表达式的模式字符串。

- string:要被搜索的字符串。

示例代码:

import re

# 搜索数字
match_obj = re.search(r'\d+', 'abc123def')
if match_obj:
    print('搜索成功')
    print(match_obj.group())
else:
    print('搜索失败')

输出结果:

搜索成功
123

## 3. re.findall()

re.findall()函数用于从字符串中提取符合指定正则表达式的所有字符串,并以列表的形式返回所有的匹配项。re.findall()有两个参数:pattern和string。

- pattern:正则表达式的模式字符串。

- string:要被搜索的字符串。

示例代码:

import re

# 提取所有数字
matches = re.findall(r'\d+', 'abc123def45')
print(matches)

输出结果:

['123', '45']

## 4. re.sub()

re.sub()函数用于在字符串中使用正则表达式搜索匹配项,并替换为指定的字符串。re.sub()函数有三个参数:pattern、repl、和string。

- pattern:正则表达式的模式字符串。

- repl:替换的字符串。

- string:要被搜索的字符串。

示例代码:

import re

# 替换所有数字
replaced = re.sub(r'\d+', '*数字*', 'abc123def45')
print(replaced)

输出结果:

abc*数字*def*数字*

## 5. re.split()

re.split()函数用于使用正则表达式分隔字符串。re.split()函数有两个参数:pattern和string。

- pattern:正则表达式的模式字符串。

- string:要被分隔的字符串。

示例代码:

import re

# 分隔数字和非数字
splitted = re.split(r'\d+', 'abc123def45')
print(splitted)

输出结果:

['abc', 'def', '']

总结:

正则表达式在Python中应用广泛,re模块提供了一系列函数,可以方便地处理字符串和正则表达式,包括匹配、搜索、提取、替换和分隔。掌握上述函数的用法是学习Python正则表达式的必要基础。