正则表达式
S_o_l_o_n
logic
展开
-
python正则匹配替换指定开头和结尾的字符串
场景: 替换字符串s中s1开头和s2结尾的子字符串,但是保留s1和s2,即替换s1 s2之间的内容,替换的新内容为s3。方式:pattern=re.compile(re.escape(s1(.*?)s2),flags=re.S); re.sub(pattern,s1s3s2,s)即可。其中指定re.S是为了可以跨行匹配,让点号可以匹配换行符。...原创 2021-02-23 20:32:18 · 4176 阅读 · 0 评论 -
python正则表达式点号.匹配换行符
方式:通过flags参数,指定re.S即可,这样点号就可以匹配换行符了。例如:re.sub()函数,使flags=re.S即可,多个flag可以通过|连接。原创 2021-02-23 18:57:08 · 3375 阅读 · 0 评论 -
python正则表达式使用规范
匹配字符串中的/**,对比以下三种用法。import res = 'justfortesting/**csdopov**/python'# 第一种方式re.findall('/\\*\\*',s)[out]: ['/**']# 第二种方式re.findall(r'/\*\*',s)[out]: ['/**']# 第三种方式pattern = re.es...原创 2020-05-02 22:29:22 · 496 阅读 · 0 评论 -
python字符串的转义注意点
python字符串对象对于某些字符定义了转义特性,以反斜杠\作为转义标志。当python解释器对字符串对象做处理时,要记住首先始终是要对字符串做转义处理的。 在理解python字符串的转义时,需要注意两个概念,分别是转义前字符串和转义后字符串。一般情况下,直接和用户交互的应该是转义后字符串,这也是我们通常所正常理解的不需要转义知识的字符,即一个反斜杠就是\,而不是转义...原创 2020-05-02 17:32:20 · 993 阅读 · 0 评论 -
python使用正则表达式剔除指定开头和结尾之间的所有字符串内容
这里的一个基本的需求就是对于一个字符串,想要剔除指定开头和结尾及其之间所有的内容,一个经典的场景就是剔除一个脚本里面所有的以/**开头和**/结尾的注释。对此,需要注意的点有三个:1、如何跨行匹配/**和**/之间的所有内容,因为.无法匹配换行符;2、要注意使用非贪心匹配,以防把代码也剔除;3、如何高效剔除匹配到的内容。 具体的正则表达式如下。这个正则表达式中要注意对...原创 2020-05-02 15:34:04 · 5260 阅读 · 10 评论 -
python正则表达式匹配之转义符\陷阱
python中的转义就是通过转义符号\对字符进行字面意思和字符特殊定义(如果有的话)之间的转换,python中使用标准模块re进行字符串的正则表达式匹配时,需要特别注意转义符的使用,如果不了解正则表达式和字符串的转义符,那么很容易在使用正则表达式匹配时犯错。 在使用python的re模块进行正则匹配时,关于转义符需要注意的点有三处:1、正则表达式和字符串匹配的经历过程...原创 2020-05-02 01:59:08 · 2523 阅读 · 0 评论 -
python正则表达式要点概述
正则表达式在文本字符串处理上功能强大,python的re模块是一个标准模块,其实现了正则表达式的所有功能,而且其匹配引擎是用C语言编写的,所以在性能上也是很高的,本文将对python的正则表达式的较为常用的要点进行一些总结。目录一、语法捕获组(...)非捕获组(?:..)反斜杠\对捕获组的引用\number贪心算法和非贪心算法二、matchObject...原创 2019-10-09 21:29:41 · 390 阅读 · 0 评论 -
利用正则表达式模块re对字符串进行过滤和处理
python标准库中的re模块是正则表达式模块,本文主要讲几个最常用的方法以帮助日常最常碰到的关于字符串的过滤和处理。一、对于字符串开头匹配有时我们需要选取以特定特征开头的字符串,特别是在I/O时,我们常需要对一些非结构化的字符串进行逐行过滤,选取符合开头要求的行,这时可以利用re.match(rexp,string),其中rexp表示正则表达式的匹配模式,string表示被...原创 2019-05-28 22:27:21 · 1865 阅读 · 0 评论 -
pandas中DataFrame字符串过滤之正则表达式
DataFrame中有一种很有效的过滤方式是df[bool exp],其中的bool exp为布尔表达式,可以是关于df的任何可以产生布尔值的运算或判断,并且还可以是多个布尔表达式的逻辑运算用括号分隔。 如果其中的元素是字符串,当然也可以用上述的方式狗率,但是如果过滤条件比较复杂,则可以用Series.str.contains(pat,case=True,flag...原创 2019-01-13 20:26:37 · 20790 阅读 · 0 评论 -
python正则表达式的贪心算法和非贪心算法
正则表达式是一种字符串匹配和检索的规则,基本各种高级编程语言都实现了正则表达式规则,总体的语法规则也都相似,只是不同的编程语言会有些许的不同。正则表达式主要用在文本提取,笔者主要用在爬虫爬取后的文本数据的清洗,虽然在爬取文本数据时不一定要用正则表达式,比如用Xpath语法就可以快速定位相关数据在网页中的位置,但是当清洗处理爬取后的文本信息时,就需要用到正则表达式了,其简洁性和功能的强大...原创 2019-01-07 22:53:52 · 2119 阅读 · 0 评论