<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649812</guid>
        <pubDate>Thu, 28 Jan 2016 09:24:55 +0000</pubDate>
        <title>Вопрос по regexp_replace</title>
        <link>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649812</link>
        <description><![CDATA[#SI#: Получается :D <br>
<img class='tag-img' src='http://storage3.static.itmages.ru/i/16/0128/h_1453973090_4177344_d28ad93d0e.png' alt='user posted image'>]]></description>
        <author>#SI#</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649467</guid>
        <pubDate>Tue, 26 Jan 2016 20:09:11 +0000</pubDate>
        <title>Вопрос по regexp_replace</title>
        <link>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649467</link>
        <description><![CDATA[#SI#: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649464'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2016-01-26T19:54:58+00:00">26.01.16, 19:54</time></span><div class='quote '>Те записи, которые не удалось обработать вывел в отдельный файл.</div></div>Это операторы ручками доправят. Особенно с учётом специфики. Мне в неё лезть - только время терять. Мне проще дать им утилитку, которая будет выдавать на гора записи с э-э-э сомнительной (по моему мнению) информацией. А ~95% можно раскрутить регулярками. Та сотня вариантов (в спойлере) сводится где-то к 5-6 шаблонам.<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649464'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2016-01-26T19:54:58+00:00">26.01.16, 19:54</time></span><div class='quote '> С текстовым файлом я могу многократно обрабатывать весь набор не боясь, что я что-нибудь испорчу</div></div>Именно поэтому я сначала копирую в новую колонку и разбираю именно её, а не сами комментарии. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-01-26T20:09:36+00:00">26.01.16, 20:09</time></span></span><br>
<strong class='tag-b'>JoeUser</strong>, жуй-жуй&#33; Глотай&#33; :D <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-01-26T20:10:53+00:00">26.01.16, 20:10</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649464'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2016-01-26T19:54:58+00:00">26.01.16, 19:54</time></span><div class='quote '>Просто в тексте я сразу вижу много записей</div></div>В гриде я из все вижу. Более того - могу видеть и обработанные данные в новой колонке и исходные в старой. И отселектить по любому критерию.]]></description>
        <author>#SI#</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649464</guid>
        <pubDate>Tue, 26 Jan 2016 19:54:58 +0000</pubDate>
        <title>Вопрос по regexp_replace</title>
        <link>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649464</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649459'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>#SI# &#064; <time class="tag-quote__quoted-time" datetime="2016-01-26T18:37:57+00:00">26.01.16, 18:37</time></span><div class='quote '>создал поле в таблице, тупо копирую в него комментарии, чтобы не трогать то, что есть, и потом работаю уже с этим полем</div></div> На самом деле я вытащил бы это всё в текстовый файл не поэтому. В таблице БД лучше всё сделать за один проход. Но сразу сформировать нужный набор регулярок вряд ли удастся. С текстовым файлом я могу многократно обрабатывать весь набор не боясь, что я что-нибудь испорчу.<br>
Скорее всего я бы сделал так.<br>
Отловил какое-то количество записей и разобрал их. Те записи, которые не удалось обработать вывел в отдельный файл.<br>
Посмотрел их, изменил процедуру обработки. Снова вывел в отдельный файл то, с чем процедура не справилась.<br>
И так пока процедура наконец не обработает весь набор.<br>
<br>
Просто в тексте я сразу вижу много записей, могу их как-то сортировать, чтобы обобщать. Иначе всё сведётся к отдельному действию для каждой строки, что не намного лучше ручной обработки.]]></description>
        <author>amk</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649460</guid>
        <pubDate>Tue, 26 Jan 2016 18:58:37 +0000</pubDate>
        <title>Вопрос по regexp_replace</title>
        <link>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649460</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649459'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>#SI# &#064; <time class="tag-quote__quoted-time" datetime="2016-01-26T18:37:57+00:00">26.01.16, 18:37</time></span><div class='quote '>ЗЫ - в следующий раз ссылайся на сюда. Тут - по делу. </div></div><br>
