Python re模块

Python re模块

Python re模块

在Python中,re模块是用来进行正则表达式操作的模块。正则表达式是一种强大的字符串匹配工具,可以用来检索、替换、截取字符串等。re模块提供了丰富的方法和函数来帮助我们使用正则表达式进行字符串操作。

re模块常用函数

1. re.match()

re.match()函数用于从字符串的起始位置匹配一个模式,如果匹配成功则返回一个匹配对象,否则返回None。

import re

pattern = r'hello'
string = 'hello world'

match_result = re.match(pattern, string)
if match_result:
    print("Matched!")
else:
    print("Not matched.")
Python

运行结果:

Matched!
Python

2. re.search()

re.search()函数用于在字符串中搜索并返回第一个匹配的子串,如果匹配成功则返回一个匹配对象,否则返回None。

import re

pattern = r'world'
string = 'hello world'

search_result = re.search(pattern, string)
if search_result:
    print("Matched!")
else:
    print("Not matched.")
Python

运行结果:

Matched!
Python

3. re.findall()

re.findall()函数用于在字符串中找到所有匹配正则表达式的子串,并以列表的形式返回。

import re

pattern = r'\d+'
string = '123abc456def789ghi'

findall_result = re.findall(pattern, string)
print(findall_result)
Python

运行结果:

['123', '456', '789']
Python

4. re.sub()

re.sub()函数用于替换字符串中与正则表达式匹配的子串。

import re

pattern = r'\d+'
string = '123abc456def789ghi'

sub_result = re.sub(pattern, '***', string)
print(sub_result)
Python

运行结果:

***abc***def***ghi
Python

5. re.split()

re.split()函数用于根据正则表达式匹配的子串对字符串进行分割,并返回分割后的列表。

import re

pattern = r'\d+'
string = '123abc456def789ghi'

split_result = re.split(pattern, string)
print(split_result)
Python

运行结果:

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

匹配规则

在使用re模块时,我们需要掌握一些常用的匹配规则符号:

  • .:匹配除换行符外的任意字符。
  • ^:匹配字符串的开头。
  • $:匹配字符串的结尾。
  • *:匹配0个或多个前面的字符。
  • +:匹配1个或多个前面的字符。
  • ?:匹配0个或1个前面的字符。
  • {n}:匹配n个前面的字符。
  • []:匹配方括号内的任意一个字符。
  • |:或操作,匹配两者中的一个。
  • \:转义符号,使其后面的字符失去特殊含义。

示例

下面我们通过几个示例来演示使用re模块进行正则表达式操作:

示例1:匹配邮箱地址

import re

pattern = r'\w+@\w+\.[a-z]+'
string = 'Email address: hello@example.com'

match_result = re.search(pattern, string)
if match_result:
    print("Matched email address:", match_result.group())
else:
    print("Not matched.")
Python

运行结果:

Matched email address: hello@example.com
Python

示例2:替换所有数字为*

import re

pattern = r'\d+'
string = '123abc456def789ghi'

sub_result = re.sub(pattern, '*', string)
print("Substituted string:", sub_result)
Python

运行结果:

Substituted string: ***abc***def***ghi
Python

示例3:分割句子

import re

pattern = r'[.!?]'
string = 'Hello world! How are you? I am fine.'

split_result = re.split(pattern, string)
print("Split sentences:", split_result)
Python

运行结果:

Split sentences: ['Hello world', ' How are you', ' I am fine', '']
Python

总结

本文介绍了Python中re模块的基本用法和常用函数,希望能够帮助读者更好地理解和使用正则表达式。通过学习和掌握re模块,可以提高字符串处理的效率和灵活性。在实际开发中,正则表达式是一项非常重要的技能,值得我们深入学习和掌握。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册