常用正则表达式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" ...
随机推荐
- 手把手教你SonarQube入门安装与使用
简介 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. Sonar 不只是一个质量数据报告工具,更是代码质量管理平台. 支持Java, C#, C/C++, PL/SQL, C ...
- Android进程的so注入--Poison(稳定注入版)
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53869796 Android进程的so注入已经是老技术了,网上能用的Android ...
- POJ3322滚箱子游戏(不错)
题意: 讲的是一个游戏,就是在一个平面上滚动一个1*1*2的长方体的游戏,在本题里面的游戏规则是这样的: (1) 一开始给你箱子的状态,可能是横着也可能是竖着. (2) ...
- UVA11722(见面概率)
题意: 有一个车站,两个人想要在这个车站见面,第一个人会在t1到t2之间的任意一个时刻到(时间上任意一点概率一样),并且停留w时间,第二个人是s2到s2的时间段到,停留也是w,问两个人的见 ...
- DLL注入-APC注入
APC注入 APC注入的原理是利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的,其具体流程如下: 1)当EXE里某个线程执行到Sl ...
- java之Map的使用
Map的实现类有很多,其中较为常见的有HashMap,HashTable,LinkedHashMap,TreeMap,下面分别对这几个类进行简单的分析: 1.HashMap HashMap的结构数组+ ...
- Etcd中Raft日志复制的实现
Raft state of log commitIndex : A log entry is committed once the leader that created the entry has ...
- KMP板子(其实还没完全懂...)
KMP模板 1.next数组的实际含义 next数组从-1开始,主串a,子串b,next[j]=k,满足b[0,k-1]==b[j-k,j-1],k同时也为b子串前缀的下标,j为b子串后缀的下标 ge ...
- 认识 Spring Cloud Alibaba
个人理解 Spring Cloud Alibaba 就是 Spring Cloud 的微服务规范的一种实现,外加一些阿里云的商业组件 Spring Cloud 是什么 Spring Cloud 为开发 ...
- [Java]数据分析--数据可视化
时间序列 需求:将一组字符顺序添加到时间序列中 实现:定义时间序列类TimeSeries,包含静态类Entry表示序列类中的各项,以及add,get,iterator,entry方法 TimeSeri ...