:popcorn:]]></description>
        <author>JoeUser</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649459</guid>
        <pubDate>Tue, 26 Jan 2016 18:37:57 +0000</pubDate>
        <title>Вопрос по regexp_replace</title>
        <link>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649459</link>
        <description><![CDATA[#SI#: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649417'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2016-01-26T14:21:15+00:00">26.01.16, 14:21</time></span><div class='quote '>ты не ответил, что именно хочешь сделать с приведённой ранее записью</div></div>Эти 800 000 записей хочу разобрать по полочкам. Источники - в своё поле, варианты - в своё и т.п.<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649455'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2016-01-26T18:09:33+00:00">26.01.16, 18:09</time></span><div class='quote '>Еще в начале декабря я такое уже посоветовал</div></div>Щяс ещё раз получишь - иди и перечитай ЧТО я просил и ЧТО ты :whistle:  мне посоветовал. <br>
ЗЫ - в следующий раз ссылайся на <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=406862&view=findpost&p=3635161' target='_blank'>сюда</a>. Тут - по делу. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-01-26T18:40:00+00:00">26.01.16, 18:40</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649417'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2016-01-26T14:21:15+00:00">26.01.16, 14:21</time></span><div class='quote '>это что-то типа перечня оборудования или чего-то подобного</div></div>Это Федеральный каталог названий географических объектов. Клепали его 15 лет пара десятков контор, потом слили до кучи. Разработчиков уже нет в живых. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-01-26T18:48:33+00:00">26.01.16, 18:48</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649417'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2016-01-26T14:21:15+00:00">26.01.16, 14:21</time></span><div class='quote '>я скорее всего просто извлёк бы информацию сперва в текстовый файл</div></div>Понятно, что не видя всего этого кошмара, трудно дать чёткий совет.<br>
Что я измыслил - создал поле в таблице, тупо копирую в него комментарии, чтобы не трогать то, что есть, и потом работаю уже с этим полем.  Для начала все &quot;стандартные заголовки&quot; хочу заменить на фразы типа &lt;NAME&gt;, &lt;KIND&gt;, &lt;TRANSLATE&gt; etc... А затем выбирать фрагменты например от &lt;NAME&gt; до следующего символа &lt; и писать их в соответствующее новое поле. Специфика информации такова, что в ней этих символов нет (таки можно проверить, ЧТО за этим символом).]]></description>
        <author>#SI#</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649455</guid>
        <pubDate>Tue, 26 Jan 2016 18:09:33 +0000</pubDate>
        <title>Вопрос по regexp_replace</title>
        <link>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649455</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649417'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2016-01-26T14:21:15+00:00">26.01.16, 14:21</time></span><div class='quote '>Так что я скорее всего просто извлёк бы информацию сперва в текстовый файл, а потом смотрел бы, что с этими записями можно сделать. </div></div><br>
