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类参数self使用示例
Feb 17 Python
Python创建xml文件示例
Mar 22 Python
Python Json序列化与反序列化的示例
Jan 31 Python
pandas数值计算与排序方法
Apr 12 Python
pandas 按照特定顺序输出的实现代码
Jul 10 Python
Python函数参数操作详解
Aug 03 Python
使用Python编写Prometheus监控的方法
Oct 15 Python
python 二维数组90度旋转的方法
Jan 28 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
Jun 17 Python
用Python生成HTML表格的方法示例
Mar 06 Python
Python基于内置函数type创建新类型
Oct 22 Python
Python进度条的使用
May 17 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
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
php文件系统处理方法小结
2016/05/23 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
JQuery AJAX提交中文乱码的解决方案
2010/07/02 Javascript
Node.js数据库操作之连接MySQL数据库(一)
2017/03/04 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
vue2.0 如何在hash模式下实现微信分享
2019/01/22 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
微信小程序组件传值图示过程详解
2019/07/31 Javascript
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
python按修改时间顺序排列文件的实例代码
2019/07/25 Python
Python中itertools的用法详解
2020/02/07 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
Ajax主要包含了哪些技术
2014/06/12 面试题
给老婆的搞笑检讨书
2014/01/12 职场文书
年度考核自我评价
2014/01/25 职场文书
五年级语文教学反思
2014/01/30 职场文书
教师网络培训感言
2014/03/09 职场文书
预备党员的自我评价
2014/03/12 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js