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

正则表达式 - re模块的基本操作和常用函数

发布时间:2023-06-30 10:18:37

正则表达式是一个强大的文本处理工具,可以用于在字符串中进行匹配和搜索操作。Python中内置了re模块,提供了对正则表达式的支持。下面是re模块的基本操作和常用函数的介绍。

1. 导入re模块

要使用re模块,首先需要导入它。可以使用以下代码导入re模块:

import re

2. 查找匹配

re模块的核心函数是search()函数,它可以在字符串中查找与正则表达式匹配的内容。search()函数的用法如下:

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

- pattern:要查找的正则表达式模式

- string:要在其中查找的字符串

- flags:可选参数,用于控制匹配的方式,比如不区分大小写等

search()函数会返回一个Match对象,可以使用group()方法获取匹配的内容。

示例代码:

import re

string = 'abc def ghi'
pattern = r'def'
result = re.search(pattern, string)
if result:
    print(result.group())

输出结果:

def

3. 切分字符串

re模块的split()函数可以根据正则表达式模式将字符串拆分为多个子字符串。split()函数的用法如下:

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

- pattern:用于拆分字符串的正则表达式模式

- string:要拆分的字符串

- maxsplit:可选参数,指定最大拆分次数,超过次数后不再拆分

- flags:可选参数,用于控制拆分的方式,比如不区分大小写等

示例代码:

import re

string = 'abc def ghi'
pattern = r'\s'
result = re.split(pattern, string)
print(result)

输出结果:

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

4. 替换字符串

re模块的sub()函数可以根据正则表达式模式替换字符串中的匹配内容。sub()函数的用法如下:

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

- pattern:用于匹配要替换的字符串的正则表达式模式

- repl:用于替换的字符串

- string:要进行替换的字符串

- count:可选参数,指定最大替换次数,超过次数后不再替换

- flags:可选参数,用于控制匹配的方式,比如不区分大小写等

示例代码:

import re

string = 'abc def ghi'
pattern = r'def'
repl = 'xyz'
result = re.sub(pattern, repl, string)
print(result)

输出结果:

abc xyz ghi

5. 匹配多个字符串

re模块的findall()函数可以匹配字符串中所有与正则表达式模式匹配的内容,并以列表形式返回。findall()函数的用法如下:

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

- pattern:用于匹配的正则表达式模式

- string:要进行匹配的字符串

- flags:可选参数,用于控制匹配的方式,比如不区分大小写等

示例代码:

import re

string = 'abc def ghi'
pattern = r'\b\w+\b'
result = re.findall(pattern, string)
print(result)

输出结果:

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

以上是re模块的基本操作和常用函数的介绍,希望对你理解正则表达式的使用有所帮助。