我只想在我的角色匹配后得到接下来的 5 个词

Regex在 C# 中使用。我想在我的字符串匹配后得到接下来的 5 个单词。

Regex regex = new Regex("Born(.*){0,5}");
string result = regex.Match(UrlString).Value;

首先,我需要找到“Born”这个词。然后我需要在找到“Born”这个词后得到接下来的 5 个词。

例子

输入:

例子——莫迪出生在瓦德纳加尔的一个古吉拉特语家庭,小时候帮助父亲卖茶,后来经营自己的摊位。

结果:

到古吉拉特语家庭

但我没有得到想要的结果。


函数式编程
浏览 74回答 2
2回答

温温酱

Regex r = new Regex("Born (?<words>([^ ]+ ){5})");string input = "asd Born asd asd asd asd asd asd asd asd asd asd Born qwe qwe qwe qwe qwe rtz rtz rtz";foreach (Match m in r.Matches(input)){&nbsp; &nbsp; Console.WriteLine(m.Groups["words"].Value);}解释:(?<words>xxxxxx) // is a group which can be accessed from Matches[^ ] // All characters except space " "+ // one or more times([^ ]+ ) // characters followed by a space => A word{5} // five words

狐的传说

string&nbsp;result&nbsp;=&nbsp;UrlString.Substring(UrlString.IndexOf("Born"),&nbsp;300);使用正则表达式:string&nbsp;result&nbsp;=&nbsp;Regex.Match(UrlString,@"Born(.){300}").ToString())
打开App,查看更多内容
随时随地看视频慕课网APP