Вопрос по asp.net, c#, regex – Получить текст между символами, регулярное выражение?

1

У меня проблема, я не могу найти способ вывести текст между символами.

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

я хочу получить только заголовок моей страницы? Как? Спасибо за вашу помощь,

Ваш Ответ

4   ответа
0

я не так хорош в регулярных выражениях, но возвращаемое название равно нулю?

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

это сработало, * была ошибка в коде регулярного выражения

вам нужно + после [^ /], иначе он будет захватывать только заголовки длиной в один символ, поэтому вы получаете ноль.
0

        //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];
1

й группе захвата, пока URI заканчивается косой чертой

.+/(.+)/

если слеш иногда пропускает, вы можете использовать

.+/(.+)/?
0

пе:

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

Если вы всегда хотите последнюю группу, вы можете использовать:

^.*/([^/]*)/$
это работает очень хорошо!
^. * / не обязательно во втором регулярном выражении.
Ба, форматирование спрятал мой *

Похожие вопросы