Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
4 / 4 / 0
Регистрация: 11.08.2010
Сообщений: 28

Регулярное выражение, парсер подсказок

31.08.2010, 19:49. Показов 1785. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Вот такой вопрос возник. Выполняю регулярное выражение.

(\[\[\"|\,\[\")(.+?)(\")

над текстом

window.google.ac.h(["word",[["wordpress","","0"],["wordle","","1"],["word count","","2"],["words with friends","","3"],["wordpress themes","","4"],["word of the day","","5"],["word games","","6"],["wordreference","","7"],["word counter","","8"],["word unscrambler","","9"]],"","","","","",{}])

при выводе результата получаю:

[["wordpress"
,["wordle"
,["word count"
,["words with friends"
,["wordpress themes"
,["word of the day"
,["word games"
,["wordreference"
,["word counter"
,["word unscrambler"

Вот код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < listKeys.Lines.Count(); i++)
            {
                for (int j=0;j<listServ.Items.Count;j++)
                {
                    string serv = listServ.Items[j].ToString();
                    serv = serv.Replace("{KEYWORD}", listKeys.Lines[i]);
                    string rez = GetHtmlPageText(serv);
                    Regex pat = new Regex(listRegs.Items[j].ToString());
                    MatchCollection matchcol = pat.Matches(rez);
                    foreach (Match match in matchcol)
                    {
                        richResult.Text=richResult.Text+"\n"+match.Value;
                    }
                   
                    richResult.Text += rez;
                }         
            }
        }

Как вывести просто слова, без кавычек и скобок? Если в регулярке убираю 1 и 3 скобки, вот так - \[\[\"|\,\[\"(.+?)\" , то в результате первое слово обрезается, а скобки и кавычки все равно остаются.
Важно выполнение регулярки именно за один шаг, так пишу универсальный парсер, где пользователь сам сможет указывать сервера, ну и рег. выражения.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.08.2010, 19:49
Ответы с готовыми решениями:

Составить регулярное выражение (парсер kinopoisk)
Пытаюсь сделать парсер для kinopoisk.ru. Возникло два вопроса: 1. При попытке парсинга страницы одного фильма, возвращается страница, что...

Регулярное выражение
Помогите написать регулярное выражение на С# для такой строки &lt;form...

Регулярное выражение
Нужна проверка на валидность введенной команды, допустимые варианты - 0, 1, 2, мой способ хавает ввод типа 12, 21, 01, то есть совпадение...

5
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
31.08.2010, 22:38
хороший вопрос, я так и не придумал ничего в аналогичной ситуации, пришлось методами строк вычищать скобки и лишние символы

дабы не флудить - знаю отличный сайт для тестирования регулярок в реальном времени http://rubular.com/
0
4 / 4 / 0
Регистрация: 11.08.2010
Сообщений: 28
01.09.2010, 12:44  [ТС]
Что-то я вчера конкретно ступила. Нужно было результат регулярного выражения разбить на группы. Тип GroupCollection Match.Groups
Регулярка правильная))) (\[\[\"|\,\[\")(.+?)(\")

Вот что получилось:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    private string[] parse_page(string reg, string text)
        {
            Regex pat = new Regex(reg);
            MatchCollection matchcol = pat.Matches(text);
 
            string[] keys = new string[matchcol.Count];
 
            for (int z = 0; z < matchcol.Count; z++)
            {
                keys[z] = matchcol[z].Groups[2].ToString();
            }
 
            return keys;
        }
1
 Аватар для Sergei
1513 / 780 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
01.09.2010, 22:07
Цитата Сообщение от miachka Посмотреть сообщение
Нужно было результат регулярного выражения разбить на группы
100% именно так и надо делать
0
 Аватар для sigmov
585 / 372 / 63
Регистрация: 22.07.2009
Сообщений: 875
Записей в блоге: 4
06.09.2010, 23:35
Цитата Сообщение от miachka Посмотреть сообщение
Добрый день! Вот такой вопрос возник. Выполняю регулярное выражение.

(\[\[\"|\,\[\")(.+?)(\")
(?<=\[\[\"|\,\[\")(?:.+?)(?=\")

Тогда ресурсы сэкономите на выделение 3х лишних элементов группы
1
4 / 4 / 0
Регистрация: 11.08.2010
Сообщений: 28
07.09.2010, 00:16  [ТС]
Цитата Сообщение от sigmov Посмотреть сообщение
(?<=\[\[\"|\,\[\")(?:.+?)(?=\")
Спасибо! Работает! А вы не поясните что значат
?<=
?:
?=
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.09.2010, 00:16
Помогаю со студенческими работами здесь

Регулярное выражение на c#
Помогите, пожалуйста, с помощью регулярки на языке c# из следующего текста (используйте это как одну строку): ...

Регулярное выражение
Суть такова нужно найти процент схожести шаблона в тексте текст : приветкакделапливетмойдругправетальберт шаблон: привет ...

Регулярное выражение
Товарищи, столкнулся с проблемой. нужно распарсить строку 90219( 60розовый)-1/90215( 60черный/белый )-2/90230-9(...

Регулярное выражение
Если строка выглядит так, &quot;123;-123;4454;-123123;&quot;, то можно продолжать программу, а если &quot;123;-12-3;4вasd5ррова4;-123123;&quot;, то...

Регулярное выражение
помогите пожалуууйста с программой на регулярные выражения!!!!Дана строка, в которой содержится осмысленное текстовое сообщение. Слова...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru