• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Python基础库-正则表达式库

武飞扬头像
度假的小鱼
帮助1


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

常用的元字符和语法

元字符 功能 描述
. 任意字符 除换行外的任意字符
\ 转义符 转义符的作用就是使元字符无效;如.表示任意非换行字符,而 \。(英文点) 就表示普通小数点
\d 单个数字字符 \d等效于0-9
\D 单个非数字字符 \D等效除了0-9之外的任意字符,等效[^0-9]
\s 空白字符 空白字符包含空格、回车\r、换行\n、制表\t、换页\f
\S 非空白字符 \S 表示不包含空格字符的字符串
\w 单词字符 单词字符包括大小写字母、数字、下划线,不包括空格、$、#等
\W 非单词字符 非\w所包含的字符
* 任意多个 表示0或者多个前面的字符
一个或者多个 表示1个或者多个前面的字符
1个或者0个 表示0个或1个前面的字符
{m} 出现指定次数 表示m个前面的字符
{mn} 指定出现次数的范围 表示m到n个前面的字符
^ 开头 表示输入的的第一个字符
$ 结尾 表示字符串的结尾字符

未完待续

这篇好文章是转载于:编程之路

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 编程之路
  • 本文地址: /boutique/detail/tanhhahfic
系列文章
更多 icon
同类精品
更多 icon
继续加载