每次停止RegEx都找到一个特定的字符串

时间:2018-06-21 14:37:18

标签: python regex string python-3.x

我正在使用Python 3。 我有一个包含48个法则的大文本文件,我想将其设置为一次通过电子邮件将其发送给我的一个朋友,因此我需要在列表中一次将其分解为一个“章节”使用re.findall()

每章都从定律1,定律2,定律36等开始。有什么办法可以让正则表达式匹配定律并在第二次出现定律时停止匹配?

当我尝试使用list=re.findall(r'(Law.+)Law)之类的东西时,它只是将整个文本文件放入列表[0]中。

在此先感谢您提供的帮助。

3 个答案:

答案 0 :(得分:0)

Law [0-9](.*?)(Law [0-9])+

有什么机会可以帮助您顺利进行吗?

答案 1 :(得分:0)

怎么样

matches = re.split('Law [0-9]+', data)
chapters = matches[1:]

答案 2 :(得分:0)

尝试使用正则表达式:^Law \d+.*?(?=Law \d|\Z)

Demo