python - 适用于罗马人的正则表达式,位于Python的前面和后面

标签 python

以下是我需要进行re.search的原始文本(存储在名为“ table_t”的变量中):

目录I.简介.................................... 1 II。实际方面。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 2 A.《清洁空气法》。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3 B. EPA的《汽油规则》。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3 1.建立基准。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3 2.重新配制的汽油。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 4 3.常规汽油(或“反倾销规则”)。 。 。 。 。 。 。 。 4 C. 1994年5月的提案。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 5三。主要论点。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 5 A.总则.................................. 5 B.关税和贸易总协定。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 6 1.第一条-最惠国待遇。 。 。 。 。 。 。 6 2.第三条-国内税收和监管的国民待遇。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 a)第三条:4。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 b)第三条:1。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 14 3.第二十条-一般例外。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 4.第XX(b)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 a)“保护人类,动植物生命或健康”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 b)“必要”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 5.第XX(d)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 21 6.第XX(g)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 22 a)“关于保护可枯竭的自然资源……”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 22 b)“……在限制国内生产或消费的同时生效”。 。 。 。 。 。 。 。 。 。 23 7.第二十条的序言。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 23 8.第二十三条-无效化和损害。 。 。 。 。 。 。 。 。 。 。 。 25'

我想以“ ROMAN + TITLE”的形式匹配['I.INTRODUCTION ... 1','II.FACTUAL ASPECT ... 2','III.MAIN ARGUMENT .... 5'] + DOT + PAGE NUMBER'

所以我写下了这样的代码:

romans = ["I.", "II.", "III.", "IV.", "V.", "VI.", "VII.", "VIII.", "IX.", "X."]
for i in range(0,len(romans)):
    try:
        print(i)
        print(re.search(r"((?<={})(.*)(\d))(?!{})".format(romans[i], romans[i+1]),table_t).group())
    except:
        pass


但是它保持这样的回报:

0
   引言.................................... 1 II。实际方面。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 2 A.《清洁空气法》。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3 B. EPA的汽油规则。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3 1.建立基准。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3 2.重新配制的汽油。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 4 3.常规汽油(或“反倾销规则”)。 。 。 。 。 。 。 。 4 C. 1994年5月的提案。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 5三。主要论点。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 5 A.总则.................................. 5 B.关税和贸易总协定。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 6 1.第一条-最惠国待遇。 。 。 。 。 。 。 6 2.第三条-国内税收和监管的国民待遇。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 a)第三条:4。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 b)第三条:1。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 14 3.第二十条-一般例外。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 4.第XX(b)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 a)“保护人类,动植物生命或健康”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 b)“必要”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 5.第XX(d)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 21 6.第XX(g)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 22 a)“关于保护可枯竭的自然资源……”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 22 b)“……在限制国内生产或消费的同时生效”。 。 。 。 。 。 。 。 。 。 23 7.第二十条的序言。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 23 8.第二十三条-无效化和损害。 。 。 。 。 。 。 。 。 。 。 。 25
1个
  实际方面。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 2 A.《清洁空气法》。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3 B. EPA的汽油规则。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3 1.建立基准。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3 2.重新配制的汽油。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 4 3.常规汽油(或“反倾销规则”)。 。 。 。 。 。 。 。 4 C. 1994年5月的提案。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 5三。主要论点。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 5 A.总则.................................. 5 B.关税和贸易总协定。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 6 1.第一条-最惠国待遇。 。 。 。 。 。 。 6 2.第三条-国内税收和监管的国民待遇。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 a)第三条:4。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 b)第三条:1。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 14 3.第二十条-一般例外。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 4.第XX(b)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 a)“保护人类,动植物生命或健康”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 b)“必要”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 5.第XX(d)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 21 6.第XX(g)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 22 a)“关于保护可枯竭的自然资源……”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 22 b)“……在限制国内生产或消费的同时生效”。 。 。 。 。 。 。 。 。 。 23 7.第二十条的序言。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 23 8.第二十三条-无效化和损害。 。 。 。 。 。 。 。 。 。 。 。 25