Еще в начале декабря <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=407200&view=findpost&p=3640968' target='_blank'>я такое уже посоветовал</a>. В результате &quot;получил по щям&quot;, за то что мешаю прогать на SQL-е  :lol: Легкие пути ищут только слабаки, как я понял  :lol:]]></description>
        <author>JoeUser</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649417</guid>
        <pubDate>Tue, 26 Jan 2016 14:21:15 +0000</pubDate>
        <title>Вопрос по regexp_replace</title>
        <link>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649417</link>
        <description><![CDATA[amk: Я так понял, это что-то типа перечня оборудования или чего-то подобного. Записи вносили разные люди, и каждый сокращал надпись, как бог на душу положит. И ты хочешь это дело как-то стандартизовать, чтобы неразбериху уменьшить.<br>
<br>
Обычно мысль как-то стандартизовать используемые сокращения приходит, когда БД приходит в описанное тобой состояние, у нас на работе так в материальной группе с БД материалов произошло, из-за чего один и тот же материал одного производителя иногда под несколькими названиями в БД присутствует, а там периодически цены и другие данные меняются. У нас для этого пришлось структуру БД менять, и не уверен, что с такой практикой справились (сейчас я с ними мало контактирую).<br>
<br>
Но ты не ответил, что именно хочешь сделать с приведённой ранее записью. В чём собственно состоит проблема. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2016-01-26T14:25:10+00:00">26.01.16, 14:25</time></span></span><br>
Я как-то мало работал с собственно БД (только организовывал бэкапы) и пару раз помогал извлечь нужную информацию из готового отчёта (каждый раз это была срочная разовая работа, так что создавать новый отчёт резона не было). Так что я скорее всего просто извлёк бы информацию сперва в текстовый файл, а потом смотрел бы, что с этими записями можно сделать.]]></description>
        <author>amk</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649295</guid>
        <pubDate>Tue, 26 Jan 2016 04:10:40 +0000</pubDate>
        <title>Вопрос по regexp_replace</title>
        <link>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649295</link>
        <description><![CDATA[#SI#: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407848&view=findpost&p=3649260'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2016-01-25T20:49:57+00:00">25.01.16, 20:49</time></span><div class='quote '>Что сделать-то с этой строкой хочешь?</div></div><br>
Вот тут - варианты &quot;стандартного&quot; заголовка:<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body">Дополнительные источники нормализованного названия<br>
дополнительные источники нормализованного названия<br>
Дополнительные источники норм. названия<br>
Дополнительные источники норм.названия<br>
дополнительные источники норм. названия<br>
дополнительные источники норм.названия<br>
Дополнительные норм.названия<br>
Дополнительные источники названия<br>
Дополн. источники норм. названия<br>
Доп источники нормализованного названия<br>
Доп. источники норм. названия<br>
Доп.источники норм. названия<br>
Доп. источники норм.названия<br>
Доп.источника норм.названия<br>
Доп.источники норм.названия<br>
Доп источники норм. названия<br>
Доп. источники нором. названия<br>
Доп. источники норм. анзвания<br>
Доп. источники норм. нозвания<br>
Доп. источники норм. Названия<br>
Доп.источники норм. Названия<br>
доп.источники норм названия<br>
доп.источники норм. названия<br>
Доп.источники нрм.названия<br>
Доп.источники норм.названия;<br>
Доп.источникинорм. названия<br>
Доп. И;сточники норм. названия<br>
Доп.источники норм. Названия;<br>
Доп. норм. названия<br>
Доп. Источник;и норм. названия<br>
Доп. Источники; норм. названия<br>
Доп. источники норм. значения<br>
Доп.источеики ном. названия<br>
Доп.Я норм. названия<br>
Доп.источники нормал. названия<br>
Доп.ир норм. названия<br>
Доп.источники но;1998;звания<br>
Доп. Источники норм. yазвания<br>
Доп. источники норм. yазвания<br>
Доп. Источники норм.yазвания<br>
Доп. Источники норм. названия<br>
Доп. источники норм названия<br>
Доп.источ;ики норм. названия<br>
Доп. Ист; очники норм. названия<br>
Доп.источники нрм. названия<br>
Доп.источники. названия<br>
Доп.источн;ки норм. названия<br>
Доп.источнки норм. названия<br>
Доп.источнии норм. названия<br>
Доп.источник норм. названия<br>
Доп.истоники норм. названия<br>
Доп.источники норм названия<br>
Доп. Источники норм. названия<br>
Доп. источники норм. навания<br>
Доп.источник норм. названия<br>
Доп.ис; то;m ,чники норм. названия<br>
Доп. сточники норм. названия<br>
Доп .источники норм. названия<br>
Доп. источники норм. Названия<br>
Доп.иточники норм. названия<br>
Доп.источнки норм. названия<br>
Доп.истоники норм. названия<br>
Доп.источни норм. названия<br>
Доп.источнки норм. названия<br>
Доп.источнии норм. названия<br>
доп. источники норм. названия<br>
Доп.источнии норм. названия<br>
Доп.истчники норм. названия<br>
Доп.источники ро. названия<br>
Доп.источники нор. названия<br>
Доп.источник норм. названия<br>
Доп. иcточники норм. названия<br>
Доп.и сточники норм. названия<br>
доп.источники норм. Названия<br>
доп.источники норм.названия<br>
Доп.и сточники норм. названия<br>
Доп. источник нормативного названия<br>
Доп источники норм названия<br>
Доп.ист.норм.названия<br>
Доп. источники норм. навания<br>
<br>
Доп. источники норм. назван<br>
Доп.источники норм. названи<br>
Доп. источники норм. названи<br>
Доп.источники норм. названи<br>
Доп.источники норм. названий<br>
Доп.источники норм. название<br>
Доп. источники норм. названиz<br>
Доп. источники норм. назв<br>
<br>
Доп.источники норм.<br>
Доп. источники норм.<br>
Доп.источники норм<br>
Доп. источники норм<br>
Доп.источники норм<br>
<br>
Доп. Ист. н. н.<br>
Доп.источники норм. ир<br>
<br>
Дополнительные источ<br>
Доп.источники<br>
Доп. источники<br>
Доп.ист<br>
<br>
Дп.источники норм. названия<br>
Д.источники норм. названия</div></div><br>
Количество записей ~800 000. Кроме Доп.источников есть ещё Варианты типа объекта и ещё много чего. И всё это в одной помойке под названием Комментарии к объекту. А я хочу эту помойку разгрести в соответствующие новые поля в таблицах. Понятно, что без окончательного ручного редактирования ничего не выйдет, но основной объём таки можно растащить по ключевым словам (заголовкам).]]></description>
        <author>#SI#</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649260</guid>
        <pubDate>Mon, 25 Jan 2016 20:49:57 +0000</pubDate>
        <title>Вопрос по regexp_replace</title>
        <link>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649260</link>
        <description><![CDATA[amk: Что сделать-то с этой строкой хочешь?<br>&#39;(текст)&#39; если не надо превращать в группу, можно заменить на &#39;(?:текст)&#39;, иногда без этого трудно разобраться<br>Если ZZ могут стоять, а могут  не стоять напиши &#39;(?:ZZ)?&#39;<br>Если перед ZZ может стоять ещё и пробел &#39; ?(:?ZZ)&#39;?<br>Если перед ZZ может стоять двоеточие и/или пробел &#39;:? ?(:?ZZ)&#39;?<br>Если перед ZZ может стоять двоеточие и пробел или ничего &#39;(?:: )?(:?ZZ)&#39;?<br>Если надо выделить в группу текст, стоящий перед ZZ, исключив из него концевые пробелы &#39;(.+?) *(:?ZZ)&#39;<br>Если надо проверить, что какой-то текст повторяется несколько раз можно написать &#39;(abc).+&#092;1&#39;. Например &#39;^(.+)&#092;1&#036;&#39; соответствует строке, состоящей из двух одинаковых половинок.<br>Так же может сработать RE с именованной группой &#39;(P&lt;name&gt;.*)(P=name)&#39;. В таком случае в строке замены на такую группу можно сослаться как &#39;&#092;q&lt;name&gt;&#39;<br><br>Вообще при помощи одних только регулярных выражений можно сделать почти всё, вплоть до реализации какой-нибудь арифметики. Просто может понадобиться последовательно применять несколько RE.]]></description>
        <author>amk</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649250</guid>
        <pubDate>Mon, 25 Jan 2016 20:11:04 +0000</pubDate>
        <title>Вопрос по regexp_replace</title>
        <link>https://forum.sources.ru/index.php?showtopic=407848&amp;view=findpost&amp;p=3649250</link>
        <description><![CDATA[#SI#: Всем здравствуйте&#33;<br>
Если кому интересно - ноги растут отсюда <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=406862&st=0' target='_blank'>Можно ли расчистить помойку только средствами PL/SQL?</a>.<br>
А проблема вот в чём - есть строки вида <strong class='tag-b'>бла-бла-бла;Доп. источ.названия<span class="tag-color tag-color-named" data-value="red" style="color: red">:ZZ</span>Постановление № ...; дополн.ист.назван<span class="tag-color tag-color-named" data-value="red" style="color: red">ZZ</span>Указ № ...;бла-бла-бла</strong>.<br>
Заголовок <strong class='tag-b'>может</strong> кончаться двоеточием, перед названием документа могут стоять 2 символа Z (раньше там были CR/LF если что). <br>
Пытаюсь заменить &quot;стандартные&quot; заголовки на &lt;NAME&gt;:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">select regexp_replace(&#39;бла-бла-бла;Доп. источ.названия:ZZПостановление № ...; дополн.ист.названZZУказ № ...;бла-бла-бла&#39;, &#39;доп(.*?)(назв)(.*?){0,5}?(:)?(ZZ)&#39;, &#39;&#60;NAME&#62;&#39;, 1, 0, &#39;i&#39;) as res from dual</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
С двоеточием разобрался - <strong class='tag-b'>( : ) ? </strong>. -- если БЕЗ пробелов - то вылезет смайлик.<br>
А с двойным Z сломал мозг :wall: &#33; Третий час пляшу с бубном... :wall: <br>
На что у меня ума не хватает?]]></description>
        <author>#SI#</author>
        <category>RegExp</category>
      </item>
	
      </channel>
      </rss>
	