首页 > 解决方案 > 正则表达式匹配遵循模式的单词

问题描述

我不知道如何表达标题,所以我将在这里进行解释。我有这样的示例文本:

第 1
行 行中的内容和文本。
这是一个段落。

第 2
行 用于此行的那些。
另一段

第 3 行
更多内容。

第 4 行
更多内容...

如何提取段落?我试过这个:
(?:Line \d{1,3})(.*?)(?:Line \d{1,3})

这匹配奇数段落,如第 1、3、5 段等。我正在使用 C#,但这是正则表达式,所以我认为不会有任何重大区别。

标签: c#regex

解决方案


如果您只想选择没有“Line \d”模式的文本,您可以使用它。
这是对您的正则表达式的微调:

(?:Line \d+\n)(.*?)(?=\nLine \d+\n|$)

核实

因为我们不能在后面使用通配符,所以我像你一样使用非捕获组,并选择文本,直到我们再次点击行模式或文件结尾。


推荐阅读