首页 > 代码库 > python 正则表达式匹配次数 findall 用法
python 正则表达式匹配次数 findall 用法
匹配次数用 {}界定
re.search 能产生group(), 可以访问每个组的字符串
re.findall 产生的结果是列表,其中的元素可以是字符串,也可以是元组
Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\user>python Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1 900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import re >>> str="ATGTACGTACGTACTTTCCGT" >>> pat_str=re.compile("(GTAC){1}") >>> na = re.search(pat_str,x) >>> na <_sre.SRE_Match object; span=(2, 6), match=‘GTAC‘> >>> na.group(1) ‘GTAC‘ >>> na.group(2) Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: no such group >>> na.group(0) ‘GTAC‘ >>> for i in na.group(): ... print (i) ... G T A C >>> str_x="ATGTACGTACGTACTTTCCGTTTCCCT" >>> str_y=re.compile("(GTAC){1}[GTAC]{5}") >>> na = re.search(str_y, str_x) >>> na.group() ‘GTACGTACG‘ >>> x="ATGTACGTACGTACTTTCCGTTTCCCTGTACCCCGGTTAAT" >>> y=re.compile("(GTAC){1}[GTAC]{5}") >>> na = re.search(y,x) >>> na.group() ‘GTACGTACG‘ >>> na.group(1) ‘GTAC‘ >>> nas = re.findall(y, x) >>> nas [‘GTAC‘, ‘GTAC‘] >>> re.sub(y,"NNNNNNNNN", x) ‘ATNNNNNNNNNTACTTTCCGTTTCCCTNNNNNNNNNTTAAT‘ >>> x ‘ATGTACGTACGTACTTTCCGTTTCCCTGTACCCCGGTTAAT‘ >>> y=re.compile("(GTAC){1}[GTAC]{5}", flags=re.I) >>> nag=re.search(y,x) >>> nag.group() ‘GTACGTACG‘ >>> for i in na.group(): ... print (i) ... G T A C G T A C G >>> for i in na.group(1): ... print (i) ... G T A C # 使用compile时设置flags 与 search时再使用 flags=re.I 效果一样 >>> na_re_I = re.search(r"(GTAC){1}[GTAC]{5}", x, flags=re.I) >>> na_re_I <_sre.SRE_Match object; span=(2, 11), match=‘GTACGTACG‘> >>> na_re_I.group() ‘GTACGTACG‘ >>> na_re_I.group(1) ‘GTAC‘ >>> y.findall(x) [‘GTAC‘, ‘GTAC‘] >>> y_all=re.compile("((GTAC){1}[GTAC]{5})", flags=re.I) >>> nas_all = re.findall(y_all, x) >>> nas_all [(‘GTACGTACG‘, ‘GTAC‘), (‘GTACCCCGG‘, ‘GTAC‘)] >>>
findall 效果参考:
http://blog.csdn.net/cashey1991/article/details/8875213
http://blog.163.com/imnoqiao@126/blog/static/35265851201672431418177/
本文出自 “R和Python应用” 博客,请务必保留此出处http://matrix6ro.blog.51cto.com/1746429/1875383
python 正则表达式匹配次数 findall 用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。