【问题标题】:regex to split text to blocks正则表达式将文本拆分为块
【发布时间】:2023-03-23 20:05:01
【问题描述】:

我有一个文本,其中包含由特定表达式分隔的重复块。如何在分隔线之间捕获这些块?

看看这个example。块分隔符是Information:,我想取回它们之间的文本块,例如:

1:

Block 1
blahblah blah

2:

Block 2
blahblah blah

3:

Block 3
a much
longer
blahblahblah

【问题讨论】:

  • 稍微改一下(Information:.*)([\s\S]*?)(?=Information|\z) 或试试Information:.*((?:(?!^Information:)[\s\S])*)。在此处查看现场演示regex101.com/r/VN1Z2f/1
  • 谢谢,这在正则表达式测试器中非常有效,但不幸的是,它不适用于 Python。不知道怎么回事……
  • 终于搞定了,谢谢。

标签: regex textblock


【解决方案1】:

查看第一条评论,它有效:

(Information:.)([\s\S]?)(?=Information|\z) 或尝试 Information:.((?:(?!^Information: )[\s\S]))

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 2013-07-13
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    • 2014-01-30
    相关资源
    最近更新 更多