正则表达式(或RE)指定了一组与之匹配的字符串;该模块中的函数可让您检查特定字符串是否与给定的正则表达式匹配(或给定的正则表达式是否与特定的字符串匹配,这取决于同一件事)。
pattern[过滤模式]
从string中匹配出符合条件的字符
1.字符集合
如:[abcde],[12345]
2.字符范围
如:[a-z],[0-9]
1.+(子表达式后),匹配符合子表达式一次和一次以上的内容 (>=1)
如:('[0-9]+')
2.*(子表达式后),匹配符合子表达式零次和零次以上的内容 (>=0)
如:('[0-9]*')
3.?(子表达式后),匹配符合子表达式零到一次的内容 (0-1)
如:('[0-9]?')
4.$,匹配输入行尾
5.^,匹配输入行头
1.{n},匹配n次
1.\d,匹配一个数字字符,等价于[0-9]
2.\D,匹配一个非数字字符,等价于[^0-9]
^在中括号中代表’非‘
3.\s,匹配任何不可见字符
如:空格,制表符,换页符等等
4.\S,匹配任何可见字符
5.\w(word),匹配包括下划线的任何单词字符,等价于[A-Za-z0-9_]
6.\W,匹配任何非单词字符,等价于[^A-Za-z0-9_]
7.\b,匹配一个单词的边界,也就是指单词和空格间的位置
8..,匹配除了'\n'和'\r'以外的单个字符
1.|,将两个匹配条件进行逻辑’或‘运算
2.(),将(和)之间的表达式定义为“组”(group)
1.贪婪模式:默认为贪婪模式,匹配尽量多的字符
2.非贪婪模式:匹配尽量少的字符,在次数限制操作符后面加上'?'转换为非贪婪模式
用于指示一组字符。在一组中:
为避免警告,请使用反斜杠将其转义。
例如:
message = 'fjlrb2i4t9gjibuspabr'
result = re.search('[abcde]',message)
print(result)
result = re.search('[a-z][a-d]',message)
print(result)
result = re.search('[a-z][0-9]',message)
print(result)
result = re.findall('[a-z][0-9]',message)
print(result)
<_sre.SRE_Match object; span=(4, 5), match='b'>
<_sre.SRE_Match object; span=(3, 5), match='rb'>
<_sre.SRE_Match object; span=(4, 6), match='b2'>
['b2', 'i4', 't9']
使结果RE匹配先前RE的1个或多个重复。 ab +将与“ a”匹配,后跟任意非零数目的“ b”; 它不会仅与“ a”匹配。
例如:
message = 'verb very never every'
result = re.findall(r'\w+er\B',message)
print(result)
['ver', 'ver', 'ever']
使结果RE与前面的RE的0个或多个重复匹配,并尽可能多地重复。 ab *将匹配“ a”,“ ab”或“ a”,后跟任意数量的“ b”。
例如:
message = 'h25tv988yrgnbn25uyt3n9y2'
result = re.findall('[a-z]*[0-9][a-z]',message)
print(result)
['5t', '8y', '5u', 'yt3n', '9y']
使结果RE匹配先前RE的0或1个重复。 ab? 将匹配“ a”或“ ab”。
例如:
message = 'ccc2356145507'
result = re.findall('ccc\d+?',message)<
文章浏览阅读761次。.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。.BMP:位图资源文件。.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info_def dsw dsp
文章浏览阅读3.4k次。需求现在有一份管线数据,表中含有字段buildTime说明了管线的建设日期,我们需要按时间段统计管线的数据 这是,我们需要对管线表中建设日期所对应的字段进行分类 实现如下: 实现对现有的数据进行分类判断过滤,使用到了 case whencase whencase when 实现了对数据的不同范围进行判断过滤并重新规范的过程(个人理解) 语法: CASE WHEN condition1_oracle筛选case when的字段
文章浏览阅读1.3w次,点赞5次,收藏51次。Gym是一个开发和比较强化学习算法的工具箱。它不依赖强化学习算法结构,并且可以使用很多方法对它进行调用。1 Gym环境这是一个让某种小游戏运行的简单例子。这将运行 CartPole-v0 环境实例 1000 个时间步,在每次迭代的时候都会将环境初始化(env.render)。运行之后你将会看到一个经典的推车杆问题import gymenv = gym.make('CartPole-v0')env.reset()for _ in rang..._python gym
文章浏览阅读3.2w次,点赞26次,收藏143次。脉冲神经网络学习笔记,是综述性质的学习笔记_脉冲神经网络的神经元综述
文章浏览阅读1.3k次。依赖注入方式-基于构造函数public class ScrewDriver{ private Header header; public ScrewDriver(Header header){ this.header = header; }}-基于Setter方法public class ScrewDriver{ private Header header; public...
文章浏览阅读258次。用Source Insight打开linux内核源码,搜索font,会发现有各种点阵字模。打开8*16的字模哈哈,是不是看起来是象形文字,这就是LCD屏幕显示字符的底层原理,就是一个灯的亮灭。
文章浏览阅读3.9k次。1. Blockchain–区块链区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。是一个共享的分布式账本,其中交易通过附加块永久记录。2. Block–区块在加密资产网络中,数据会以文件的形式被永久记录,我们称这些文件为区块。一个区块是一些或所有最新加密资产交易的记录集,且未被其他先前的区块记录。3. Node–节点由区块链网络的参与者操作的分类帐的副本..._block chain的去中心化是通过什么网络存储和处理数据
文章浏览阅读1k次。K&R C 1978年,丹尼斯·里奇(Dennis Ritchie)和Brian Kernighan合作出版了《C程序设计语言》的第一版。书中介绍的C语言标准也被C语言程序设计师称作“K&R C”,第二版的书中也包含了一些ANSI C的标准。K&R C主要介绍了以下特色: 结构(struct)类型 长整数(long int)类型 无符号整数(unsigned int)类型 _posix c和ansi c
文章浏览阅读264次。Natasha is going to fly on a rocket to Mars and return to Earth. Also, on the way to Mars, she will land on n − 2 intermediate planets. Formally: we number all the planets from 1 to n . ..._codeforcesc. fly
文章浏览阅读8.6k次,点赞22次,收藏32次。项目场景:我在用QT做画板的时候想给MainWindows添加带有图片的工具栏,但是遇到了运行窗口图片显示不出来的问题,,但是我明明在UI界面添加了!!!问题描述:解决方案:1.找到左侧的项目,然后点击取掉勾选Shadow build,然后对项目进行重新构建!!!(一定要记得)2.然后我们再运行看看结果..._qt中ui界面显示正常,运行之后就不显示了
文章浏览阅读296次。编写一个JFrame窗口,要求如下:在窗口的NORTH区放置一个JPanel面板。JPanel面板放置如下组件: (1) JLable标签,标签文本为“兴趣”,右边接着是三个JCheckBox多选按钮,选项分别是“羽毛球”、“乒乓球”、“唱歌”。可以多选。 (2) JLabel标签,标签文本为“性别”,右边接着是两个JRadioButton按钮,选项分别是“男”、“女”。置成单选按钮,提示:_java 8 训练题
文章浏览阅读1.7k次。自从推荐主备配置系列以来,许多网友一起与我沟通配置的方法。这两天终于有时间了,决定继续推出华为的。共分两部分,路由模式与透明模式!双机热备,所谓双机热备其实是双机状态备份,当两台防火墙,在确定主从防火墙后,由主防火墙进行业务的转发,而从防火墙处于监控状态,同时主防火墙会定时向从防火墙发送状态信息和需要备份的信息,当主防火墙出现故障后,从防火墙...