C# 用正则表达式在C中破句#

C# 用正则表达式在C中破句#,c#,regex,C#,Regex,我正在尝试断开以下字符串: 1. This is first 2. This is 45. second 3. This is third 使用正则表达式: question = Regex.Split(strText, @" [0-9]+\. "); 结果是: 1. This is first 2. This is 45. second 3. This is third 如我所愿: 1. This is first 2. This is 45. second 3. This i

我正在尝试断开以下字符串:

1. This is first 2. This is 45. second 3. This is third
使用正则表达式:

question = Regex.Split(strText, @" [0-9]+\. ");
结果是:

1. This is first 
2. This is 
45. second 
3. This is third
如我所愿:

1. This is first 
2. This is 45. second 
3. This is third
实际上我想用1中的数字来打断字符串。到30岁。如果语句中出现任何其他数字,则不应将其打断。 如何处理此字符串以获得上述结果?

请尝试:


更新

正则表达式正确匹配1到30之间的数字,后跟一个点作为分隔符,问题在于
regex.Split()
行为。我认为使用
Regex.Split()
不能一步到位。 使用
Regex.Replace
String.Split()

演示:

尝试:


更新

正则表达式正确匹配1到30之间的数字,后跟一个点作为分隔符,问题在于
regex.Split()
行为。我认为使用
Regex.Split()
不能一步到位。 使用
Regex.Replace
String.Split()


演示:

它可以工作,但给出的结果是:问题[0]=1,问题[1]=这是第一个,依此类推……它可以工作,但给出的结果是:问题[0]=1,问题[1]=这是第一个,依此类推。。。
Regex.Split(strText, @"\b([0-2]?[1-9]|30)\.");
question = Regex.Replace(strText, @"(\b([0-2]?[1-9]|30)\.)", System.Environment.NewLine + "$1").Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);