iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中re模块:匹配开头/结尾(^/$)
  • 780
分享到

Python中re模块:匹配开头/结尾(^/$)

2024-04-02 19:04:59 780人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录匹配开头结尾示例1:$匹配分组示例1:|示例2:( )示例三:分组匹配匹配开头结尾 字符功能^匹配字符串开头$匹配字符串结尾 示例1:$ 需求:匹配163.com的邮箱地址 em

匹配开头结尾

字符功能
^匹配字符串开头
$匹配字符串结尾

示例1:$

需求:匹配163.com的邮箱地址

email_list = [ " xiaoWang@163.com " , " xiaoWang@163.comh eihei" , ". com.xiaowang@qq.com " ]

for email in email_list:
    ret = re.match("[\w]{4,20}@163\.com$", email) \.代表只是一个点 $代表以xxx结尾的字符串
    if ret:
        print("%s ---是符合规定的邮件地址” % email)
    else:
        print("%s ---不符合要求" % email)

运行结果:

xiaoWang@163.com            # ---是符合规定的邮件地址
xiaoWang@163.comheihei      # ---不符合要求   # 如果没有$,这个字符串会匹配出来
.com.xiaowang@qq.com        # ---不符合要求

匹配分组

字符功能
|匹配左右任意一个表达式
(ab)将括号中字符作为一个分组
\num引用分组num匹配到的字符串
(?P<name>)分组起别名
(?P=name)引用别名为name分组匹配到的字符串

示例1:|

需求:匹配出0-100之间的数字

#coding=utf-8
import re
 
ret = re.match("[1-9]?\d","8”) # ?匹配前面的字符出现1次或者0次 类似78也可以匹配
print(ret.group())  
# 结果:8
# 可能匹配不成功时?
 import re
 
ret = re.match("[1-9]?\d$","08")
if ret:
    print(ret.group())
else:
    print("不在0-100之间”)           
# 结果:不在0-100之间

# 添加|

import re
ret = re.match("[1-9]?\d$|100","78")
print(ret.group())                           
# 结果: 78
 
ret = re.match("[1-9]?\d$|100","100")
print(ret.group())                         
# 结果: 100

示例2:( )

需求:匹配出163、126、qq邮箱

#coding=utf-8
import re

ret = re.match("\w{4,20}@163\.com", "test@163.com”)  
print(ret.group())                               
# 结果: test@163.com
ret = re.match("\w{4,20}@(163|126|qq)\.com", "test@gmail.com")
if ret:
    print(ret.group())
else:
    print("不是163、126、qq邮箱")                  
# 结果: 不是163、126、qq邮箱

需求:不是以4、7结尾的手机号码(11位)

import re
tels = ["13100001234", "18912344321", "10086", "18800007777"]
 
for tel in tels:
    ret = re.match("1\d{9}[0-3,5-6,8-9]", tel)
    if ret:
        print(ret.group())
    else:
        print("%s 不是想要的手机号" % tel)

结果如下:

13100001234 不是想要的手机号
18912344321
10086 不是想要的手机号
18800007777 不是想要的手机号

示例三:分组匹配

需求:提取区号和电话号码

import re
ret = re.match("([^-]*)-(\d+)", "010-12345678") 
print(ret.group())
print(ret.group(1))
print(ret.group(2))

结果如下:

010-12345678
010
12345678

^在[ ]里面代表非的含义:

例如:

  • [^-]*   *代表前所有字符0个或者多个,非-的字符串
  • [^abc]  代表非a、且非b 、且非c的字符

 到此这篇关于python中re模块:匹配开头/结尾(^/$)的文章就介绍到这了,更多相关Python 匹配开头/结尾 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中re模块:匹配开头/结尾(^/$)

本文链接: https://www.lsjlt.com/news/120074.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中re模块:匹配开头/结尾(^/$)
    目录匹配开头结尾示例1:$匹配分组示例1:|示例2:( )示例三:分组匹配匹配开头结尾 字符功能^匹配字符串开头$匹配字符串结尾 示例1:$ 需求:匹配163.com的邮箱地址 em...
    99+
    2022-11-11
  • python3 re模块正则匹配字符串中
    匹配时间: # -*- coding:utf-8 -*- import re def parseDate(l): patternForTime = r'(\d{4}[\D]\d{1,2}[\D]\d{1,2}[\D])' ...
    99+
    2023-01-31
    正则 字符串 模块
  • C#怎么匹配以m开头以e结尾的单词
    今天小编给大家分享一下C#怎么匹配以m开头以e结尾的单词的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。实例 usi...
    99+
    2023-06-17
  • Python学习教程:在字符串的开头和结尾处做文本匹配
    Python学习教程:在字符串的开头和结尾处做文本匹配我们需要在字符串的开头和结尾处按照指定的文本模式做检查,例如检查文件的扩展名、URL协议类型等。...
    99+
    2023-06-02
  • Python中re模块的常用方法总结
    前言 正则表达式作为计算机科学的一个概念,通常被用来检索、替换那些符合某个规则的文本。正则表达式是对字符串操作的一种逻辑公式,用事先定义好的规则字符串对字符串进行过滤逻辑处理。 re...
    99+
    2022-11-12
  • Python中re模块的元字符使用小结
    目录类别1:匹配单个字符的元字符方括号( [] ) 字符集点 ( . ) 通配符\w 和 \W 单词字符匹配\d 和 \D 字符十进制数字匹配\s 和 \S 字符空格匹配混合使用 \...
    99+
    2022-11-10
  • Python中re模块常用方法总结分析
    re.findall() 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 语法格式: re.findall(pattern, stri...
    99+
    2022-11-12
  • Python如何获取指定开头指定结尾所夹中间内容
    本篇内容介绍了“Python如何获取指定开头指定结尾所夹中间内容”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需求获取文章中指定开头、指定结...
    99+
    2023-07-05
  • python如何通过正则匹配指定字符开头与结束提取中间内容
    目录一、提取包含始末字符二、不包含始末字符串三、.*和.+正则提取的区别四、起始有无^的区别五、pandas对具体列的内容通过正则表达式进行数据提取六、遇到的报错参考文章:一、提取包...
    99+
    2023-02-20
    python正则匹配提取中间内容 python正则匹配字符开头 python正则匹配
  • python怎么通过正则匹配指定字符开头与结束提取中间内容
    本文小编为大家详细介绍“python怎么通过正则匹配指定字符开头与结束提取中间内容”,内容详细,步骤清晰,细节处理妥当,希望这篇“python怎么通过正则匹配指定字符开头与结束提取中间内容”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作