2016-05-27 2 views
-3

Я пишу небольшую программу для извлечения серии ТВ Название с его сезоном. У меня есть список текстовых строк.Регулярное выражение или LINQ для сопоставления рисунка с использованием C#

 
Entourage Season 3 Part 2 | 5 NIGHT HIRE | 
Entourage Season 4 | 5 NIGHT HIRE | 
Entourage Season 5 | 5 NIGHT HIRE | 
Entourage Season 8 | 5 NIGHT HIRE | 
The Walking Dead: Season Four | 5 NIGHT HIRE | 
The Walking Dead: Season Three| 5 NIGHT HIRE | 
The Walking Dead: Season Two | 5 NIGHT HIRE | 
The Walking Dead: Season One | 5 NIGHT HIRE | 
Game Of Thrones: Season One| 5 NIGHT HIRE | 
Game Of Thrones: Season Two | 5 NIGHT HIRE | 

Мне нужно получить группу серий сериалов по сезону.

Entourage

 
Season 3 
Season 4 
Season 5 
Season 8 

The Walking Dead

 
Season One 
Season Two 
Season Three 
Season Four 

Game Of Thrones

 
Season One 
Season Two 

У меня есть регулярное выражение, чтобы соответствовать сезону, но это не сработало.

Match матч = Regex.Match (this.Content, @ "(:^| (:? [.!?] \ S)) (Сезон \ ш +)")

Мне нужна помощь с использованием выражения regualr в C# или с использованием запроса LINQ.

+2

Там нет вопроса здесь; вы даете нам задачу сделать для вас. Это не так, как работает SO. – Rob

+0

Брат, ты просишь задание для тебя .. – DDave

+0

Извините, брат, мне нужна строка регулярного выражения (не весь код), который я не смог написать. Мне кажется, мне нужно изучить шаблон регулярных выражений. Спасибо за напоминание. – MikMark

ответ

2

Этот LINQPad сценарий:

var text = @" 
    Entourage Season 3 Part 2 | 5 NIGHT HIRE | 
    Entourage Season 4 | 5 NIGHT HIRE | 
    Entourage Season 5 | 5 NIGHT HIRE | 
    Entourage Season 8 | 5 NIGHT HIRE | 
    The Walking Dead: Season Four | 5 NIGHT HIRE | 
    The Walking Dead: Season Three| 5 NIGHT HIRE | 
    The Walking Dead: Season Two | 5 NIGHT HIRE | 
    The Walking Dead: Season One | 5 NIGHT HIRE | 
    Game Of Thrones: Season One| 5 NIGHT HIRE | 
    Game Of Thrones: Season Two | 5 NIGHT HIRE |"; 
var matches = text.Split(new[]{"\r\n","\n"},0) 
        .Select(l => Regex.Match(l, @"^\s*(?<title>.+?)(?<season>Season \w+)")); 
var data = matches.Where (m => m.Success) 
        .Select (m => new {Title = m.Groups["title"].Value.Trim(':',' '),Season = m.Groups["season"].Value}); 

data.GroupBy(d => d.Title) 
    .Select (g => new {g.First().Title,Seasons = g.Select (x => x.Season)}).Dump(); 

возвращает это:

enter image description here

+0

