1

我正在修改具有如下序列的文本电子书:

                           Chapter I
             PREHISTORIC MAN COMES TO NORTH AMERICA

在提到的序列之前和之后都有一个换行符。

我正在尝试找到与章节名称匹配的正则表达式(以便将其删除)

                           Chapter I
                           [nothing]

我想出了:

\\n( *)(Chapter(.*?))\\n(.*?)\\n

但似乎它没有识别序列。我错过了什么?

4

1 回答 1

1

您可以使用

re.sub(r'(\n *Chapter.*\n *).*\S', r'\1[nothing]', text)

请参阅正则表达式演示

详情

  • (\n *Chapter.*\n *)- 第 1 组(\1指替换模式中的此文本):一个换行符,零个或多个空格,Chapter然后是零个或多个除换行符之外的字符,尽可能多,一个换行符,然后是零个或多个空格
  • .*- 除换行符之外的零个或多个字符,尽可能多
  • \S- 一个非空白字符。
于 2021-06-13T17:46:58.373 回答