Python基础库-正则表达式库

简介: 学习了解Python基础库-正则表达式库。

文章目录


1.正则表达式

1.1正则表达概述

1.2正则表达式库

1.3一个简单的例子:检查用户输入的邮箱地址是否合法

2.正则表达式-原子

3.正则表达式-元字符和语法


1.正则表达式


1.1正则表达概述


正则表达式,又称规则表达式**,**(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。


正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。


现代编程语言基本内嵌了正则表达式的库,如per、python也不例外。虽然各种语言和库的定义的正则表达式的语法规则会有所不同,但基本内容是相同的。


1.2正则表达式库


Python 虽然自带正则表达式库re,但是该库不是自动加载进内存中的,需要使用下面的语句来引入

import re


正则表达式的基础是匹配,匹配操作有两个,一个是规则,另一个是输入字符串在匹配的基础上可以进行替换、检索等操作。


1.3一个简单的例子:检查用户输入的邮箱地址是否合法

一个简单的例子:检查用户输入的邮箱地址是否合法,合法的邮箱地址应该符合下面的格式
主机名
# 引入正则表达式库
import re
# 定义函数
def valid_email_address(addr):
    result = re.match(r"^[a-zA-z0-9]+@[a-zA-z0-9]+(\.[a-zA-z0-9]+)*$", addr)
    # 匹配成功
    if result is not None:
        print("[%s] is a valid email address" % addr)
    # 匹配失败
    else:
        print("[%s] is NOT a valid email address" % addr)
valid_email_address("name")
valid_email_address("name@")
valid_email_address("name@126.com")
执行结果:
"D:\Program Files1\Python\python.exe" D:/Pycharm-work/pythonTest/正则/验证邮箱.py
[name] is NOT a valid email address
[name@] is NOT a valid email address
[name@126.com] is a valid email address
Process finished with exit code 0

2.正则表达式-原子


原子是正则表达式中最基本的组成单位,每个正则表达式中至少要包含一个原子。常见的原子类型有:


1.普通字符作为原子 : 如 az、AZ、0~9 等

2.非打印字符作为原子:如 \f \n \r \t \v \cx

3.通用字符作为原子:\d \D \w \W \s \S

4.原子表:自定义原子表([])作为原子:如:’/[apj]sp/’ ’/[^apj]sp/’

5.一些特殊字符和转义后元字符作为原子:

所有标点符号,但语句特殊意义的符号需要转义后才可作为原子,如:\” \’ * + ? . 等


3.正则表达式-元字符和语法


在正则表达式中,定义了一些元字符。这些字符一般用来匹配一组字符,如果希望匹配0-9这10个数字字符,那么便可以用元字符\d。元字符一般是以\开头,后面在跟着一个字符。另外有些语法是描述某个或某组字符出现的频率的,例如。如果认为某个字段是可选的,则可以指定其出现的频率是0或者是1


常用的元字符和语法

image.png



相关文章
|
10天前
|
XML JSON 数据库
Python的标准库
Python的标准库
125 77
|
11天前
|
XML JSON 数据库
Python的标准库
Python的标准库
39 11
|
24天前
|
人工智能 API 开发工具
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
吴恩达发布的开源Python库aisuite,提供了一个统一的接口来调用多个大型语言模型(LLM)服务。支持包括OpenAI、Anthropic、Azure等在内的11个模型平台,简化了多模型管理和测试的工作,促进了人工智能技术的应用和发展。
97 1
aisuite:吴恩达发布开源Python库,一个接口调用多个大模型
|
11天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
54 8
|
19天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
29 4
Python 内置正则表达式库re的使用
正则表达式是记录文本规则的代码,用于查找和处理符合特定规则的字符串。在Python中,常通过原生字符串`r'string'`表示。使用`re.compile()`创建正则对象,便于多次使用。匹配字符串有`match()`(从开头匹配)、`search()`(搜索首个匹配)和`findall()`(找所有匹配)。替换字符串用`sub()`,分割字符串则用`split()`。
|
6月前
|
数据库 Python
Python网络数据抓取(8):正则表达式
Python网络数据抓取(8):正则表达式
64 2
|
6月前
|
自然语言处理 JavaScript 前端开发
Python高级语法与正则表达式(二)
正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
|
6月前
|
安全 算法 Python
Python高级语法与正则表达式(一)
Python提供了 with 语句的写法,既简单又安全。 文件操作的时候使用with语句可以自动调用关闭文件操作,即使出现异常也会自动关闭文件操作。
|
6月前
|
Python
Python使用正则表达式分割字符串
在Python中,你可以使用re模块的split()函数来根据正则表达式分割字符串。这个函数的工作原理类似于Python内置的str.split()方法,但它允许你使用正则表达式作为分隔符。