@UserTrue
Когда искал по форуму, часто встречал ответы этого пользователя. Если найдется минутка, поделитесь опытом. Пока выделил два возможных решения замены curl http. Может есть еще варианты? Какой вариант для вас лучше?
Помогите с регуляркой
-
@Fox said in Помогите с регуляркой:
Для применения регулярки к списку, можно использовать функцию:
[[NEW_LIST]] = [[PIC_URL_TO_DOWNLOAD]].map(function(el){
return el.replace(/\/g, "/")
})спасибо большое помог получилось сделать еще один вопрос
@Fox said in Помогите с регуляркой:
Регулярку проще сделать универсальную, чтобы всё забирало и сразу.
каким образом делается универсальная?
-
вот сам проект
Где проект?
я этот список сделал с помощью notepad++ с такими регулировками
но в bas Не работает почему таОсновная причина, почему регулярка где то работает, а в BAS не работает, в разном виде данных в BAS'e, строка, массив, объект..
Даже строка с переносом строки уже может не дать нужный результат:

Регулярка верная, поиск цифр с жадным алгоритмом по идее должен взять все цифры, но нет. Перенос строки берёт только \s - пробел.

-
@Fox
как сделать чтоб из списка выводил текст под регулярное выражение? ты делал чтоб удалял из списка и очень помог этим а вот как выводить не знаю на басе ничего не выводить из списка только если полностью знаешь строку можно вывестиэти коды если добавить в тему Лайфхаки многим людям помогут
пробовал с "Первое вхождение" из списка не выводить
Вот так делал
[[PER3]] = [[TEST_NOMER_AVTOSMS]].map(function(el){ return el.match( /.*777.*/i ); })из списка выводит но еще выводит в переменную все строки только в других написано null

-
@GamiD Тут наверное проще так. Функция map для модификации... И регулярку поправил.
var arrIn=[[TEST_NOMER_AVTOSMS]]; var arrOut=[]; arrIn.forEach(function(str,i, arrIn) { str=str.match(/777\d*/); if (str){arrOut.push(str[0])}; }); [[PER3]] =arrOut; -
@Denis_krsk Спасибо но не выводить если в регулярку поставить переменную
var arrIn=[[TEST_NOMER_AVTOSMS]]; var arrOut=[]; arrIn.forEach(function(str,i, arrIn) { str=str.match(/[[USER_NOMER_AVTOSMS]]:\d*/); if (str){arrOut.push(str[0])}; }); [[JOIN_RESULT_STRING]] =arrOut;и можно сразу в строку вывести а не в список?
-
var arrIn=[[TEST_NOMER_AVTOSMS]];
var arrOut=[];
arrIn.forEach(function(str,i, arrIn) {
str=str.match(/[[USER_NOMER_AVTOSMS]]:\d*/);
if (str){arrOut.push(str[0])};
});
[[JOIN_RESULT_STRING]] =arrOut.join(','); -
@Denis_krsk с переменным не работает
так не работает var arrIn=[[TEST_NOMER_AVTOSMS]]; var arrOut=[]; arrIn.forEach(function(str,i, arrIn) { str=str.match(/[[USER_NOMER_AVTOSMS]]:\d*/); if (str){arrOut.push(str[0])}; }); [[JOIN_RESULT_STRING]] =arrOut.join(',');а так работает но в переменной [[USER_NOMER_AVTOSMS]] только текст 77775985769 var arrIn=[[TEST_NOMER_AVTOSMS]]; var arrOut=[]; arrIn.forEach(function(str,i, arrIn) { str=str.match(/77775985769:\d*/); if (str){arrOut.push(str[0])}; }); [[JOIN_RESULT_STRING]] =arrOut.join(','); -
@GamiD https://learn.javascript.ru тут все доступно
-
Есть у кого-нибудь опыт создания фильтра стоп(мат)-слов? Я сделал по статье https://habrahabr.ru/post/101232/ , но мне кажется это далеко не очень оптимально. Может поделитись опытом если есть. :) Я вот думаю может сначала проверяемую фразу разбить на слова, затем каждое слово с помощью рег.в. нормализовать, то есть исправить транслит и т.п. на кириллицу а затем уже просто проверять по словарю? Морфологическим аналазом я точно не собирасюь заниматься, надо что-то более менее оптимальное.
-
@Denis_krsk бесполезное занятие.. совсем бесполезное.. особенно для ру сегмента. одно только слово с забора можно парой сотен вариаций написать, а если пилить под него регулярку то, то зарежешь и добрую часть литературного языка
-
@Denis_krsk Соглашусь с @artihorror , заштрихуй, ослаблять, и т.п. Плюс можно использовать цифры, знаки..