在符号之间获取文本,正则表达式?

时间:2009-06-21 00:02:10

标签: c# asp.net regex

我遇到了问题,我无法找到一种在符号之间输出文字的方法。

site.com/hello-world/my-page-title/

我想获得我的页面标题?怎么样? 谢谢你的帮助,

4 个答案:

答案 0 :(得分:1)

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

.+/(.+)/

如果斜线有时会遗漏,您可以使用

.+/(.+)/?

答案 1 :(得分:0)

这个正则表达式将“my-page-title”放在第二组:

^([^/]*/){2}([^/]*)/$

如果您一直想要最后一组,您可以使用:

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

答案 2 :(得分:0)

嗯,我对正则表达式不是很好,但是title return null?

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

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

答案 3 :(得分:0)

您可以使用正则表达式或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];