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查询mysql中文乱码问题
Nov 09 Python
python使用post提交数据到远程url的方法
Apr 29 Python
独特的python循环语句
Nov 20 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
Jun 21 Python
python程序 创建多线程过程详解
Sep 23 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
Dec 25 Python
python对文件的操作方法汇总
Feb 28 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 Python
Django REST 异常处理详解
Jul 15 Python
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
Apr 27 Python
Django+Nginx+uWSGI 定时任务的实现方法
Jan 22 Python
移除Selenium中window.navigator.webdriver值
Jun 10 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实现的连贯操作、链式操作实例
2014/07/08 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
2016/11/29 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
node中使用es5/6以及支持性与性能对比
2017/08/11 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
python调用其他文件函数或类的示例
2019/07/16 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
原装进口全世界:天猫国际
2016/08/03 全球购物
购买一个高级域名:BuyDomains
2018/03/11 全球购物
网站域名和主机:Domain.com
2019/04/01 全球购物
个人租房协议书样本
2014/10/01 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书
MySQL中连接查询和子查询的问题
2021/09/04 MySQL