首页 > 解决方案 > 匹配正则表达式中的部分

问题描述

我已经有一段时间了,但无法获得正则表达式。

我有如下纯文本

1.1 节

dsfdsf
G
fdgdf
G
dfgfdg

1.2 节

这是
第一部分

1.3 节
dfgdfgfd
G
dfgdfg

1.4 节
dfgfdgfd
G
fdg

我想找到所有的部分。

第一场比赛

1.1 节

dsfdsf
G
fdgdf
G
dfgfdg

第 2 场比赛

1.2 节

这是
第一部分

请帮忙。

标签: regex

解决方案


这个正则表达式是你需要的,

\d+\.\d+\s+Section[\w\W]+?(?=\R*(?:\d+\.\d+|$))

对此正则表达式的解释如下,

  • \d+\.\d+- 匹配一个或多个数字,后跟一个点,后跟一个或多个数字。
  • \s+Section- 匹配一个或多个空格后跟Section单词。i如果要使其不区分大小写,可以启用标志。
  • [\w\W]+?(?=\R*(?:\d+\.\d+|$))- 由于非贪婪 ( ) 捕获,尽可能少地捕获一个或多个任何字符,包括换行符,+?并在看到可选的新行后跟一个或多个数字加上一个点后跟一个或多个数字或结束时停止的字符串。

演示网址


推荐阅读