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查询sqlite数据表的方法
May 08 Python
Python如何import文件夹下的文件(实现方法)
Jan 24 Python
Tornado协程在python2.7如何返回值(实现方法)
Jun 22 Python
Windows下安装Django框架的方法简明教程
Mar 28 Python
Python3实现腾讯云OCR识别
Nov 27 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
解决python3 requests headers参数不能有中文的问题
Aug 21 Python
python中web框架的自定义创建
Sep 08 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
Jan 02 Python
在django中查询获取数据,get, filter,all(),values()操作
Aug 09 Python
baselines示例程序train_cartpole.py的ImportError
May 20 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
php4的session功能评述(三)
2006/10/09 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
JS功能代码集锦
2016/05/04 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
vue动态绘制四分之三圆环图效果
2019/09/03 Javascript
JS面向对象之单选框实现
2020/01/17 Javascript
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
介绍一下linux的文件权限
2014/07/20 面试题
实习班主任自我评价
2015/03/11 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
python异步的ASGI与Fast Api实现
2021/07/16 Python
Python字符串常规操作小结
2022/04/03 Python