python字符串可以通过re模块的模式匹配来处理文本。
1.1 match()用法
match(pattern, string, flags=0)描述
从字符串(string)的开头应用模式(pattern),返回匹配对象(match),如果未找到匹配内容,返回none。
入参
pattern:模式,即要匹配的规则,或者叫正在表达式
string:字符串,即要匹配的内容
flags:标志,用于控制正则表达式的匹配方式,比如是否区分大小写,多行匹配等,默认为0。
出参
匹配成功,返回match,否则,返回none。
示例
下面例子,搜索子字符串(pat),以’梯阅线条’开始,后面跟着0个或几个空格或制表符([ \\t]*),注意是用[]包含, 表示0个或几个,接着有任意字符并将其保存至匹配的group中,注意任意字符用’. ’表示,()表示匹配的group,第1个()表示group(1),第n个()表示group(n),最后以’学习’结尾。
>>> import re>>> pat='梯阅线条[ \\t]*(.*)学习'>>> strs='梯阅线条软件测试梯阅线条python字符串re模块模式匹配学习'>>> mat=re.match(pat,strs)>>> print(mat)...1.2 group()用法
group([group1, ...]) -> str or tuple.描述
按索引或名称返回匹配的字符串或元组。
入参
不送或送0,表示返回整个字符串。
送groupn,表示返回点n个分组,这里的n对应正则表达式里面的()的位置,从1开始。
送group1,group3,表示返回第1和第3个分组组成的元组。
出参
字符串或元组。
示例
>>> import re>>> pat='/(.*)/(.*)/(.*)'... >>> strs='/梯阅线条/python学习/re模块group'... >>> re.match(pat,strs)...1.3 groups()用法
groups(self, /, default=none)描述
返回包含匹配的所有子组的元组,从1开始。
入参
default,表示未匹配到的分组的默认值,默认为none。
出参
元组
示例
注意:?(和*类似)表示前面的内容为0个或几个。d+表示匹配数字,.*表示匹配任意内容(此时没有匹配到这返回空字符非none)。
>>> re.match('/(.*)/(.*)/?(d+)?','/梯阅线条/python学习').groups()... ('梯阅线条', 'python学习', none)>>> re.match('/(.*)/(.*)/?(d+)?','/梯阅线条/python学习').groups('groups用法')... ('梯阅线条', 'python学习', 'groups用法')>>> re.match('/(.*)/(.*)/?(.*)?','/梯阅线条/python学习').groups()... ('梯阅线条', 'python学习', '')>>> re.match('/(.*)/(.*)/*(d+)*','/梯阅线条/python学习').groups()... ('梯阅线条', 'python学习', none)
英国再造AI芯片独角兽,GraphCore靠什么获5千万美元投资?
高配双摄小米6即将发布,还是1999元的铁杆标价?
可控硅移相电路设计攻略 —电路图天天读(156)
2020年彩电市场回顾及前景预测
经典的充电接口那么多你知道哪些?
浅析python字符串模式匹配
射频导纳液位开关如何校准?
边缘计算时代下FPGA的正确打开方式
字节跳动首款云游戏平台开启内测
组合逻辑电路和时序逻辑电路的区别
MOS的C-V曲线与衬底浓度以及GOX特性的关系
泰克公司推出全新SPG8000同步信号发生器,满足广播业者对基准信号发生器的需求
荣耀PC将大面积应用win101
家居智能照明与传统照明有什么不同?
HTC是高阶VR市场领导者,外资下调获利预期
锐捷盒式交换机的三种版本升级方式
新唐科技NAU8810解码器介绍
走向工业4.0的 最有效路径是什么
介绍处理器数据:时钟速度、核心数、CPU 缓存及架构
IGBT的关断瞬态分析—IV关系(1)