博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
re匹配语法-match、search和findall
阅读量:4568 次
发布时间:2019-06-08

本文共 1372 字,大约阅读时间需要 4 分钟。

1.re.match() 匹配第一个值

列表里的值可以有多个范围,有一个符合就可以。

match只匹配第一个值,所以列表里的范围是第一个值得取值范围。如果第一个值被设定好且存在,那么列表的取值范围变为第二个,match返回的值会变成第一个和第二个。

有些内容首字符是固定的,比如手机号等。match的作用就是查看文件中的一些固定的字符是否出错或者获得文件中首个字符(没有指定首字符的情况下)。

import redate = "5M345bc"print(re.match("5[0-9]","345bc"))print(re.match("[a-z,A-Z,0-9]",date))

 

2.re.search()  

search 需要在取值范围后加上长度限定,否则和match一样,只会取符合条件的第一个值。

search是全局搜索,符合条件就返回,match是从第一个搜索。

search返回的是一个字符串,长度为花括号里的设定。

search从全局返回的是第一个符合条件的值,那么怎么才能返回所有符合条件的值?

import re
print(re.search("[a-z]{4}","345789abdc"))

  

print(re.search("3[0-9]{5}","345789abdc"))       #花括号里的是返回值的最大个数,不能超过总长度。 print(re.search("[a-z,A-Z,0-9]{8}","345789abcd"))

 

3.findall()  返回所有符合条件的值。

search只返回花括号里设定长度的值的字符串,不设定长度就只返回一个字符,和match一样,只是search是全局。

findall 返回一个列表,里面的值可根据花括号里面的长度分离开来,成为列表中的一个一个元素。

import reprint(re.match("[0-9]","345789abdc"))print(re.search("[a-z]{2}","345789abdc"))print(re.search("[a-z,A-Z,0-9]{4}","345789abcd"))print(re.findall("[a-z]{2}","345789abdc"))print(re.findall("[a-z,A-Z,0-9]{4}","345789abcd"))# <_sre.SRE_Match object; span=(0, 1), match='3'># <_sre.SRE_Match object; span=(6, 8), match='ab'># <_sre.SRE_Match object; span=(0, 4), match='3457'># ['ab', 'dc']# ['3457', '89ab']

 

如何拿到search里面match的值

利用group()方法,首先得判断返回值是否是None

res1 = re.search("[a-z,A-Z,0-9]","345789abcd")if res1 :    print(res1.group())

  

  

转载于:https://www.cnblogs.com/Roc-Atlantis/p/8891483.html

你可能感兴趣的文章
debian安vs_如何在Debian 10 Linux上安装和使用Docker
查看>>
jdbc mysql 5.05_JDBC 连接 MySQL 时碰到的小坑
查看>>
rancher部署mysql怎么挂在卷轴_Rancher部署mysql8
查看>>
java_home没有定义_“错误:JAVA_HOME没有正确定义.”在构建Jikes rvm
查看>>
python canvas画移动物体_tkinter – 用于画布对象python的动画移动的方法
查看>>
java 连接 rac_JAVA 连接 ORACLE RAC 字符串
查看>>
java面试题 网络编程_java面试题《三、网络编程》
查看>>
java布尔矩阵程序_Java编程学习摘要(2)语法基础
查看>>
java no wait_即使队列在activemq中不为空,JMS实现中的receiveNoWait也返回null
查看>>
java定义player类_简易扑克牌游戏 定义了Constants、Main、Player、Poker四个类
查看>>
java方法重载例题_Java方法重载实现原理及代码实例
查看>>
java 字符串 包含 次数_用JAVA写查询一个字符串中是否包含另外一个字符串以及出现的次数...
查看>>
java jvm arg_java – Ant,jvmarg,系统属性和引号
查看>>
karp算法Java_Java – 具有Held和Karp算法的旅行推销员
查看>>
Session共享问题---理论
查看>>
Redis键的基本操作
查看>>
redis的安装---Linux
查看>>
Redis过期命令
查看>>
Redis键的序列化和反序列化
查看>>
redis键的迁移操作
查看>>