2
 主要论点。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 5 A.总则.................................. 5 B.关税和贸易总协定。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 6 1.第一条-最惠国待遇。 。 。 。 。 。 。 6 2.第三条-国内税收和监管的国民待遇。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 a)第三条:4。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 7 b)第三条:1。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 14 3.第二十条-一般例外。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 4.第XX(b)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 a)“保护人类,动植物生命或健康”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 b)“必要”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 15 5.第XX(d)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 21 6.第XX(g)条。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 22 a)“关于保护可枯竭的自然资源……”。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 22 b)“……在限制国内生产或消费的同时生效”。 。 。 。 。 。 。 。 。 。 23 7.第二十条的序言。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 23 8.第二十三条-无效化和损害。 。 。 。 。 。 。 。 。 。 。 。 25
3
4
5
6
7
8
9

对于给定的罗马字母,在对应的页码麻木的页码出现后,尾巴过多。

哪一点错了?

最佳答案

匹配TITLE + DOT(S)时使用non-greedy正则表达式

import re

table_t = """' Table of Contents I. INTRODUCTION .................................... 1 II. FACTUAL ASPECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 A. The Clean Air Act . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 B. EPA\'s Gasoline Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Establishment of Baselines . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Reformulated Gasoline . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Conventional Gasoline (or "Anti-Dumping Rules") . . . . . . . . 4 C. The May 1994 Proposal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 III. MAIN ARGUMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 A. General .................................... 5 B. The General Agreement on Tariffs and Trade . . . . . . . . . . . . . . . . 6 1. Article I - General Most-Favoured-Nation Treatment . . . . . . . 6 2. Article III - National Treatment on Internal Taxation and Regulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 a) Article III:4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 b) Article III:1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3. Article XX - General Exceptions . . . . . . . . . . . . . . . . . . . . 15 4. Article XX(b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 a) "Protection of Human, Animal and Plant Life or Health" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 b) "Necessary" . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5. Article XX(d) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6. Article XX(g) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 a) "Related to the conservation of exhaustible natural resources..." . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 b) "... made effective in conjunction with restrictions on domestic production or consumption" . . . . . . . . . . 23 7. Preamble to Article XX . . . . . . . . . . . . . . . . . . . . . . . . . . 23 8. Article XXIII - Nullification and Impairment . . . . . . . . . . . . 25 '"""
for i in range(0, len(romans)):
    try: #\s+ : one or more white spaces(re.s) 
         #[] bracket denotes character group 
         #* preceding one could be matched multiple times 
         #\. means real dot(literally dot!)
        print("{}th trial - for roman {}".format(i,romans[i]))  
        print(re.search(r"((?<={})\s+(?P<name>[A-Z \.]*?)(\d))".format(romans[i]), toc).group())
    except:
        pass


输出:

0th trial - for roman I.
   INTRODUCTION          ....................................                                  1
1th trial - for roman II.
  FACTUAL ASPECTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     2
2th trial - for roman III.
 MAIN ARGUMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      5
3th trial - for roman IV.
4th trial - for roman V.
5th trial - for roman VI.
6th trial - for roman VII.
7th trial - for roman VIII.
8th trial - for roman IX.
9th trial - for roman X.
 . . . . . . . . . . . . . . . . . . . . . . . . . .     2


这是输出

关于python - 适用于罗马人的正则表达式,位于Python的前面和后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48869931/

相关文章:

python - 尝试找出像 stackoverflow 这样的 sluggale URL 的 URL 调度程序

python - 使用 Dill 序列化 scikit-learn/statsmodels 模型的陷阱是什么?

python - 如何在 C(++) 中(反)序列化 PyObject*?

python - 由于IndentationError : unexpected indent Python而无法写新行

python - 谁能给我解释一下 "guardian pattern"

python - 有没有更快的方法将 excel 文件读取到 pandas 数据框

python - 装饰迭代器以在 python 中调用 next 之前更改值的好方法是什么?

python - 狮身人面像 : Remove package and module name for specific function

android - 在 kivy 的 ScrollView 中将文本与 Label 的边缘对齐

python - 数据类型、数据形状和 pad_sequences