常用正则表达式RE(慕课网_Meshare_huang)
import re str1 = 'imooc python'
# str1.find('l1') 输出: -1
# str1.find('imooc') 0 # str1.startswith('imooc') True pa = re.compile(r'imooc') #加个r 代表是个原字符串
# pa = re.compile('imooc\n') \n会转译成一个换行符 # type: _sre.SRE_Pattern pa.match(str1)
ma = pa.match(str1)
# ma.span() (0, 5)
# ma.group() 'imooc' # ma.string 'imooc python'
# ma.re re.compile(r'imooc', re.UNICODE) pa1 = re.compile(r'_')
ma1 = pa1.match('_value')
# ma1.group <function SRE_Match.group> # pa re.compile(r'imooc', re.UNICODE) ma = pa.match('imooc python')
# ma.group() 'imooc' # pa = pa.match('imoOc python', re.I)
# type(pa) NoneType pa = re.compile(r'(imooc)', re.I) #组 大写的i
ma = pa.match(str1)
# ma.group() 'imooc'
# ma.groups() ('imooc',) # ma = re.match(r'imooc', str1)
# ma <_sre.SRE_Match object; span=(0, 5), match='imooc'>
# ma.group() 'imooc'
语法
# . 匹配任意字符 除了\n
# ma = re.match(r'a', 'a')
# ma.group() 'a' # ma = re.match(r'.', 'b')
# ma.group() 'b' # ma = re.match(r'.', '0')
# ma.group() '0' # ma = re.match(r'{.}', '{a}')
# ma.group() '{a}' # ma = re.match(r'{..}', '{a0}')
# ma.group() '{a0}' # [...] 匹配字符集
# ma = re.match(r'{[abc]}', '{a}')
# ma.group() '{a}' # ma = re.match(r'{[abc]}', '{d}')
# ma.group() AttributeError: 'NoneType' object has no attribute 'group' # ma = re.match(r'{[a-z]}', '{d}')
# ma.group() '{d}' # ma = re.match(r'{[a-zA-Z]}', '{D}')
# ma.group() '{D}' # ma = re.match(r'{[a-zA-Z0-9]}', '{9}')
# ma.group() '{9}' # ma = re.match(r'{[\w]}', '{0}')
# ma.group() '{0}' # ma = re.match(r'{[\w]}', '{ }')
# ma.group() AttributeError: 'NoneType' object has no attribute 'group' # ma = re.match(r'{[\W]}', '{ }')
# ma.group() '{ }' # ma = re.match(r'{[[\w]]}', '[0]')
# ma.group() AttributeError: # ma = re.match(r'\[[\w]\]', '[0]') 要加转译字符
# ma.group() '[0]'
import re # ma = re.match(r'[A-Z][a-z]', 'Aa')
# ma.group() 'Aa' # ma = re.match(r'[A-Z][a-z]*', 'A')
# ma.group() 'A' # ma = re.match(r'[A-Z][a-z]*', 'AdsfafeadcxAe') 如果出现数字是匹配不上的
# ma.group() 'Adsfafeadcx' # _ = 10
# _ 10 # ma = re.match(r'[0-9]?[0-9]', '90')
# ma.group() '90' # ma = re.match(r'[0-9]?[0-9]', '9')
# ma.group() '9' # ma = re.match(r'[0-9]?[0-9]', '09')
# ma.group() '09' # ma = re.match(r'[a-zA-Z0-9]{6}', 'abc123')
# ma.group() 'abc123' # ma = re.match(r'[a-zA-Z0-9]', 'abc123')
# ma.group() 'a' # ma = re.match(r'[a-zA-Z0-9]{6}', 'abc123__')
# ma.group() 'abc123' # ma = re.match(r'[a-zA-Z0-9]{6}@163.com', 'abc123@163.com')
# ma.group() 'abc123@163.com' # ma = re.match(r'[a-zA-Z0-9]{6, 10}@163.com', 'imoocedu@163.com')
# ma.group() AttributeError: 'NoneType' object has no attribute 'group' # ma = re.match(r'[0-9][a-z]*?', '1bc')
# ma.group() '1' # ma = re.match(r'[a-zA-Z0-9]+?', '1bc')
# ma.group() '1'
# ma = re.match(r'\Aimooc[\w]', 'imoocpython') 边界匹配 # ma.group() 'imoocp'
# ma = re.match(r'abc|d', 'abc')
# ma.group() 'abc' # ma = re.match(r'[1-9]?\d$', '9')
# ma.group() '9' # ma = re.match(r'[1-9]?\d|100$', '100')
# ma.group() '10' # ma = re.match(r'[1-9]?\d|100$', '99')
# ma.group() '99' # ma = re.match(r'[1-9]?\d|100$', '9')
# ma.group() '9' # ma = re.match(r'[\w]{4, 6}@(163|126).com', 'imooc@163.com')
# ma.group() AttributeError: 'NoneType' object has no attribute 'group' # ma = re.match(r'[\w]{4, 6}@(163|126).com', 'imooc@126.com')
# ma.group() AttributeError: 'NoneType' object has no attribute 'group' # ma = re.match(r'<[\w]+>', '<book>')
# ma.group() '<book>' # ma = re.match(r'<([\w]+>)', '<book>')
# ma.group() '<book>' # ma = re.match(r'<([\w]+>)\1', '<book>')
# ma.group() AttributeError: 'NoneType' object has no attribute 'group' # ma = re.match(r'<([\w]+>)\1', '<book>book>')
# ma.group() '<book>book>' # ma = re.match(r'<([\w]>)[\w]+</\1', '<book>python</book>')
# ma.group() AttributeError: 'NoneType' object has no attribute 'group' # ma = re.match(r'<(?P<mark>[\w]>)[\w]+</(?P=mark)', '<book>python</book>')
# ma.group() AttributeError: 'NoneType' object has no attribute 'group'
import re str1 = 'imooc videonum = 100' # str1.find('100') # 17 info = re.search(r'\d+', str1)
# info # <_sre.SRE_Match object; span=(17, 20), match='100'> str1 = 'imooc videonum = 10000'
# info.group() # '100' str2 = 'c++=100, java=90, python=80'
info = re.findall(r'\d+', str2)
# info ['100', '90', '80']
# sum([int(x) for x in info]) 270 str3 = 'imooc videonum = 10000'
info = re.sub(r'\d+', '1001', str3)
# info 'imooc videonum = 1001' def add1(match):
val = match.group()
num = int(val) + 1
return str(num) # re.sub(r'\d+', add1, str3) 'imooc videonum = 10001' str4 = 'imooc:c c++ java python'
#不能仅仅使用空格分割
re.split(r':| ', str4) #['imooc', 'c', 'c++', 'java', 'python'] # str4 = 'imooc:c c++ java python,c#'
# re.split(r':| |,', str4) ['imooc', 'c', 'c++', 'java', 'python', 'c#']
常用正则表达式RE(慕课网_Meshare_huang)的更多相关文章
- 慕课网:剑指Java面试-Offer直通车视频课程
慕课网:剑指Java面试-Offer直通车视频课程,一共有10个章节. 目录结构如下: 目录:/2020036-慕课网:剑指Java面试-Offer直通车 [6G] ┣━━第10章 Java常用类库与 ...
- JavaScript入门--慕课网学习笔记
JAVASCRIPT—(慕课网)入门篇 我们来看看如何写入JS代码?你只需一步操作,使用<script>标签在HTML网页中插入JavaScript代码.注意, <script&g ...
- java网络爬虫----------简单抓取慕课网首页数据
© 版权声明:本文为博主原创文章,转载请注明出处 一.分析 1.目标:抓取慕课网首页推荐课程的名称和描述信息 2.分析:浏览器F12分析得到,推荐课程的名称都放在class="course- ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- 常用正则表达式-copy
匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度:[\ ...
- PHP常用正则表达式汇总 [复制链接]
PHP常用正则表达式汇总 [复制链接] 上一主题下一主题 离线我是小猪头 法师 发帖 539 加关注 发消息 只看楼主 倒序阅读 使用道具楼主 发表于: 2011-06-22 更多 ...
- 慕课网-安卓工程师初养成-4-7 Java循环语句之 while
来源: http://www.imooc.com/code/1420 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 ...
- Python爬虫之爬取慕课网课程评分
BS是什么? BeautifulSoup是一个基于标签的文本解析工具.可以根据标签提取想要的内容,很适合处理html和xml这类语言文本.如果你希望了解更多关于BS的介绍和用法,请看Beautiful ...
- RegExp正则表达式规则以及常用正则表达式
html,body { font-family: "SF UI Display", ".PingFang SC", "PingFang SC" ...
随机推荐
- 1.6.3- HTML有序列表 ol元素
代码如下: 浏览器打开: 总结:
- js去重的两种方法
去重 去重方法和思路也很多,这里就介绍两种吧. 方法一: 1 2 3 4 5 6 7 8 9 10 11 function unique1(arr) { var res = [], ...
- hdu4454 三分 求点到圆,然后在到矩形的最短路
题意: 求点到圆,然后在到矩形的最短路. 思路: 把圆切成两半,然后对于每一半这个答案都是凸性的,最后输出两半中小的那个就行了,其中有一点,就是求点到矩形的距离,点到矩形的距离 ...
- adbi学习:安装和使用
adbi 是一个android平台(arm 32 )的so注入+挂钩框架,源码开放在github上 : ADBI 项目 .从github上下载来目录如下: 执行主目录下build.sh编译后目录如下 ...
- MS06-040漏洞研究(下)【转载】
课程简介 经过前两次的分析,我们已经对Netapi32.dll文件中所包含的漏洞成功地实现了利用.在系统未打补丁之前,这确实是一个非常严重的漏洞,那么打了补丁之后,这个动态链接库是不是就安全了呢?答案 ...
- c# 通过 p/invoke 使用 c的加密程序 参数传递问题
最近项目中使用需要上位机和下位机通过rs232通信,涉及到通讯加密问题, 硬件那边主要是pcb layout的,于是我就把加密的活拦了过来,锻炼锻炼 首先说明问题: 在c中,加密解密都测试通过,然后在 ...
- 前端小白的学习之路html与css的较量【一】
html和css的较量 web结构的组成 html标签规则 快速生成一个html html的基本结构 标签的关系 标签 标题标签 段落 图片 超链接 a 属性 a标签里面的值 字符实体 新增的标签 1 ...
- Arduino+DS18b20+OLED Display
DS18b20获取到温度数值保存到变量中,然后和天气图标还有滚动字幕一起发送到OLED 屏幕上显示 需要用到的库均可在Arduino库管理器下载. 电路图: 图中屏幕接线已在代码中写出,温度传感器da ...
- 更好的滚动体验>better-scroll
认识better-scroll better-scroll是一款重点用于解决移动端(已支持PC)各种滚动场景需求的插件,可使页面滚动效果更加流畅且富有弹性 better-scroll是用纯JavaSc ...
- 拷贝构造函数第一个参数最好使用const
拷贝构造函数的第一个参数要求是自身类型的引用,但是没有一定要求具有底层const属性即对常量的引用,但是使用时最好加上const,原因是我们可能在某些"不知道"的情况下对常量对象调 ...