Бесплатно напишу регулярное выражение. Часть 2.

  • Автор темы Автор темы LightWood
  • Дата начала Дата начала
Просьба еще помочь с регуляркой.
Задача: по концу предложения разделить исходный текст регулярками на анонс (около 600 символов) и основную часть, т.е. сделать два текста без повторяющихся предложений.
Вот что у меня получилось:
Первая регулярка (вроде работает): \A[\w\W]{1,600}\w\.
Вторая: (?<=\A[\w\W]{1,600}\w\.)[\w\W]*\Z
начинает брать текст с "В администрации", т.е. тексты пересекаются.
Как исправить вторую, чтобы брало со слов "В сентябре" ???

Вот исходный текст:
---------------------------------

Солдат израильской армии запускает беспилотник Фото: REUTERS 2015
О срыве сделки агентству анонимно рассказал израильский чиновник, который не был уполномочен обсуждать этот вопрос под запись.
2 --> В администрации премьер-министра Нетаньяху, Минобороны Израиля и компании IAI, изготовителе БПЛА, отказались от комментариев.
Агентство пишет, что в октябре 2014 года во время визита в Израиль главы украинского МИДа Павла Климкина он заявил местным журналистам, что его страна очень заинтересована в поставках израильских беспилотников, чтобы мониторить соблюдение перемирия с ополченцами. <-- 1
? --> В сентябре
, напоминает агентство, второй канал израильского телевидения сообщал, что компания IAI договорилась о продаже Украине беспилотников, однако сделка была сорвана под давлением ее противников в правительстве Израиля.
СМИ сообщали, что сделку заблокировал МИД Израиля, опасающийся испортить отношения с Россией.
По словам научного сотрудника Института исследований национальной безопасности в Тель-Авиве Сары Файнберг, Израиль воздерживался от поставок вооружений Киеву в надежде, что Россия не будет поставлять ЗРК С-300 Ирану, но теперь собирается пересмотреть свою позицию.
Источник агентства в Израиле полагает, что Россия отказывалась поставлять зенитно-ракетные комплексы Ирану, чтобы не сорвать закупку израильских беспилотников, но, получив первые образцы этой технологии, перестала рассматривать эту сделку как сдерживающий фактор...
 
В принципе решил через автозамену, но хотелось бы, если кто знает регулярку рабочую увидеть, для общего развития.
Спасибо.
 
Не пойму почему, но регулярки
Код:
Развернуть Свернуть Копировать
.*(?=\ )
и
Код:
Развернуть Свернуть Копировать
(?<=\ ).*
не вырезают email из строки типа мыло@mail.ru:пароль
Мне просто нужно получить мыло (до @) и пароль.
 
Код:
Развернуть Свернуть Копировать
.*(?=@)
(?<=:).*
 
  • Спасибо
Реакции: Astraport
Привет всем,кто может помочь с регуляркой для wordstat, точнее что бы парсить только левую колонку. У меня получается только парсить все ключи с двух колонок. Кто может помочь?
 
Как получить каждую вторую/третью/десятую?
Есть такой список хочу удалить каждую вторую (пхп поэтому буду юзать preg_replace)
Подскажите, есть регулярки которые выдергивают только каждое второе/третье и т.д. совпадение?
<a href="/page1.html" title="page1" style="font-size:1.3em">page1</a>
<a href="/page2.html" title="page2" style="font-size:1.4em">page2</a>
<a href="/page3.html" title="page3" style="font-size:1.0em">page3</a>
<a href="/page1.html" title="page1" style="font-size:1.3em">page1</a>
<a href="/page2.html" title="page2" style="font-size:1.4em">page2</a>
<a href="/page3.html" title="page3" style="font-size:1.0em">page3</a>
<a href="/page2.html" title="page2" style="font-size:1.4em">page2</a>
<a href="/page3.html" title="page3" style="font-size:1.0em">page3</a>
<a href="/page2.html" title="page2" style="font-size:1.4em">page2</a>
<a href="/page3.html" title="page3" style="font-size:1.0em">page3</a>
<a href="/page1.html" title="page1" style="font-size:1.3em">page1</a>
<a href="/page2.html" title="page2" style="font-size:1.4em">page2</a>
<a href="/page3.html" title="page3" style="font-size:1.0em">page3</a>
 
Номер совпадения используйте в экшене Операции с текстом - Regex
 
Не пойму почему, но регулярки
Код:
Развернуть Свернуть Копировать
.*(?=\ )
и
Код:
Развернуть Свернуть Копировать
(?<=\ ).*
не вырезают email из строки типа мыло@mail.ru:пароль
Мне просто нужно получить мыло (до @) и пароль.
1. получить мыло до собаки
.*(?=@)
2. получить пароль
(?<=:).*
 
Просьба еще помочь с регуляркой.
Задача: по концу предложения разделить исходный текст регулярками на анонс (около 600 символов) и основную часть, т.е. сделать два текста без повторяющихся предложений.
Вот что у меня получилось:
Первая регулярка (вроде работает): \A[\w\W]{1,600}\w\.
Вторая: (?<=\A[\w\W]{1,600}\w\.)[\w\W]*\Z
начинает брать текст с "В администрации", т.е. тексты пересекаются.
Как исправить вторую, чтобы брало со слов "В сентябре" ???

Вот исходный текст:
---------------------------------

