c# - 正则表达式匹配遵循模式的单词
问题描述
我不知道如何表达标题,所以我将在这里进行解释。我有这样的示例文本:
第 1
行 行中的内容和文本。
这是一个段落。第 2
行 用于此行的那些。
另一段第 3 行
更多内容。第 4 行
更多内容...
如何提取段落?我试过这个:
(?:Line \d{1,3})(.*?)(?:Line \d{1,3})
这匹配奇数段落,如第 1、3、5 段等。我正在使用 C#,但这是正则表达式,所以我认为不会有任何重大区别。
解决方案
如果您只想选择没有“Line \d”模式的文本,您可以使用它。
这是对您的正则表达式的微调:
(?:Line \d+\n)(.*?)(?=\nLine \d+\n|$)
因为我们不能在后面使用通配符,所以我像你一样使用非捕获组,并选择文本,直到我们再次点击行模式或文件结尾。
推荐阅读
- python - 该模型不按字母顺序按 id 对项目进行排序
- scrapy - 保存scrapy响应的屏幕截图
- javascript - 当字符串以“<”字符开头时,jQuery 正则表达式无法匹配
- unit-testing - 如何在 symfony 3 控制台命令测试中设置控制台参数
- c# - QuantConnect/Lean - 使用合并器的相同分辨率的不同指标值
- asp.net-core - 如何创建 ASP.NET Core 类库
- flutter - 我想为我的所有屏幕创建一个固定的 Appbar
- google-apps-script-addon - Google Apps Script Doc Add-on 安装失败
- python - 如何将依赖模式与 spaCy 匹配?
- javascript - React-Table 中的自动列不适用于 JSON 数组