C# 获取符号之间的文本,正则表达式?

C# 获取符号之间的文本,正则表达式?,c#,asp.net,regex,C#,Asp.net,Regex,我有一个问题,我想不出一个办法,让文字之间的符号 site.com/hello-world/my-page-title/ 我只想获取我的页面标题?怎么用? 感谢您的帮助,此正则表达式将“我的页面标题”放入第二组: ^([^/]*/){2}([^/]*)/$ 如果您总是想要最后一组,您可以使用: ^.*/([^/]*)/$ 此正则表达式将“我的页面标题”放入第二组: ^([^/]*/){2}([^/]*)/$ 如果您总是想要最后一组,您可以使用: ^.*/([^/]*)/$ 只要URI以

我有一个问题,我想不出一个办法,让文字之间的符号

site.com/hello-world/my-page-title/
我只想获取我的页面标题?怎么用? 感谢您的帮助,

此正则表达式将“我的页面标题”放入第二组:

^([^/]*/){2}([^/]*)/$
如果您总是想要最后一组,您可以使用:

^.*/([^/]*)/$
此正则表达式将“我的页面标题”放入第二组:

^([^/]*/){2}([^/]*)/$
如果您总是想要最后一组,您可以使用:

^.*/([^/]*)/$

只要URI以斜杠终止,这个正则表达式总是为您提供第一个捕获组中的最后一个URI段

.+/(.+)/
如果斜杠有时会漏掉,您可以使用

.+/(.+)/?

只要URI以斜杠终止,这个正则表达式总是为您提供第一个捕获组中的最后一个URI段

.+/(.+)/
如果斜杠有时会漏掉,您可以使用

.+/(.+)/?

嗯,我不太擅长正则表达式,但标题返回空

string url = /hello-world/my-page-text/    
string title = Regex.Match(url, @"^*./([^/])/$").Groups[1].Value;

它确实有效,*是正则表达式代码中的错误

好吧,我对正则表达式不太在行,但是标题返回null

string url = /hello-world/my-page-text/    
string title = Regex.Match(url, @"^*./([^/])/$").Groups[1].Value;

它确实有效,*是regex代码中的错误

您可以使用regex或String.Split

        //Regex
        string s = "site.com/hello-world/my-page-title/";
        Match match = Regex.Match(s, "([^/]+)/$");
        string matchedString = match.Groups[1].Value;


        //Split
        string[] sections = s.Split(new char[]{'/'},StringSplitOptions.RemoveEmptyEntries);
        string lastSection = sections[sections.Length - 1];

您可以使用regex或String.Split

        //Regex
        string s = "site.com/hello-world/my-page-title/";
        Match match = Regex.Match(s, "([^/]+)/$");
        string matchedString = match.Groups[1].Value;


        //Split
        string[] sections = s.Split(new char[]{'/'},StringSplitOptions.RemoveEmptyEntries);
        string lastSection = sections[sections.Length - 1];

在[^/]之后需要+否则它将只捕获一个字符长的标题,这就是为什么会得到null。在[^/]之后需要+否则它将只捕获一个字符长的标题,这就是为什么会得到null。在第二个正则表达式中^.*/不是必需的。在第二个正则表达式中^.*/不是必需的。