gpt4 book ai didi

python - 一个短语中多个换行符的正则表达式

转载 作者:行者123 更新时间:2023-12-04 08:54:58 28 4
gpt4 key购买 nike

我正在用 Python 学习正则表达式,我想准备一个 RE 来匹配和收集下面输入的句子:

  1. Food : Cake : Baked sweet food made from flour, sugar and other ingredients.
  2. Electronics : Computer : A machine to carry out a computer programming operation.
    Computers mainly consists of a CPU, monitor, keyboard and a mouse.
  3. Automobile : Car : Car is a four wheeled motor vehicle used for transportation.

我的预期输出应该给我类别、项目和该项目的描述。因此,对于第一项蛋糕,RE 应将“食物”、“蛋糕”、“由面粉、糖和其他成分制成的烘焙甜食”分组。
我目前的 RE 看起来像这样:
[0-9]+\s*.\s*(\w*)\s*:\s*(\w*)\s*:\s*(.*)
这似乎适用于没有换行符的描述的项目。如果它有一个换行符,即示例中的 Computer,RE 只匹配它的描述直到换行符。 RE 丢弃该描述中的第二个句子。
请帮助我了解我在这里错过了什么。

最佳答案

这可能是一种基本的方法,但它适用于您提供的示例输入:[0-9]+\s*.\s*(\w*)\s*:\s*(\w*)\s*:\s*((?:.*[\n\r]?)+?)(?=$|\d\s*\.)基本上,我们在描述中使用尽可能多的文本(包括换行符),直到到达文件末尾或另一个数字索引。
你可以看到实现 here

关于python - 一个短语中多个换行符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63880133/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com