我们在用re模块时,根据不同的使用需求,我们要挑选不同的函数来匹配。考虑到大家初学python,在对于方法的学习上,小编推荐以常见的方法为主要学习目标。本篇所带来的是re.sub和re.compile两种函数,下面就这两个部分分别展开讲解,具体内容如下展开。
1、re.sub
re.sub用于替换字符串中的匹配项。下面一个例子将字符串中的空格 ' ' 替换成 '-' :
import re text = "JGood is a handsome boy, he is cool, clever, and so on..." print re.sub(r'/s+', '-', text)
import re text = "JGood is a handsome boy, he is cool, clever, and so on..." print re.sub(r'/s+', '-', text)
re.sub的函数原型为:re.sub(pattern, repl, string, count)
其中第二个函数是替换后的字符串;本例中为'-'
第四个参数指替换个数。默认为0,表示每个匹配项都替换。
re.sub还允许使用函数对匹配项的替换进行复杂的处理。如:re.sub(r'/s', lambda m: '[' + m.group(0) + ']', text, 0);将字符串中的空格' '替换为'[ ]'。
2、re.compile
可以把正则表达式编译成一个正则表达式对象。可以把那些经常使用的正则表达式编译成正则表达式对象,这样可以提高一定的效率。下面是一个正则表达式对象的一个例子:
import re text = "JGood is a handsome boy, he is cool, clever, and so on..." regex = re.compile(r'/w*oo/w*') print regex.findall(text) #查找所有包含'oo'的单词 print regex.sub(lambda m: '[' + m.group(0) + ']', text) #将字符串中含有'oo'的单词用[]括起来。
import re text = "JGood is a handsome boy, he is cool, clever, and so on..." regex = re.compile(r'/w*oo/w*') print regex.findall(text) #查找所有包含'oo'的单词 print regex.sub(lambda m: '[' + m.group(0) + ']', text) #将字符串中含有'oo'的单词用[]括起来。
以上就是python re模块常见使用方法整理,当然re模块的方法比较多,本篇因为篇幅有限,会在之后的文章中不断更新这部分的使用。更多Python学习指路:
伴沃教育还为您提供以下相关内容希望对您有帮助:
强烈推荐!Python 这个宝藏库 re 正则匹配
re.L:表示特殊字符集 w, W, b, B, s, S 依赖于当前环境 re.M:多行模式 re.S:’.’并且包括换行符在内的任意字符(注意:’.’不包括换行符)re.U:表示特殊字符集 w, W, b, B, d, D, s, S 依赖于 Unicode 字符属性数据库 在 Python 中使用正则表达式之前,先使用以下命令导入...
Python 标准库模块 - re
re模块被称为正则表达式,其作用为,创建一个“规则表达式”,用于验证和查找符合规则的文本,广泛用于各种搜索引擎、账户密码的验证等。预定义字符:\d:匹配所有的十进制数字0-9 \D:匹配所有的非数字,包含下划线 \s:匹配所有空白字符(空格、TAB等)\S:匹配所有非空白字符,包含下划线 \w:匹配所有...
python中re.sub和re.compile是啥意思呀?跪求大神解释。
re.sub方法:用于替换字符串中的某些内容。其基本用法是:在字符串中找到正则表达式匹配的所有子串,然后用指定的新字符串替换这些子串。这个函数可以指定替换的次数和是否替换全部匹配的子串。在复杂的文本处理任务中,re.sub方法非常有用。例如,它可以用来删除文本中的特定字符或字符串,也可以用来进行内容...
怎么使用Python中的正则表达式
在Python中,我们可以通过re模块来使用正则表达式。以下是一些常用的方法:1. re.search(pattern, string):在字符串中搜索与正则表达式pattern匹配的第一个位置,并返回相应的match对象。若未找到匹配项,则返回None。2. re.match(pattern, string):从字符串的开头开始搜索与正则表达式pattern匹配的第一...
Python内置的正则库 re
使用正则时,需要了解前视断言(如肯定型和否定型)和后视断言,它们用于指定位置前后需要满足的正则条件。非捕获组用于仅括号组合,不保存匹配内容。默认情况下,正则表达式执行贪婪匹配,但通过在特殊字符后加 "?" 可以变为非贪婪模式。re模块提供了多种函数,如 match() 从头开始、search() 全局搜索...
Python之re模块
re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的, 而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分,他对所有的语言都通用。1、字符 2、字符集 3、量词 贪婪模式:总是尝试匹配尽可能多的字符 非贪婪则相反,总是尝试匹配尽可能少的字符。
Python re模块 正则表达式之compile函数
3)re.finditer 和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。案例:4)re.split split 方法按照能够匹配的子串将字符串分割后返回列表。案例:从上篇Python re模块 正则表达式到这篇,我们已经把常用的正则匹配的方法学会了。关注我,坚持每日积累一个技巧...
Python正则表达式之re.match()
在这些几乎天天都可以碰到的 模式匹配/搜索问题中,正则表达式就是一把解决问题的利剑! 在Python的re模块中,常用的有四个方法(match、search、findall、finditer)都可以用于匹配字符串,今天我们先来了解一下re.match()。re.match()必须从字符串开头匹配! match方法尝试从字符串的起始位置匹配一个...
python中re模块的compile函数应该怎么用?
Python通过re模块提供对正则表达式的支持。使用re的一般步骤是先使用re.compile()函数,将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使用Match实例获得信息,进行其他的操作。举一个简单的例子,在寻找一个字符串中所有的英文字符:import re...
python文本处理功能示例
替换有2中方法,一种是使用str对象自带的方法replace(),另一种是使用re模块中sub(0的。例如: #replace s='nice day' s.replace('nice','good') #s本身不改变,但会返回一个字符串:output: good day sub ...