@BlackR

Как в Notepad++ спарсить все номера телефонов?

Текст из различных кусков html доков, вида
</crux-user-component>  </lyte-exptable-td>    <lyte-exptable-td style="" class="sort lv_data_email cellWrap ">  <a class="cxEmailViewLink cruxPreventClick" href="mailto:abraracat@mail.ru"> <lyte-text lt-prop-tooltip-config="{&quot;showdelay&quot;:600,&quot;appearance&quot;:&quot;box&quot;}" lt-prop-tooltip-class="lvTooltipClass" lt-prop-value="abraracat@mail.ru" lt-prop-title="" mouseenter="lyte-text =&gt; mouse" lyte-rendered="">  abraracat@mail.ru  </lyte-text></a>  </lyte-exptable-td>    <lyte-exptable-td style="" class="sort lv_data_phone cellWrap ">  <lyte-text class="newDTField" lt-prop-tooltip-config="{&quot;showdelay&quot;:600,&quot;appearance&quot;:&quot;box&quot;}" lt-prop-tooltip-class="lvTooltipClass" lt-prop-value="Sep 23, 2020 02:35 PM" lt-prop-title="" mouseenter="lyte-text =&gt; mouse" lyte-rendered="">  Sep 23, 2020 02:35 PM  </lyte-text>  </lyte-exptable-td>    <lyte-exptable-td style="" class="sort lv_data_textfield cellWrap ">    </lyte-exptable-td>    <lyte-exptable-td style="" class="sort lv_data_textfield cellWrap ">    </lyte-exptable-td>    <lyte-exptable-td style="" class="sort lv_data_textfield cellWrap ">    </lyte-exptable-td>    <lyte-exptable-td style="" class="sort cursorDefault cellWrap nlv_data_textarea ">    </lyte-exptable-td>    <lyte-exptable-td style="" class="sort lv_data_textfield cellWrap ">    </lyte-exptable-td>    <lyte-exptable-td style="" class="sort lv_data_phone cellWrap ">  <div class="phoneRtl cxPhoneViewZPBEnabled cruxPreventClick">+7 (999) 999-99-99<span class="cxPhoneViewZPBEnabledIconWrap"><zpb-phone number="+7 (999) 999-99-99" module="Contacts" recordid="301658000000242673" callbackparamfn="asyncFn(crmCallsNew.getClick2CallPromise,&#39;301658000000242673&#39;,&#39;Contacts&#39;,&#39;Екатерина &#39;)" lyte-rendered=""><a class="pH2" title="Call" click="zpb-phone =&gt; telcall(event,number)"></a>	</zpb-phone></span></div>  </lyte-exptable-td>    <lyte-exptable-td style="" class="sort lv_data_textfield cellWrap "


нужно оставить номер вида, на повторы естественно пофиг, это меньшая из проблем ...

+7 (999) 999-99-99
+7 (999) 999-99-99

номера естественно разных форматов, т.к. вводились пользователями самостоятельно

строк примерно 200к, а номеров около 15000, файл и так и так разбивать придется как понимаю

видел решения типа
Find: (?s).*?(?-sm:$|ТЕЛЕФОН\s+(.+))
Replace: $1\n

но у меня нулевая реакция у документа, вообще ничего не изменилось, также пробовал другие варианты, лучший был с емайлами, но я не понял как его переделать под телефоны, да и нашел от только 8 штук, а в тестовом куске их было как минимум 30

p.s. готов выслушать все другие решения как спарсить вне Notepad++ , т.к. изначально я хотел получить что-то типа
Имя емайл телефон
но уже хотя бы телефоны вытащить)))

база моя если что, просто когда прекращал работу в CRM скачал как смог
  • Вопрос задан
  • 619 просмотров
Решения вопроса 1
@dodo512
<zpb-phone number="+7 (999) 999-99-99" module="Contacts"


Find:(?s).*?(?:\z|<zpb-phone number="([^"]+))
Replace: $1\n
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы