识别没有空格的子串的数字

时间:2017-11-23 14:45:17

标签: python regex

我有一段文字:

  

虽然相同的基因组DNA包装在每个细胞的细胞核中,   不同组的基因在不同的细胞状态中表达1,2。   尽管过去十年取得了重大进展,但仍有   关于如何组织基因组的许多未解答的问题   细胞核以及它如何在不同的细胞状态中发生变化3-7。这些事实中约有20%是真实的。在这   鉴于,基因组组织主要围绕染色体组织   领土,大多数DNA相互作用发生在一个地区   个体染色体10,20-22。这些相互作用包括染色质   连接特定基因组DNA区域的环,如增强子和   启动子23-25,DNA的局部相互作用的邻域叫做   拓扑相关域(TADs)26-28,以及其中的隔室   DNA区域基于其转录活性相互作用(A / B.   车厢)5,9,29,30。但是,DNA相互作用的程度   染色体之间发生一直存在争议9,10,20,24,31,32。该   第二种观点主要来源于DNA,RNA和DNA的原位成像   使用显微镜观察细胞核中的蛋白质。在这种观点中,基因组是   也围绕通常的核机构等结构进行组织   集中与DNA相关的DNA,RNA和蛋白质分子   在核心33-37内共享功能或监管角色。这些   包括与核糖体RNA转录相关的核体,   处理和生物发生(核仁)16,33,38,....这些   观察和其他人,8,11,13,52-54,证明了基因组   相互作用可能发生在染色体区域之外10,20,48,55。

我想重写这段文字,省略了字后面的所有数字。

期望的输出:

  

虽然相同的基因组DNA被包装在每个细胞的细胞核中,但不同组   基因以不同的细胞状态表达。尽管很重要   过去十年的进展,仍有许多未解决的问题   关于基因组如何在核心内组织以及如何组织的问题   这在不同的细胞状态中发生变化这些事实中约有20%是真实的。在这种观点中,基因组   组织主要围绕染色体领域组织   大多数DNA相互作用发生在单个染色体内。   这些相互作用包括连接特定的染色质环   基因组DNA区域,如增强子和启动子,局部相互作用   称为拓扑相关域(TAD)的DNA邻域,   和DNA区域相互作用的区室   转录活性(A / B区室)。但是,程度   染色体之间发生了哪些DNA相互作用   争议。第二种观点主要来自原位   使用显微镜对细胞核中的DNA,RNA和蛋白质进行成像。在   这种观点认为,基因组也围绕着诸如此类的结构进行组织   通常集中DNA,RNA和蛋白质的核体   与共享功能或调节相关的分子   核心中的角色。这些包括与之相关的核体   核糖体RNA转录,加工和生物发生(核仁),   ......这些观察和其他观察证明了基因组   相互作用可能发生在染色体区域之外。

我尝试了一系列正则表达式,但我没有经验:

import re
x = re.sub(r"(?<=\w)\d+(?:,\d+)*", "", x)
x = re.sub(r"(?<=\))\d+(?:,\d+)*", "", x)
x = re.sub(r"(?<=\w)\-(?:,\d+)*", "", x)

截至目前,上述代码仅设法省略某些不受欢迎的属性:

  

虽然相同的基因组DNA包装在每个细胞的细胞核中,   不同组的基因在不同的细胞状态中表达。   尽管过去十年取得了重大进展,但仍有   关于如何组织基因组的许多未解答的问题   细胞核以及它如何在不同的细胞状态中发生变化-7。这些事实中约有20%是真实的。对于   例如,尚不清楚染色体间相互作用是否起作用   在塑造基因组组织方面的重要作用-1。有   目前基因组的两种截然不同且对比度很差的观点   来自不同技术的组织。首先   view主要来源于全基因组邻近连接方法,   通过连接接近的DNA区域的末端起作用   细胞核中的空间接近,然后进行测序以绘图   互动1-1。在这种观点中,基因组组织很大程度上   围绕染色体领域组织,大多数DNA   相互作用发生在单个染色体1-2中。这些   相互作用包括连接特定基因组DNA的染色质环   区域,如增强子和启动子-2,局部相互作用   DNA邻域称为拓扑相关域2-2,和   DNA区域基于其转录相互作用的区室   活动5,9,2。然而,DNA相互作用发生的程度   染色体之间一直存在争议。第二种观点是   主要来源于DNA,RNA和蛋白质的原位成像   细胞核使用显微镜。在这种观点中,基因组也是有组织的   围绕通常集中的核体等结构   与共享相关的DNA,RNA和蛋白质分子   细胞核-3内的功能或调节作用。这些包括   与核糖体RNA转录相关的核体,   处理和生物发生1,剪接体复合物组装3和   存储mRNA加工和剪接因子4-4等。   有证据表明特定的染色体间相互作用可以   发生在这些核机构。例如,核周围形成核仁   存在的核糖体DNA基因的活跃转录   跨越几个不同的染色体。另外,具体积极   来自不同染色体的转录基因可以在附近定位   核散斑的外围-5。这些观察,以及其他 - 5,   证明基因组相互作用可以在染色体之外发   土

