python正则表达式re.match()匹配多个字符方法的实现


Posted in Python onJanuary 27, 2021

1.  *表示匹配任意多个字符   \d*表示匹配任意多个数字字符

import re
 
text = "123h1ello world"
text1 = "123Hello world456"
text2 = "hello world"
 
res = re.match("\d*", text)  
res1 = re.match("\d*", text1)
res2 = re.match("\d*", text2)
 
print(res.group())
print(res1.group())
print(res2.group())

输出结果为

123
123

Process finished with exit code 0

示例2:*

需求:匹配出,一个字符串第一个字母为大小字符,后面都是小写字母并且这些小写字母可有可无

import re
#注意是前一个字符
ret = re.match("[A-Z][a-z]*","M")
print(ret.group())

ret = re.match("[A-Z][a-z]*","AaBcDE")
print(ret.group())

ret = re.match("[A-Z][a-z]*","Aabcdef")
print(ret.group())

#运行结果
M
Aa
Aabcdef

2.  +表示匹配1个或者多个任意字符   \w+表示匹配一个或多个字母,数字或下划线

import re
 
text = "he+llo world"
text1 = "Hello world456"
text2 = "+hello world"
 
res = re.match("\w+", text)
res1 = re.match("\w+", text1)
res2 = re.match("\w+", text2)
 
print(res.group())
print(res1.group())
print(res2)

输出结果为

he
Hello
None

Process finished with exit code 0

示例2:+

需求:匹配出,变量名是否有效

import re
names = ["name1","_name","2_name","__name__"]
for i in names:
  ret = re.match("[a-zA-Z_]+[\w]*",i)
  if ret:
    print("变量名 %s 符合要求" % ret.group())
  else:
    print("变量名 %s 非法" % i)

#运行结果
变量名 name1 符合要求
变量名 _name 符合要求
变量名 2_name 非法
变量名 __name__ 符合要求

3.  ?表示匹配0个或一个字符     \w?表示匹配0或1个字母,数字或下划线

import re
 
text = "he+llo world"
text1 = "Hello world456"
text2 = "+hello world"
 
res = re.match("\w?", text)
res1 = re.match("\w?", text1)
res2 = re.match("\w?", text2)
 
print(res.group())
print(res1.group())
print(res2.group())

输出结果为

h
H

Process finished with exit code 0

示例2:?

需求:匹配出0到99之间的数字

import re

ret = re.match("[1-9]?[0-9]","7")
print(ret.group())

ret = re.match("[1-9]?\d","33")
print(ret.group())

ret = re.match("[1-9]?\d","09")
print(ret.group())

#运行结果
7
33
0 # 这个结果并不是想要的,利用$才能解决

4.  {m}表示匹配m个字符    \d{11}表示匹配11个数字字符

import re
 
text = "he+llo world"
text1 = "Hello world456"
text2 = "hello world"
 
res = re.match("\w{2}", text)
res1 = re.match("\w{3}", text1)
res2 = re.match("\w{4}", text2)
 
print(res.group())
print(res1.group())
print(res2.group())

输出结果为

he
Hel
hell

Process finished with exit code 0

示例2:{m}
需求:匹配出,8到20位的密码,可以是大小写英文字母、数字、下划线

import re
ret = re.match("[a-zA-Z0-9_]{6}","123a3g45678")
print(ret.group())

ret = re.match("[[a-zA-Z0-9_]{8,20}","1ad3123456addfcasdef")
print(ret.group())

#运行结果
123a3g
1ad3123456addfcasdef

5.   {m,n}表示匹配m-n个字符   \w{2,4}表示匹配2-4个字符

import re
 
text = "hello world"
text1 = "Helloworld456"
text2 = "hello world"
 
res = re.match("\w{2,5}", text)
res1 = re.match("\w{6,8}", text1)
res2 = re.match("\w{20,25}", text2)
 
print(res.group())
print(res1.group())
print(res2)

hello
Hellowor
None

Process finished with exit code 0

到此这篇关于python正则表达式re.match()匹配多个字符方法的实现的文章就介绍到这了,更多相关python re.match()匹配字符内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python字典get()方法用法分析
Apr 17 Python
python判断字符串编码的简单实现方法(使用chardet)
Jul 01 Python
深入理解 Python 中的多线程 新手必看
Nov 20 Python
对Python中class和instance以及self的用法详解
Jun 26 Python
Python实现12306火车票抢票系统
Jul 04 Python
python 根据字典的键值进行排序的方法
Jul 24 Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 Python
Pyinstaller 打包exe教程及问题解决
Aug 16 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
详解Python实现进度条的4种方式
Jan 15 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 Python
python 使用多线程创建一个Buffer缓存器的实现思路
Jul 02 Python
python工具快速为音视频自动生成字幕(使用说明)
Jan 27 #Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 27 #Python
Python利用socket模块开发简单的端口扫描工具的实现
Jan 27 #Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 #Python
python利用appium实现手机APP自动化的示例
Jan 26 #Python
python 基于opencv去除图片阴影
Jan 26 #Python
python中用ggplot绘制画图实例讲解
Jan 26 #Python
You might like
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
php面向对象全攻略 (五) 封装性
2009/09/30 PHP
php 中英文语言转换类代码
2011/08/11 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
jQuery操作select的实例代码
2012/06/14 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
javascript入门之window对象【新手必看】
2016/11/22 Javascript
探讨跨域请求资源的几种方式(总结)
2016/12/02 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
2017/06/25 Javascript
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
python实现无证书加密解密实例
2014/10/27 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
Django中Middleware中的函数详解
2019/07/18 Python
python模拟实现斗地主发牌
2020/01/07 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
护士自荐信范文
2013/12/15 职场文书
艺术设计专业个人求职信
2014/04/10 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
个人买房协议书范本
2014/10/06 职场文书
毕业横幅标语
2014/10/08 职场文书
会计稽核岗位职责
2015/04/13 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL