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

Python中10个最常用的正则表达式函数

发布时间:2023-06-25 11:23:31

正则表达式(Regular Expression)是一种强大的字符串处理工具,可以用来匹配、搜索、替换字符串等。Python提供了re模块来处理正则表达式,其中包含了许多常用的正则表达式函数。

下面介绍Python中10个最常用的正则表达式函数:

1. re.match(pattern, string, flags=0)

该函数用来匹配字符串的开头是否符合正则表达式规则。如果符合,返回一个匹配的对象,否则返回None。

参数说明:

- pattern:正则表达式;

- string:要匹配的字符串;

- flags:可选参数,用于指定匹配模式。

示例代码:

import re

# 匹配一个以字母a开头的字符串
str_pattern = r'^a.*'
string = 'apple'

match_obj = re.match(str_pattern, string)

if match_obj:
    print('匹配成功!')
else:
    print('匹配失败!')

以上代码输出结果为“匹配成功!”。

2. re.search(pattern, string, flags=0)

该函数用来在字符串中查找 个匹配项。如果找到了,返回一个匹配的对象,否则返回None。

参数说明和示例代码同re.match()函数。

3. re.findall(pattern, string, flags=0)

该函数用来查找字符串中所有符合正则表达式规则的子串,并返回一个列表。

参数说明和示例代码同re.match()函数。

4. re.sub(pattern, repl, string, count=0, flags=0)

该函数用来在字符串中替换符合正则表达式规则的子串为指定的字符串。

参数说明:

- pattern:正则表达式;

- repl:用来替换匹配的字符串;

- string:要替换的字符串;

- count:替换次数,默认是0,表示全部替换;

- flags:可选参数,用于指定匹配模式。

示例代码:

import re

# 将所有的数字替换为问号
str_pattern = r'\d'
string = '1234abcd'

result = re.sub(str_pattern, '?', string)

print(result)

以上代码输出结果为“????abcd”。

5. re.split(pattern, string, maxsplit=0, flags=0)

该函数用来根据正则表达式规则将字符串分为列表,并返回该列表。

参数说明:

- pattern:正则表达式;

- string:要分割的字符串;

- maxsplit:可选参数,用于指定最大分割数,缺省为0,表示全部分割;

- flags:可选参数,用于指定匹配模式。

示例代码:

import re

# 根据空格分割字符串
str_pattern = r'\s+'
string = 'Hello world!'

result = re.split(str_pattern, string)

print(result)

以上代码输出结果为“['Hello', 'world!']”。

6. re.compile(pattern, flags=0)

该函数用来对正则表达式进行编译,生成一个正则表达式对象。

参数说明:

- pattern:正则表达式;

- flags:可选参数,用于指定匹配模式。

示例代码:

import re

# 编译一个匹配字母的正则表达式
str_pattern = r'[a-z]+'
pattern_obj = re.compile(str_pattern)

string = 'abcDEF'

match_obj = pattern_obj.match(string)

if match_obj:
    print('匹配成功!')
else:
    print('匹配失败!')

以上代码输出结果为“匹配成功!”。

7. re.fullmatch(pattern, string, flags=0)

该函数用来匹配整个字符串是否符合正则表达式规则。如果符合,返回一个匹配的对象,否则返回None。

参数说明和示例代码同re.match()函数。

8. re.escape(pattern)

该函数用来将正则表达式中的特殊字符转义。

示例代码:

import re

# 转义一个字符串中的特殊字符
string = r'.*?\()[]{}|^$+'
escaped_string = re.escape(string)

print(escaped_string)

以上代码输出结果为“\\.\\*\\?\\\\\\(\\)\\[\\]\\{\\}\\|\\^\\$\\+”。

9. re.finditer(pattern, string, flags=0)

该函数用来在字符串中查找所有符合正则表达式规则的子串,并返回一个可迭代的迭代器。

参数说明和示例代码同re.match()函数。

10. re.subn(pattern, repl, string, count=0, flags=0)

该函数用来在字符串中替换符合正则表达式规则的子串为指定的字符串,并返回包含(替换后的字符串,替换次数)的元组。

参数说明和示例代码同re.sub()函数。

以上就是Python中10个最常用的正则表达式函数,掌握了这些函数可以帮助我们更好地使用正则表达式处理字符串。