@Lunnayan said in Помогите с текстом:
Проблема была именно в BAS
Решил проблему через буфер обмена
https://skillbox.ru/media/code/yazyk-razmetki-markdown-shpargalka-po-sintaksisu-s-primerami/#stk-12
вот сам проект вывод должен быть такой
в результат должен выйти вот такой список
rick-Rick-Foreveryoung-44 года-Москва, Россия-14 января
bobo-Dmitrii-Kornilov-41 год-Новая Зеландия-
e_gosha-Игорь-Семендяев-Липецк, Липецкая обл., Россия-25.12.2017-
digit-Vladimir-Yakushin-52 года- 3 февраля-
krasinsky-Igor-Krasinsky-47 лет-Украина-
illy-Илья-Гургуцов---
greygoose-Grey-Goose-47 лет-Пушкино, Московская обл., Россия-
falc-Игорь-Соколов-51 год-Москва, Россия-06.07.2017
maratgal-Марат-Галимарданов-46 лет-Ноябрьск, Ямало-Ненецкий АО, Россия-12 января
palegen-Леонид-Паньшин-55 лет-Рефтинский, Свердловская обл., Россия-вчера
dimulka-Дмитрий-Болышев-44 года-Москва, Россия-вчера
alsok-Alexandеr-Sokolov-48 лет-Израиль-05.06.2017
budkin-Сергей-Будкин-42 года-Санкт-Петербург, Россия-23.12.2017
mactep-D-G-41 год-Израиль-15.05.2017
irisha02-Ирина-Липатникова-40 лет-24.08.2017-
kodmant-Дмитрий-К.-37 лет-Самара, Самарская обл., Россия-23 января
b_a_w-Антон-Бузанов-37 лет-Москва, Россия-29.10.2017
kluj-Евгений-Клюжев-41 год-Иркутск, Иркутская обл., Россия-28.10.2017
pavlik_-Андрей-Морозов-44 года-Магнитогорск, Челябинская обл., Россия-11.05.2017
irakl-Irina-L.---
я этот список сделал с помощью notepad++ с такими регулировками
http://site\.ru/profile/(.*)/\|(.*)\ (.*)\|\((.*)\)@(.*)@
http://site\.ru/profile/(.*)/\|(.*)\ (.*)\|\((.*)\ \|\ (.*)\)$
http://site\.ru/profile/(.*)/\|(.*)\ (.*)\|$
все это заменял на
\1-\2-\3-\4-\5-\6
по очереди
но в bas Не работает почему та
@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 бесполезное занятие.. совсем бесполезное.. особенно для ру сегмента. одно только слово с забора можно парой сотен вариаций написать, а если пилить под него регулярку то, то зарежешь и добрую часть литературного языка