Солдат израильской армии запускает беспилотник Фото: REUTERS 2015
О срыве сделки агентству анонимно рассказал израильский чиновник, который не был уполномочен обсуждать этот вопрос под запись.
2 --> В администрации премьер-министра Нетаньяху, Минобороны Израиля и компании IAI, изготовителе БПЛА, отказались от комментариев.
Агентство пишет, что в октябре 2014 года во время визита в Израиль главы украинского МИДа Павла Климкина он заявил местным журналистам, что его страна очень заинтересована в поставках израильских беспилотников, чтобы мониторить соблюдение перемирия с ополченцами. <-- 1
? --> В сентябре
, напоминает агентство, второй канал израильского телевидения сообщал, что компания IAI договорилась о продаже Украине беспилотников, однако сделка была сорвана под давлением ее противников в правительстве Израиля.
СМИ сообщали, что сделку заблокировал МИД Израиля, опасающийся испортить отношения с Россией.
По словам научного сотрудника Института исследований национальной безопасности в Тель-Авиве Сары Файнберг, Израиль воздерживался от поставок вооружений Киеву в надежде, что Россия не будет поставлять ЗРК С-300 Ирану, но теперь собирается пересмотреть свою позицию.
Источник агентства в Израиле полагает, что Россия отказывалась поставлять зенитно-ракетные комплексы Ирану, чтобы не сорвать закупку израильских беспилотников, но, получив первые образцы этой технологии, перестала рассматривать эту сделку как сдерживающий фактор...

ну так у вас предшествующий текст лежит в диапазоне от 1 до 600 символов, регулярка находит ближайшее к 1це совпадение всех условий.
например, можно увеличить этот момент, подогнав к 600. (?<=\A[\w\W]{500,600}\w\.)[\w\W]*\Z - в вашем тексте будет брать то, что надо.
вообще, не очень понятное задание, если поточнее бы написали тз было бы проще.
 
Привет всем,кто может помочь с регуляркой для wordstat, точнее что бы парсить только левую колонку. У меня получается только парсить все ключи с двух колонок. Кто может помочь?
исходник страницы выложите, тогда можно будет подсказать
 
Привет всем,кто может помочь с регуляркой для wordstat, точнее что бы парсить только левую колонку. У меня получается только парсить все ключи с двух колонок. Кто может помочь?
посмотрел, там верстка одинаковая на обоих колонках, значит просто надо брать совпадения от 0 до 49 включительно, это будет только левая колонка
 
... ибо туплю уже пол дня
Есть число в формате 123,456 нужно получить в итоге 123456, т.е. убрать запятую если она есть.
Запятой может и не быть, поэтому вариант просто умножить число на 1000 не подходит
 
Операции с текстом - Замена
Что заменить: запятая
На что: пустота
Тип поиска text
Регулярки не нужны тут
 
Есть рандомное число из 11 символов. Надо взять от 2 до 9 символа.
т.е из 1234567891011, надо получить 23456789
 
Выручайте с контактом не могу получить регуляркой число подписчиков вернее могу но когда число меньше трех символов если например 999 все ок
<span class="fl_r thumb"></span><span class="fl_r">10</span>Подписчики(10 подписчиков) сама регулярка (?<=<span\ class="fl_r">).*?(?=</span>Подписчики)
Но как только подписчиков становится тысячи число на странице разбивается
<span class="fl_r">3<span class="num_delim"></span>398</span>Подписчики(3398 подписчиков) результат обработки 3<span class="num_delim"> </span>398. Помогите у меня ах голова разболелась :))
 
Так потом просто обработайте еще операциями с текстом - Замена. И удалите пробелы и <.*?> По регулярке
 
  • Спасибо
Реакции: j1231
Кароче во ваще я тупняк в верхнем поле обработка текста забыл указать переменную со спаршеным результатом по регулярке. Rostonix вездесущий ты наш :) чеб я без тя делал.
 
Всем еще раз привет хотел узнать можно ли в в своем коде С#
присвоить уже созданную переменную допустим есть DOM cо спаршеным по регулярке
текстом и помещенным в переменную test
Можно ли так прописть в соем коде
string text = '{-Variable.test-}' присвоится ли значение переменной text
 
Последнее редактирование:
Код:
Развернуть Свернуть Копировать
string text = project.Variables["test"].Value;
 
  • Спасибо
Реакции: j1231
Хай, гайз.
Что-то туплю.
Вот регулярка:
(?<=src=").*?\.jpg(?=_)

Собственно всем понятно что она делает. Но мне нужно чтобы парсились только ссылки на картинки которые не содержат текст "nophoto".
есть такой атрибут (?!nophoto).
Воткнуть что-то правильно его никак не получается. Или как тут лучше поступить?
Хелп.
 
для строки src="nophoto.jpg подойдет такой вариант (?<=src=")(?!nophoto)\w+\.jpg
 
(?<=src=")((?!nophoto)\w)+\.jpg
 
подскажите регулярку, надо удалить начиная с третьей точки
было
20.225.D0860.302
20.230.Е0780.107
стало
20.225.D0860
20.230.Е0780
 
\.\d+(?=\r\n|$)
 
Подскажите пожалуйста, как взять первый шесть символов (числа) из строки. Очень нужно. Пробую по разному, но не получается что-то. Да-да, знаю, что это должно быть элементарно. Стыжусь)
 
Подскажите пожалуйста, как взять первый шесть символов (числа) из строки. Очень нужно. Пробую по разному, но не получается что-то. Да-да, знаю, что это должно быть элементарно. Стыжусь)
Если там точно будет число, то можно и так
.{6}
если непонятно что, а нужно брать только из цифровой строки, то должно так работать
\d{6}
 
  • Спасибо
Реакции: major555 и ZennoScript
Спасибо. Еще вот такая тема сработала ^[0-9]{6}
 
  • Спасибо
Реакции: LightWood

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)