正则表达式.*?探究
来源:互联网 发布:mac删除桌面文件 编辑:程序博客网 时间:2024/06/06 10:05
几个常见正则表达式
- [0-9] \d 匹配数字
- \w 字符
- {2} {n} 前面表达式出现n次
- + 前面表达式出现 >= 1
- ? 0 or 1
- * >= 0
.*? 懒惰匹配模式
即匹配最短字符串,最短匹配,主要是由问号实现
import reprint(re.findall(r'(da?)', 'dads dsds sda daada')) #a出现0或1次print(re.findall(r'(da*?)', 'dads dsds sda daada')) #a不出现print(re.findall(r'(da+?)', 'dads dsds sda daada')) #a只出现一次print(re.match(r'(da*?)', 'dads dsds sda daada').group())
输出结果:
[‘da’, ‘d’, ‘d’, ‘d’, ‘da’, ‘da’, ‘da’]
[‘d’, ‘d’, ‘d’, ‘d’, ‘d’, ‘d’, ‘d’]
[‘da’, ‘da’, ‘da’, ‘da’]
d
当?跟在 *+ 后面时,其含义为最小匹配,+本来代表出现次数大于或等于1,
这里则限定为了1;* 此时表示出现0次
如果为了匹配da再加一个字符,则需要使用 .
#查看字符串长度s = 'dads dsds sda daada'print(len(s))#返回了20个空字符串print(re.findall(r'(.*?)', 'dads dsds sda daada'))#da匹配后再加一个字符(包括空格)print(re.findall(r'(da.+?)', 'dads dsds sda daada'))print(re.findall(r'(da.*?)', 'dads dsds sda daada'))#贪婪匹配,当遇到地一个d时,匹配没有停止,一直到最后一个d,所以只返回了一个字符串print(re.findall(r'(d.*d)', 'dads dsds sda daada')) #非贪婪匹配,第一次遇到d结束匹配,继续下一次查找print(re.findall(r'(d.*?d)', 'dd dads dsds sda daada'))#空格匹配和空字符串不一样,注意print(re.findall(r'(\s)', 'dd dads dsds sda daada'))
19['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']['dad', 'da ', 'daa']['da', 'da', 'da', 'da']['dads dsds sda daad']['dd', 'dad', 'dsd', 'da d'][' ', ' ', ' ', ' ']
注意正则中的空格,空格也是匹配内容
阅读全文
0 0
- 正则表达式探究
- 身份证号 正则表达式 探究
- 正则表达式.*?探究
- 探究PHP正则表达式实现信息记录
- Java正则表达式探究(Pattern/Matcher)
- jQuery选择器探究:正则表达式汇总
- java 正则表达式find的一些小探究
- 关于正则一些探究
- C 表达式未定义探究
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 顺序表基本操作(c实现)
- 通过淘宝的ip地址库获取ip地址通用类的实现(C#版)
- Codeforces 853A Planning
- Python中9种生成新对象的方法
- 枚举类
- 正则表达式.*?探究
- xListView主页面请求网络数据展示到listView的三个步骤
- java线程安全总结
- Python函数式编程(高阶函数 <map/reduce filter sorted> 返回函数 匿名函数 装饰器 偏函数)
- Git入门实验
- flume“Space for commit to queue couldn't be acquired”异常产生分析
- 笔试编程题之查找数组的位置
- win10 uwp 进度条 WaveProgressControl
- 矩阵快速幂优化菲波那切数列