轻松掌握正则魔法:一招学会a或b的表达式技巧

正则表达式(Regular Expression),简称 regex,是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式(规则)的文本。简单来说,正则表达式就是使用:字符串定义规则,并通过规则去验证字符串是否匹配。
一、正则表达式的三个基础方法
Python 正则表达式,使用
re
模块,并基于
re
模块中三个基础方法来做正则匹配。分别是:
match
:从头匹配
search
:匹配规则,被匹配字符串
findall
:匹配规则,被匹配字符串
1. match
re.match(匹配规则,被匹配字符串)
从被匹配字符串开头进行匹配,匹配成功返回匹配对象。
import re

pattern = r’^[a-zA-Z]+$’
string = ‘Hello’

result = re.match(pattern, string)

if result:
print(‘匹配成功’)
else:
print(‘匹配失败’)
2. search
re.search(匹配规则,被匹配字符串)
在被匹配字符串中查找匹配项,匹配成功返回匹配对象。
import re

pattern = r’\b\w{4}\b’
string = ‘Hello, world!’

result = re.search(pattern, string)

if result:
print(‘匹配成功:’, result.group())
else:
print(‘匹配失败’)
3. findall
re.findall(匹配规则,被匹配字符串)
在被匹配字符串中查找所有匹配项,返回一个列表。
import re

pattern = r’\b\w{4}\b’
string = ‘Hello, world! This is a test.’

result = re.findall(pattern, string)

print(‘匹配成功:’, result)
二、元字符匹配
单字符匹配
.
:匹配除换行符以外的任意字符
^
:匹配字符串开头
$
:匹配字符串结尾
数量匹配
*
:匹配前面的子表达式零次或多次
+
:匹配前面的子表达式一次或多次
?
:匹配前面的子表达式零次或一次
边界匹配
\b
:匹配单词边界
\B
:匹配非单词边界
分组匹配
()
:标记一个子表达式的开始和结束位置,子表达式可以获取供以后使用
import re

pattern = r'(\d+)\s+(\w+)’
string = ‘I have 3 apples and 2 oranges.’

result = re.findall(pattern, string)

print(‘匹配成功:’, result)
三、案例
import re

# 验证电子邮箱
pattern = r’^[w-]+@[w-]+\.[w-]+$’
string = ‘example@example.com’

result = re.match(pattern, string)

if result:
print(‘匹配成功:’, result.group())
else:
print(‘匹配失败’)
通过以上案例,我们可以看到正则表达式的强大功能。在实际开发中,正则表达式经常用于数据验证、文本解析、搜索引擎等场景。
总结:正则表达式是一种强大的文本处理工具,熟练掌握正则表达式可以大大提高工作效率。在 Python 中,我们可以使用
re
模块来处理正则表达式,其中
match
、
search
、
findall
等方法可以帮助我们完成各种复杂的文本处理任务。