спасибо, шаблон регулярного выражения^\ s * (? . +?) (? <season> Сезон \ w +) работает как шарм. Спасибо за ваш результат. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/415829/">MikMark</a></span> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4319274062" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">Смежные вопросы</div> <ul class="relative_list"> <li> 1. <a href="http://ru.voidcc.com/question/p-viqagxhd-rb.html" target="_blank" title="Регулярное выражение для рисунка"> Регулярное выражение для рисунка </a> </li> <li> 2. <a href="http://ru.voidcc.com/question/p-kiazgixc-q.html" target="_blank" title="C# Регулярное выражение для строки сопоставления"> C# Регулярное выражение для строки сопоставления </a> </li> <li> 3. <a href="http://ru.voidcc.com/question/p-kzcubodd-tk.html" target="_blank" title="Регулярное выражение для сопоставления grok"> Регулярное выражение для сопоставления grok </a> </li> <li> 4. <a href="http://ru.voidcc.com/question/p-wfwpunxm-qa.html" target="_blank" title="Регулярное выражение для сопоставления функций"> Регулярное выражение для сопоставления функций </a> </li> <li> 5. <a href="http://ru.voidcc.com/question/p-qciobnih-sy.html" target="_blank" title="Регулярное выражение для сопоставления адресов с использованием re-модуля"> Регулярное выражение для сопоставления адресов с использованием re-модуля </a> </li> <li> 6. <a href="http://ru.voidcc.com/question/p-usqlivwj-brh.html" target="_blank" title="Каким будет регулярное выражение для рисунка ниже?"> Каким будет регулярное выражение для рисунка ниже? </a> </li> <li> 7. <a href="http://ru.voidcc.com/question/p-ajgmttba-kr.html" target="_blank" title="Регулярное выражение для поиска этого рисунка:"> Регулярное выражение для поиска этого рисунка: </a> </li> <li> 8. <a href="http://ru.voidcc.com/question/p-ucbrisyh-sx.html" target="_blank" title="Регулярное выражение с использованием C#"> Регулярное выражение с использованием C# </a> </li> <li> 9. <a href="http://ru.voidcc.com/question/p-zygwbdkr-hz.html" target="_blank" title="Регулярное выражение для сопоставления переменных-членов"> Регулярное выражение для сопоставления переменных-членов </a> </li> <li> 10. <a href="http://ru.voidcc.com/question/p-shpsgrtj-bkh.html" target="_blank" title="Регулярное выражение для сопоставления п количества скобок"> Регулярное выражение для сопоставления п количества скобок </a> </li> <li> 11. <a href="http://ru.voidcc.com/question/p-sqnoenwp-k.html" target="_blank" title="Регулярное выражение (PCRE) для сопоставления URL-адресов"> Регулярное выражение (PCRE) для сопоставления URL-адресов </a> </li> <li> 12. <a href="http://ru.voidcc.com/question/p-cbgggpet-bhs.html" target="_blank" title="Регулярное выражение для сопоставления номера телефона"> Регулярное выражение для сопоставления номера телефона </a> </li> <li> 13. <a href="http://ru.voidcc.com/question/p-vyzqvuiu-bqm.html" target="_blank" title="Регулярное выражение для сопоставления нескольких случаев"> Регулярное выражение для сопоставления нескольких случаев </a> </li> <li> 14. <a href="http://ru.voidcc.com/question/p-ujvlmrco-bd.html" target="_blank" title="Регулярное выражение для сопоставления числовых столбцов"> Регулярное выражение для сопоставления числовых столбцов </a> </li> <li> 15. <a href="http://ru.voidcc.com/question/p-vigiurjz-hs.html" target="_blank" title="C# регулярное выражение для сопоставления sepcific текст внутри вложенных скобок"> C# регулярное выражение для сопоставления sepcific текст внутри вложенных скобок </a> </li> <li> 16. <a href="http://ru.voidcc.com/question/p-xlmwfrda-beh.html" target="_blank" title="Регулярное выражение для сопоставления журналов сервера"> Регулярное выражение для сопоставления журналов сервера </a> </li> <li> 17. <a href="http://ru.voidcc.com/question/p-fcaossui-ma.html" target="_blank" title="Нужно регулярное выражение для сопоставления повторяющихся строк символов (пример: ------------- или *****************)"> Нужно регулярное выражение для сопоставления повторяющихся строк символов (пример: ------------- или *****************) </a> </li> <li> 18. <a href="http://ru.voidcc.com/question/p-ofhdzpsv-mv.html" target="_blank" title="Swift - регулярное выражение для сопоставления круглых скобок"> Swift - регулярное выражение для сопоставления круглых скобок </a> </li> <li> 19. <a href="http://ru.voidcc.com/question/p-ttwgewar-hn.html" target="_blank" title="регулярное выражение для сопоставления количества и пространства"> регулярное выражение для сопоставления количества и пространства </a> </li> <li> 20. <a href="http://ru.voidcc.com/question/p-cvhlgctf-bmz.html" target="_blank" title="Регулярное выражение Javascript для сопоставления 5 или 9 цифр zipcode"> Регулярное выражение Javascript для сопоставления 5 или 9 цифр zipcode </a> </li> <li> 21. <a href="http://ru.voidcc.com/question/p-ktlfdivc-bcg.html" target="_blank" title="Регулярное выражение для правильного сопоставления групп"> Регулярное выражение для правильного сопоставления групп </a> </li> <li> 22. <a href="http://ru.voidcc.com/question/p-ujnlxlzq-rw.html" target="_blank" title="Регулярное выражение для сопоставления строки и замены"> Регулярное выражение для сопоставления строки и замены </a> </li> <li> 23. <a href="http://ru.voidcc.com/question/p-kuwodznn-bbn.html" target="_blank" title="Анализ HTML-документа: регулярное выражение или LINQ?"> Анализ HTML-документа: регулярное выражение или LINQ? </a> </li> <li> 24. <a href="http://ru.voidcc.com/question/p-sxwdmick-ex.html" target="_blank" title="Рубиновый регулярное выражение необходимо исключить рисунка на"> Рубиновый регулярное выражение необходимо исключить рисунка на </a> </li> <li> 25. <a href="http://ru.voidcc.com/question/p-acmwukmm-dv.html" target="_blank" title="Как обеспечить регулярное выражение для сопоставления $$"> Как обеспечить регулярное выражение для сопоставления $$ </a> </li> <li> 26. <a href="http://ru.voidcc.com/question/p-dzwgetqj-ey.html" target="_blank" title="регулярное выражение для сопоставления abc.com & abc.com/.*"> регулярное выражение для сопоставления abc.com & abc.com/.* </a> </li> <li> 27. <a href="http://ru.voidcc.com/question/p-dpmormtv-ph.html" target="_blank" title="Регулярное выражение Python для сопоставления несколько раз"> Регулярное выражение Python для сопоставления несколько раз </a> </li> <li> 28. <a href="http://ru.voidcc.com/question/p-qdsyfggg-bkc.html" target="_blank" title="Регулярное выражение для сопоставления пар значений значения"> Регулярное выражение для сопоставления пар значений значения </a> </li> <li> 29. <a href="http://ru.voidcc.com/question/p-kfsuhqxw-bgr.html" target="_blank" title="Регулярное выражение для сопоставления запроса, строка"> Регулярное выражение для сопоставления запроса, строка </a> </li> <li> 30. <a href="http://ru.voidcc.com/question/p-zgmzyvvb-m.html" target="_blank" title="Java регулярное выражение для неохотой сопоставления"> Java регулярное выражение для неохотой сопоставления </a> </li> </ul> </div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515422009"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> Последний вопрос </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://ru.voidcc.com/question/p-tfamtacr-wn.html" target="_blank" title="Используйте индекс потока CUDA как число"> Используйте индекс потока CUDA как число </a> </li> <li class="side_article_list_item"> 2. <a href="http://ru.voidcc.com/question/p-xrxmimit-xc.html" target="_blank" title="Unity5 admob межстраничный не внедряется в устройство"> Unity5 admob межстраничный не внедряется в устройство </a> </li> <li class="side_article_list_item"> 3. <a href="http://ru.voidcc.com/question/p-fvrdxalk-uv.html" target="_blank" title="Попытка вызова метода rom фрагмента B в фрагменте A и имеющий NPE"> Попытка вызова метода rom фрагмента B в фрагменте A и имеющий NPE </a> </li> <li class="side_article_list_item"> 4. <a href="http://ru.voidcc.com/question/p-gbjzogza-vu.html" target="_blank" title="Монадические операции внутри типа данных?"> Монадические операции внутри типа данных? </a> </li> <li class="side_article_list_item"> 5. <a href="http://ru.voidcc.com/question/p-epdscjbr-vn.html" target="_blank" title="Окно оверлей системы с Android NDK C++, вкл. OpenGL-ES для графики"> Окно оверлей системы с Android NDK C++, вкл. OpenGL-ES для графики </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> Смежные вопросы</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://ru.voidcc.com/question/p-viqagxhd-rb.html" target="_blank" title="Регулярное выражение для рисунка"> Регулярное выражение для рисунка </a> </li> <li class="side_article_list_item"> 2. <a href="http://ru.voidcc.com/question/p-kiazgixc-q.html" target="_blank" title="C# Регулярное выражение для строки сопоставления"> C# Регулярное выражение для строки сопоставления </a> </li> <li class="side_article_list_item"> 3. <a href="http://ru.voidcc.com/question/p-kzcubodd-tk.html" target="_blank" title="Регулярное выражение для сопоставления grok"> Регулярное выражение для сопоставления grok </a> </li> <li class="side_article_list_item"> 4. <a href="http://ru.voidcc.com/question/p-wfwpunxm-qa.html" target="_blank" title="Регулярное выражение для сопоставления функций"> Регулярное выражение для сопоставления функций </a> </li> <li class="side_article_list_item"> 5. <a href="http://ru.voidcc.com/question/p-qciobnih-sy.html" target="_blank" title="Регулярное выражение для сопоставления адресов с использованием re-модуля"> Регулярное выражение для сопоставления адресов с использованием re-модуля </a> </li> <li class="side_article_list_item"> 6. <a href="http://ru.voidcc.com/question/p-usqlivwj-brh.html" target="_blank" title="Каким будет регулярное выражение для рисунка ниже?"> Каким будет регулярное выражение для рисунка ниже? </a> </li> <li class="side_article_list_item"> 7. <a href="http://ru.voidcc.com/question/p-ajgmttba-kr.html" target="_blank" title="Регулярное выражение для поиска этого рисунка:"> Регулярное выражение для поиска этого рисунка: </a> </li> <li class="side_article_list_item"> 8. <a href="http://ru.voidcc.com/question/p-ucbrisyh-sx.html" target="_blank" title="Регулярное выражение с использованием C#"> Регулярное выражение с использованием C# </a> </li> <li class="side_article_list_item"> 9. <a href="http://ru.voidcc.com/question/p-zygwbdkr-hz.html" target="_blank" title="Регулярное выражение для сопоставления переменных-членов"> Регулярное выражение для сопоставления переменных-членов </a> </li> <li class="side_article_list_item"> 10. <a href="http://ru.voidcc.com/question/p-shpsgrtj-bkh.html" target="_blank" title="Регулярное выражение для сопоставления п количества скобок"> Регулярное выражение для сопоставления п количества скобок </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://ru.voidcc.com/contact">Свяжитесь с нами</a></li> <li>© 2020 RU.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>