python - 获取正则表达式字符串的所有可能组合
问题描述
我有一个正则表达式:ATG(C|G|A)(C|T)GA
上面的正则表达式可以采用任何形式,|
在字符串的任何位置只有 OR ( ) 特殊字符,括号内有任意数量的字母。
我想在列表中匹配此字符串的所有组合:
ATGCCGA
ATGCTGA
ATGGCGA
ATGGTGA
ATGACGA
ATGATGA
我找不到任何可以做到这一点的 python 库。
解决方案
您可以使用字符串的动态部分的笛卡尔积,itertools.product
然后与字符串的其他静态部分连接。
>>> from itertools import product
>>> [f'ATG{i}{j}GA' for i,j in product('CGA', 'CT')]
['ATGCCGA', 'ATGCTGA', 'ATGGCGA', 'ATGGTGA', 'ATGACGA', 'ATGATGA']
推荐阅读
- python-3.x - Tkinter:为显示在两个不同 Treeview 中的相同数据库值定义两个游标时出现问题
- linux - 在 ubuntu 上安装 Postgressql 12 失败 - apt update 有错误
- ios - 检索未查看的 UITableViewCells 的数据源
- javascript - botframework 网络聊天令牌发布调用返回 403
- javascript - 获取 TypeError:news.map 不是函数。我想念什么?
- html - 如何摆脱 flex-wrap 创建的额外空间
- c - 1023(int) 在内存中存储为 00 00 03 FF,当转换为 char* 时,它变为 -1 3 0 0
- c# - 钓鱼小游戏自动重启(Unity、C#)
- sql - SQL 根据同一个 WHERE 子句选择多个计数
- unity3d - Unity对象距离相机视图一定距离重新出现在屏幕上?