Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2016, 01:55   #1
hiz
Новичок
Джуниор
 
Регистрация: 07.02.2016
Сообщений: 3
По умолчанию Подскажите по синтаксису C#

Есть такой код:
Код:
var matches = Regex.Matches(resultHttpGet,@"[\wа-я]+").Cast<Match>().Select(match => match.Value).ToList();;
return string.Join("\r\n",matches);
Мне нужно заменить регулярку на свою
Код:
(?<="url":).*?(?=.)
Как её прописать? экранировать?)
И ещё вопрос:
как добавить в этот код ещё две регулярки:
Код:
(?<=as=).*?(?=\\)
и
Код:
(?<=id=).*?(?=\\)
то есть все три регулярки обработать по очереди.
hiz вне форума Ответить с цитированием
Старый 07.02.2016, 01:57   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Если с @, то "".
Если без, то \" (но тогда соответственно для \ надо \\).

А вообще HTML обычно проще HTML парсерами парсить, а не регекспами. Например HtmlAgilityPack (XPath).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 07.02.2016 в 02:00.
Alex11223 вне форума Ответить с цитированием
Старый 07.02.2016, 02:14   #3
hiz
Новичок
Джуниор
 
Регистрация: 07.02.2016
Сообщений: 3
По умолчанию

Прошу прощения, я с C# никогда не сталкивался
Но если так:
Код:
var matches = Regex.Matches(resultHttpGet,@"(?<="url":).*?(?=.)").Cast<Match>().Select(match => match.Value).ToList();;
return string.Join("\r\n",matches);
то ошибка
видимо кавычки "url" надо как-то экранировать?

Последний раз редактировалось hiz; 07.02.2016 в 02:19.
hiz вне форума Ответить с цитированием
Старый 07.02.2016, 02:25   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну так я ж и говорил.
Код:
Console.WriteLine(@"двойная кавычка "" и \.");
Код:
Console.WriteLine("двойная кавычка \" и \\.");
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 07.02.2016, 02:33   #5
hiz
Новичок
Джуниор
 
Регистрация: 07.02.2016
Сообщений: 3
По умолчанию

Alex11223, а покажите на моём примере, чтоб понять, а то не доходит.
Код:
Regex.Matches(resultHttpGet,@"(?<="url":).*?(?=",)")
Код:
Regex.Matches(resultHttpGet,@"(?<=""url"":).*?(?="",)")
правильно?

Последний раз редактировалось hiz; 07.02.2016 в 02:52.
hiz вне форума Ответить с цитированием
Старый 07.02.2016, 13:43   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шпаргалка по синтаксису eduard93 Паскаль, Turbo Pascal, PascalABC.NET 1 05.09.2011 13:17
jquery по синтаксису 92avenu JavaScript, Ajax 3 01.04.2011 17:00
с# и с++ по синтаксису различаются? quarty Помощь студентам 4 25.01.2011 10:40
Вопрос по синтаксису Неофит Общие вопросы C/C++ 2 17.01.2011 20:04
Вопрос по синтаксису Brucebelg Microsoft Office Excel 3 28.05.2010 18:07