1 个答案:

答案 0 :(得分:1)

代码

选项1

See regex in use here

(?<=[^\s\d])\d(?:[^a-zA-Z]*\d)?

选项2

注意:此选项使用i标志(不区分大小写)

See regex in use here

(?<=[a-z)])\d(?:[^a-z]*\d)?

这允许句子中的数字列表。我建议,但是,如果是这种情况,则使用以下正则表达式并在列表[)]中添加任何其他字符(在第二个正向外观中)以确保特殊字符是之前是一封信。

See regex in use here

(?:(?<=[a-z])|(?<=[a-z][)]))\d(?:[^a-z]*\d)?

结果

输入

  

虽然相同的基因组DNA包装在每个细胞的细胞核中,   不同组的基因在不同的细胞状态中表达1,2。   尽管过去十年取得了重大进展,但仍有   关于如何组织基因组的许多未解答的问题   细胞核以及它如何在不同的细胞状态中发生变化3-7。关于   这些事实中有20%是真实的。在这种观点中,基因组组织是   主要围绕染色体区域组织,大多数DNA   相互作用发生在个体染色体10,20-22内。这些   相互作用包括连接特定基因组DNA的染色质环   区域如增强子和启动子23-25,局部相互作用   DNA邻域称为拓扑相关域   (TADs)26-28,以及基于DNA区域相互作用的区室   它们的转录活性(A / B区室)5,9,29,30。然而,   染色体之间DNA相互作用的程度   一直存在争议9,10,20,24,31,32。第二种观点主要是   来源于细胞核中DNA,RNA和蛋白质的原位成像   使用显微镜。在这种观点中,基因组也是围绕着组织的   通常集中DNA,RNA的核体等结构   和共有功能或蛋白质分子相关的蛋白质分子   核心中的监管角色33-37。这些包括核体   与核糖体RNA转录,加工和分子相关   biogenesis(nucleolus)16,33,38,....这些观察,和   其他8,11,13,52-54,证明可以发生基因组相互作用   超出染色体领域10,20,48,55。

输出

  

虽然相同的基因组DNA包装在每个细胞的细胞核中,   不同组的基因在不同的细胞状态中表达。   尽管过去十年取得了重大进展,但仍有   关于如何组织基因组的许多未解答的问题   细胞核以及它如何在不同的细胞状态中发生变化。约20%   这些事实都属实。在这种观点中,基因组组织很大程度上   围绕染色体领域组织,大多数DNA   相互作用发生在单个染色体内。这些互动   包括连接特定基因组DNA区域的染色质环   作为增强剂和启动子,DNA的局部相互作用的邻域   称为拓扑相关域(TAD)和隔离区   DNA区域基于其转录活性相互作用(A / B.   车厢)。然而,DNA相互作用发生的程度   染色体之间一直存在争议。第二种观点是   主要来源于DNA,RNA和蛋白质的原位成像   细胞核使用显微镜。在这种观点中,基因组也是有组织的   围绕通常集中的核体等结构   与共享相关的DNA,RNA和蛋白质分子   核内的功能或调节作用。这些包括   与核糖体RNA转录相关的核体,   处理和生物发生(核仁),....这些观察,和   其他人,证明基因组相互作用可以超越   染色体领域。

说明

  • (?<=[^\s\d])确保前面不是空格或数字字符的正面观察
  • \d匹配任何数字字符
  • (?:[^a-zA-Z]*\d)?匹配以下零次或一次。这样做是为了消除诸如states1之类的单词之后的单个数字的可能性(其中后面的内容不包括另一个数字)。
    • [^a-zA-Z]*匹配集a-zA-Z中不存在的任何数字(除ASCII字母以外的任何字符)
    • \d匹配任何数字字符