我正在尝试将包含2个不同字符的序列的字符串拆分为多个组.如果我们假设字符是a和b,则用于分组的纯文本规则为:

>组包含0 a,后跟1 b

>后面的所有a都包含在下一组中,除非我们在单词末尾.

例如:处理测试后,目标是分成预期的组.

tests = ['abab',

'ababab',

'aabab',

'aababa',

'aba',

'baba']

expected = [['ab','ab'],

['ab','ab','ab'],

['aab','ab'],

['aab','aba'],

['aba'],

['b','aba']]

我最近得到的是以下内容:

import re

# filter() returns iterator not list in Python 3

def testing(s):

return list(filter(None, re.compile('(a*b+a*(?=$))').split(s)))

output = [testing(s) for s in tests]

output

[['ab', 'ab'], ['abab', 'ab'], ['aab', 'ab'], ['aab', 'aba'], ['aba']]

在1-2组上效果很好,但对于大于1-2的组效果不好,这意味着我的正则表达式需要改进.我应该重新考虑这种方法吗?我可能可以使用for循环来做一些蛮力的工作,但是希望能做些更优雅的事情.

N.B .: This post使我相信.split()可能不是这里的解决方法,但是到目前为止,我已经获得了最好的结果.

python正则表达式匹配aabb_Python正则表达式拆分多个匹配项相关推荐

  1. python正则匹配_Python正则表达式初识(五)

    原标题:Python正则表达式初识(五) 正则表达式的内容很丰富,今天小编继续给大家分享Python正则表达式的基础知识.今天要给大家的讲的特殊字符是竖线"|".竖线"| ...

  2. Python:利用原生函数count或正则表达式compile、findall、finditer实现匹配统计(包括模糊匹配的贪婪匹配、懒惰匹配)

    Python:利用原生函数count或正则表达式compile.findall.finditer实现匹配统计(包括模糊匹配的贪婪匹配.懒惰匹配) 目录 利用原生函数count或正则表达式compile ...

  3. python正则匹配_python 正则表达式详解

    正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...

  4. python正则匹配_Python正则表达式只匹配一次

    我正在尝试创建一个简单的降价乳胶转换器,只是为了学习 python和基本的正则表达式,但我不知道试图弄清楚为什么下面的代码不起作用: re.sub (r'\[\*\](.*?)\[\*\]: ?(.* ...

  5. 【python】常见的正则表达式用法;匹配字符串

    本文仅仅展现了python正则表达式中的一小部分内容,但是包含了实际应用中非常被频繁使用的例子,本文重在举例,即不需要相关语法知识就能够会用~ 目录 re.match() re.findall() 匹 ...

  6. python脚本 —— 文本匹配与正则表达式

    文章目录 创建正则表达式对象 正则表达式的字符分类 自定义字符分类:[] 正则表达式匹配更多模式 利用括号分组: () 利用管道匹配多个条件: | 利用问号实现可选匹配:❓ 利用星号匹配零次或者多次: ...

  7. python正则表达式模糊匹配_python 正则表达式

    正则表达式的作用:用来匹配字符串 一.字符串方法 字符串提供的方法是完全匹配,不能进行模糊匹配 s = 'hello world' # 字符串提供的方法是完全匹配,不能进行模糊匹配 print(s.f ...

  8. python正则匹配_Python正则表达式详解

    正则表达式,又称规则表达式(Regular Expression),是使用单个字符串来描述.匹配某个句法规则的字符串,常被用来检索.替换那些符合某个模式(规则)的文本.最初的正则表达式出现于理论计算机 ...

  9. python 正则表达式判断_正则表达式教程python | Python如何判断正则表达式是否匹配成功...

    python 正则表达式 关于 和*的问题 正则表达式教程里在python的帮助里有.,仔细的看一次后找一个正则表达式验证工具.其中有一个就是python写的.多试几次. 正则表达式挺难掌握,掌握后又 ...

最新文章

  1. Wordpress安装简要说明
  2. linux xorg.0.log,Red Hat无法登录,Cannot open log file /var/log/Xorg.0.log
  3. 从生产到分发:AI正在成为“互联网内容平台”的效率神器
  4. Android 蓝牙相关的广播
  5. Python PyCrypto,Paramiko模块安装和使用
  6. macos复制粘贴快捷键 快速_探究Mac OS十大键盘快捷键
  7. 【cocos2d-x 手游研发小技巧(4)与Android混编实现换“头像图片”】
  8. (php毕业设计)基于php旅游信息网站管理系统源码
  9. 整体刚度矩阵matlab,单元刚度矩阵matlab
  10. 相分离和长链非编码RNA之间的故事Paraspeckles: Where Long Noncoding RNA Meets Phase Separation
  11. java怎么实现历史修改记录_java历史记录封装实现
  12. “幽灵刹车”困扰特斯拉
  13. error converting to execution character set illegal byte sequence报错解决办法
  14. 利用计算机名称共享打印机步骤,如何连接其他电脑共享的打印机(图文教程)...
  15. 软件编程:常见缩写、简称
  16. Python_常用模块
  17. 纪念相对论发表110周年
  18. matlab求矩阵的谱半径,【什么是矩阵的谱半径?怎么求?】百度-谱半径
  19. 杭州摩托车驾驶证报考流程
  20. 服务器在局域网联机中显示,网络版局域网内如何连接设置多台电脑联机操作?...

热门文章

  1. 【Vegas原创】X connection to localhost:11.0 broken (explicit kill or server shutdown)解决方法...
  2. html 5 本地数据库(Web Sql Database)
  3. javascript随堂练习(分支,循环语句)
  4. MTK-TP(电阻屏校准程序ts_lib移植)
  5. 1070: [SCOI2007]修车
  6. SpringBoot注解大全(转)
  7. (转)在ios android设备上使用 Protobuf (使用dll方式)
  8. 9读书1-我在义务发财(1)
  9. 常用文献管理软件使用经验
  10. maven setting.xml 中文配置详解(全配置)