正则表达式只获得3.X的字符串

use*_*493 2 c# regex

我有一些字符串:

 - 3.1 TitleA
 - 3.1.1 TitleB
 - 3.1.1.1 TitleC
 - 3.2 TitleD
 - 3.2.1 TitleE
 - 3.2.2 TitleF
 - 3.3 TitleG
Run Code Online (Sandbox Code Playgroud)

我想只获得以3.XI开头的标题试图使用(C#):

Match m = Regex.Match(table_of_content[i], "3.[1-999]");
Run Code Online (Sandbox Code Playgroud)

但它给了我一些标题,我3.2.1 怎么才能获得以3.X开头的标题?

先感谢您

nha*_*tdh 6

一个快速的解决方案是:

@" 3\.\d+ "
Run Code Online (Sandbox Code Playgroud)

这假设在节号之前和之后有空格.

如果假设适用,这是避免匹配案例的最简单的解决方案,例如:

  • 13.2(之前出现的其他数字3)
  • 2.3.2(3不是最高级别的部分编号)
  • 3.10.1 (超过2个级别的子部分)