当前位置: 首页 > 知识库问答 >
问题:

使用带记事本的正则表达式将[n]短语拆分为段落

卫飞鹏
2023-03-14

我试图用记事本将n个短语的文本用正则表达式(即:在一定数量的短语之后,开始一个新的段落)拆分成段落。

我提出了以下正则表达式(在本例中,每3个短语-

(([\S\s]*?)(\.)){3}

到现在为止,一直都还不错。但是,现在如何匹配短语<代码>$1,$2将仅与大括号匹配。。

示例文本:

知识产权是一种权利,是一种精英的权利,是劳动和财富的暂时性权利。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。

期望结果(使用计数2):

知识产权是一种权利,是一种精英的权利,是劳动和财富的暂时性权利。但是,在最低限度上,我们需要一个实验室来进行日常工作。

杜伊斯奥特鲁尔杜洛在谴责在波罗的海韦尔特埃塞西莱姆杜洛雷欧盟逃犯nulla pariatur。例外的情况下,不存在,必须在错误的地方,在错误的地方,莫利特和其他地方。

共有3个答案

连正信
2023-03-14

找到以句号结尾的n个句子是很容易的。例如两句话

(?:.*?\.){2}

要使其成为一个段落(插入新行),请替换为

$0\r\n\r\n

这将插入两个回车换行符,这是窗口标记新行的方式。在Unix文件上\n\n就足够了。如果只需要一个换行符,只需执行$0\r\n\r\n

如果要使其与htlm段落搜索相同,可以替换为

蒋健
2023-03-14

使用此模式查找:

((.*?\.){2})

内圆括号。。。

 (     )

...提供受{2}影响的组。

外括号...

(          )

...提供替换模式的分隔符。因为它们是顶级的,所以它们是替换模式\1将附加到的内容。

注意,外圆括号必须包含{2}。我不擅长思考正则表达式将如何处理所有事情,但幸运的是记事本提供了即时确认功能——只需按“查找”即可观看它在比赛中的跳转。

replace模式后面是return和new行,因此整个字符串如下所示:

\1\r\n

如果需要可选空间,请确保添加\s 。。。可能是这样,但我没有测试它

((.*?\.\s?){2})

如果问题是插入一个带有结果的空格,只需在替换模式中添加一个空格(或者两个,如果你和我一样是老派):

\1 \r\n

祁辰阳
2023-03-14

怎么样:

找到什么:((?:[^.]\.){2})
改为:1美元\n

 类似资料:
  • 使用管道分隔的文件。目前,我使用记事本查找和替换REGEX模式,它用第5和第6个之间的空字符串替换所有行。我正在尝试以编程方式执行此过程,但是。NET不支持。我尝试了一些向后查找实例,但似乎无法理解它。

  • 问题内容: 我想解决这个问题。 逗号:分割条款 双引号:字符串值(忽略特殊字符) 数组 例如: 输入: 预期输出: 但是我无法获得超越结果。 我写了下面的代码: 我的输出是: 我需要更改以获得预期的输出?我应该坚持使用正则表达式还是其他解决方案更灵活,更易于维护? 问题答案: 这个正则表达式可以达到目的: 它的工作原理是在逗号后添加一个用于匹配成对的方括号的预读-如果您 位于 方括号内,那么您当然

  • 问题内容: 我正在尝试使用运算符-+ * /将正则表达式拆分为1.5 + 4.2 *(5 + 2)等式,以便将输出输入到数组中,以便我可以单独解析 我发现可以使用,但是如果我要保留小数点,它将不会拆分。 我已经尝试过分割,但是它不会在小数点上分割 问题答案: 您还可以使用?:避免捕获组。我把它简化了。

  • 问题内容: 我想从字符串中列出句子列表,然后将其打印出来。我不想使用NLTK来做到这一点。因此,它需要在句子末尾的句点上进行分隔,而不是小数点,缩写或名称的标题,或者句子中包含.com。这是对正则表达式的尝试,不起作用。 示例输出应如下所示 问题答案: (?<!\w.\w.)(?<![A-Z][a-z].)(?<=.|\?)\s 尝试这个。分割您的字符串。您还可以查看演示。 http://rege

  • 问题内容: 我将如何拆分单词: 放入数组,这样我就可以得到: 与? 我很累,但这只是整个词 问题答案: 您还可以用作: 说明:

  • 问题内容: 我有以下显示这种格式的文件名: 我想提取第二个下划线之后和之前的中间两个时间戳部分。因此,我使用了以下Python正则表达式字符串拆分: 但这在返回的列表中给了我两个额外的空字符串: 如何仅获取两个时间戳信息?即我想要: 问题答案: 不要使用,使用正则表达式/对象的方法。 您甚至可以命名捕获组并在字典中检索它们,尽管您使用的不是。(这种情况下的regex模式将类似于)