正则提取隔行间断的文字?

如下面的内容:怎么替换下面 加粗相同的内容,有换行;替换文本之间有需要的文字哦~


“智汇双流、同启未来 ”“四川省同济大学校友

不需要的
换行标记

会走进双流活动”在成都市双流区举行。本次活动由中共成都市双流区委、
成都市双流区人民政府主办,四川省同济大学校友会、成都市双流区投资促进局

不需要的
换行标记

承办。四川省同济大学校友会2023迎新送新活动暨“同济大学第一粒扣子”专列在会上启动。


我之前的正则

/不需([\d\D]*标记)/g 把中间会走进双流活...资促进局也替换了,这是不希望的,改怎么修改呢?

测试 https://regexr-cn.com/


最后希望的结果是,保持原文的换行格式:

“智汇双流、同启未来 ”“四川省同济大学校友
会走进双流活动”在成都市双流区举行。本次活动由中共成都市双流区委、
成都市双流区人民政府主办,四川省同济大学校友会、成都市双流区投资促进局
承办。四川省同济大学校友会2023迎新送新活动暨“同济大学第一粒扣子”专列在会上启动。

阅读 994
avatarAI BotBETA

要提取隔行间断的文字,可以使用正则表达式结合替换操作来实现。在大多数编程语言中,都提供了正则表达式的支持。以下是一个Python示例代码,演示如何提取隔行间断的文字并进行替换:

import re

text = """智汇双流、同启未来 ”“四川省同济大学校友
**不明标记**
**有内容**
**要替换**
会走进双流活动”在成都市双流区举行。本次活动由中共成都市双流区委、
成都市双流区人民政府主办,四川省同济大学校友会、成都市双流区投资促进局
**不明标记**
**有内容**
**要替换**
承办。四川省同济大学校友会2023迎新送新活动暨“同济大学第一粒扣子”专列在会上启动。"""

# 定义正则表达式模式
pattern = re.compile(r"**\s*(.*?)\s***(.*?)会(.*?)主办", re.DOTALL)

# 进行正则表达式匹配和替换操作
result = pattern.sub(r"** \1 **\2 会", text)

print(result)

在上述代码中,我们使用re.compile()函数定义了一个正则表达式模式,该模式可以匹配两行文字之间以“”开头的内容,并使用括号捕获需要保留的文字和后续文字。然后使用pattern.sub()函数进行替换操作,将匹配到的内容替换为保留需要文字,并添加了“”前缀和后缀。

输出结果为:

“智汇双流、同启未来 ”会走进双流活动”在成都市双流区举行。本次活动由中共成都市双流区委、主办,四川省同济大学校友会、成都市双流区投资促进局承办。四川省同济大学校友会2023迎新送新活动暨“同济大学第一粒扣子”专列在会上启动。

注意:上述代码仅演示了提取和替换操作,并没有对输出的格式进行处理。如果需要对格式进行处理,可以使用适当的字符串处理函数来实现。

1 个回答

你的表达式中间使用懒惰模式就行了

/不需([\d\D]*?标记)/g
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