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

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

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2019, 17:14   #11
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Sscreenshot from 2019-07-12 16-54-01.png
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 12.07.2019, 17:15   #12
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
вам же сайт пишет Full Match Group 1 Group 2 .. и т.д.
Ну не всегда есть возможность группы выбирать. Это я самое простое показал чтобы вопрос сформулировать. По идее то мне надо чтобы регекс уже внутри своего движка не учитывал заданный символ. У меня строка то огромная и внутри нее куча разных подгрупп. Там сложно будет подобрать алгоритм коректного разбора.
Ну это ладно ... нельзя так нельзя. А второй вопрос не подскажите? Чего ему не нравится то?? Нужно найти строку содержащую слова в определенном порядке но между ними может быть что угодно.

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
О .. спасибо. Поработаю в этом направлении. А второй вопросик знаете?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 12.07.2019, 17:33   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Ну это ладно ... нельзя так нельзя.
а проверить то, что Вам Alex11223 насчёт \b..\b предложил сложно, что ли?!!

Код:
			string s = "оцениваю оцениваю по цене большая ЦЕНА уценённый товар, рост цен обесценил цену";
			Regex regex = new Regex(@"\b(цен\S*)\b", RegexOptions.IgnoreCase);
			
			MatchCollection matches = regex.Matches(s);
			if (matches.Count > 0)
			{
				foreach (Match match in matches)
					Console.WriteLine(">{0}<",match.Value);
			}
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.07.2019, 17:37   #14
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а проверить то, что Вам Alex11223 насчёт \b..\b предложил сложно, что ли?!!

Код:
			string s = "оцениваю оцениваю по цене большая ЦЕНА уценённый товар, рост цен обесценил цену";
			Regex regex = new Regex(@"\b(цен\S*)\b", RegexOptions.IgnoreCase);
			
			MatchCollection matches = regex.Matches(s);
			if (matches.Count > 0)
			{
				foreach (Match match in matches)
					Console.WriteLine(">{0}<",match.Value);
			}
Я про вопрос почему \W+ не обрабатывает. С ценами я понял. Спасибо.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 12.07.2019, 17:47   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Я про вопрос почему \W+ не обрабатывает
а Билл его знает!

замените:
Код:
			string tess = "Для понимания текста необходимо хорошее знание древнегреческой мифологии";
			Regex eee = new Regex(@"(пониман\S+).+(хоро\S+).+(мифоло\S+)", RegexOptions.IgnoreCase);			

			MatchCollection matches2 = eee.Matches(tess);
			if (matches2.Count > 0)
			{
				foreach (Match match in matches2){
					Console.WriteLine("Full Match: >{0}<",match.Value);
					for(int i=1;i<=3;i++){
						Console.WriteLine("\tГруппа {0}: >{1}<",i, match.Groups[i] );
					}
				}
			}
			else
			{
				Console.WriteLine("Совпадений не найдено");
			}
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.07.2019, 18:03   #16
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

А билл оказывается не причем. Оказывается все верно.
Студия проверяет все в юникоде видимо, а на ресурсе https://regex101.com/ нужно принудительно выставить параметры поиска.

Так что вот этот вариант рабочий:
"(пониман\S+).+(хоро\S+).+(мифоло\S +)"

Спасибо добрые люди. ))
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 29.07.2019, 10:09   #17
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

В продолжении темы опять чтото непонятное творится. Не получается вытащить текст между тэгами. Составил выражение но выборка какая то странная. Мне в идеале нужно получить 3 группы. Начало тэга с параметрами, тело тэга и хвост. Причем работать должно даже если есть переносы строк или символы табуляции в любой части строки.

Код:
(<table((.|[\r\n\t])*?)>)((.|[\r\n\t])*?)(<\/table>)
Но в итоге почему то последний символ блока как отдельная группа выделяется. Можно это побороть?





Отбой. Поборол ))
Вот правильный вариант:
Код:
(<table.*?[\r\n\t]*?>)(.*?[\r\n\t]*?)*(<\/table>)
Изображения
Тип файла: jpg Безымянный.jpg (63.0 Кб, 25 просмотров)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.

Последний раз редактировалось WorldMaster; 29.07.2019 в 10:33.
WorldMaster вне форума Ответить с цитированием
Старый 29.07.2019, 10:35   #18
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Возьмите HTML парсер.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.07.2019, 11:00   #19
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Возьмите HTML парсер.
Какой например?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 29.07.2019, 11:13   #20
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

HtmlAgilityPack
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Regex record222 PHP 2 20.01.2013 14:43
C# и regex Vigo_Alex Помощь студентам 0 12.10.2010 02:26
Java, regex Namolem Помощь студентам 0 02.05.2010 23:07
Regex Cpluser Общие вопросы .NET 1 27.04.2010 14:52
Regex CWD Общие вопросы .NET 6 14.11.2009 23:42