Действие 'Post запрос' не возвращает результат через изменение переменных, чтобы получить ответ, вам нужно вызвать действие 'Текущий Url', 'Содержание ответа', 'Статус ответа' или 'Получить заголовок' после выполнения запроса.
alt text
Не получается сортировать список уже несколько часов мучаюсь с эти в notepad++ все работает без проблем а вот в base проблема
Получил каждый текст с сайта с помощью xpath
Полученный список объединил в строку без разделителя в полученном тексте был разделитель ";" с помощью "Разделить строку" разделил отдельно по строкам

теперь нужно в каждой строке заменить содержимое с помощью регулярки(регулярки будут разные чтоб под каждую строку совпадали внизу который я написал должен совпадать с первой строкой)
если скопировать полученный с сайта текст который в "Инспектор переменных" и поставить в шаблон или в переменную то работает регулярка а на прямую с сайта полученных данных нет
Регулярки делал сам и в конструкторе и то и другое работает в notepad++
\#http://site\.ru/(.*)/(.*)/\|(.*)\ (.*)\|@(.*)@:
\1-\2-\3-\4-\5

#http://site.ru/profile/stein_sv/|Станислав Гудзенко|@ 8 January@:;
#http://site.ru/profile/gulmira0280/|Гульмира Гульмира|(38 years | Алма-Ата, Казахстан):;
#http://site.ru/profile/alexeiv/|Алексей Вратциди|(Мюнхен, Германия)@31 January@:;
#http://site.ru/profile/vadim1975/|Вадим Корабельников|(Алма-Ата, Казахстан)@25 January@:;
#http://site.ru/profile/abilov1977/|Талгат Талгат|(40 years)@ 2 February@:;
#http://site.ru/profile/karma_777/|Татьяна Павлова|(Волгодонск, Ростовская обл., Россия)@31 January@:;
#http://site.ru/profile/ernursat/|Ернур Сатыбалдин|(57 years | Алма-Ата, Казахстан)@ 8 January@:;
#http://site.ru/profile/kazbus/|Казбек Тунгатбаев|(48 years | Алма-Ата, Казахстан)@ 2 February@:;
#http://site.ru/profile/nurkadam/|Nurkadam Kerimkulov|(37 years | Астана, Казахстан)@ 5 February@:;
#http://site.ru/profile/happy2003/|Aisulu Kasimova|(40 years)@ 7 January@:;
#http://site.ru/profile/rimski_h/|***РИММА ***|(35 years):;
#http://site.ru/profile/salma81/|Salma Turman|(37 years):;
#http://site.ru/profile/natali2602777/|Natalia Sagaidakova|(34 years)@25.08.2017@:;
#http://site.ru/profile/dimazubkov/|Дмитрий Зубков|(43 years | Ганновер, Германия)@ 6 January@:;
#http://site.ru/profile/www.max/|Максим Спиваченко|(32 years | Астана, Казахстан)@ 7 January@:;
#http://site.ru/profile/a-zhubanazarov/|ахмет жубаназаров|(56 years)@ 6 February@:;
#http://site.ru/profile/jildiz22/|jildiz ahmedova|(37 years | Бишкек, Киргизия (Кыргызстан))@30.04.2017@:;
#http://site.ru/profile/saule1965/|JGS 807|(52 years)@30 January@:;
#http://site.ru/profile/shegai2003/|Александр Шегай|@12.09.2017@:;
#http://site.ru/profile/vilora/|Valery Kovzelev|(Хайфа, Израиль)@30.12.2017@:;
В чем может быть проблема?
Не получается сортировать список
Это главная проблема?
Получил каждый текст с сайта с помощью xpath
Полученный список объединил в строку без разделителя в полученном тексте был разделитель ";" с помощью "Разделить строку" разделил отдельно по строкам
А зачем?
теперь нужно в каждой строке заменить содержимое с помощью регулярки
Заменить содержимое в строке из списка? Или у вас просто строка с переносом строки?
регулярки будут разные чтоб под каждую строку совпадали
Под каждую строку отдельную регулярку?
#http://site.ru/profile/stein_sv/|Станислав Гудзенко|@ 8 January@:;
Это необходимый, конечный результат?
@Fox Конечный результат должен быть такой
Регулярное выражение
\#http://site\.ru/(.*)/(.*)/\|(.*)\ (.*)\|@(.*)@: - #http://site.ru/profile/stein_sv/|Станислав Гудзенко|@ 8 January@:;
Заменить на
\1-\2-\3-\4-\5 - в итоге должно быть так profile/stein_sv-Станислав Гудзенко- 8 January
Регулярки разные будут потому строки разные в одной строке нет возраста в другом города а в некоторых даже даты чтобы в дальнейшем фильтровать через excel нужно ставить разделители "-" если даже нет даты или возраста
я не смог регулярные выражения применить в полученный список изза этого пришлось объединить в строку
@Fox said in Помогите с регуляркой:
теперь нужно в каждой строке заменить содержимое с помощью регулярки
Заменить содержимое в строке из списка? Или у вас просто строка с переносом строки?
да я сделал сперва из списка в строку потом в строке сделал перенос строки для применения регулярных выражений так как по другому вроде для списка регулярки применить не возможно для списка придется использовать for а это долго может я ошибаюсь но у меня не получалось с помощью регулярок заменить текст на всех строках в списке
@Fox said in Помогите с регуляркой:
Не получается сортировать список
Это главная проблема?
Главная проблема не получается применить регулярку в notepad++ работает регулярка без проблем а в bas на полученный список из сайта не работает а если список полученный из сайта скопировать в ручную и обратно поставить на переменную или в шаблон то работает регулярка
@Fox said in Помогите с регуляркой:
Получил каждый текст с сайта с помощью xpath
Полученный список объединил в строку без разделителя в полученном тексте был разделитель ";" с помощью "Разделить строку" разделил отдельно по строкамА зачем?
что зачем? я не использую запятую как разделитель потому что в самом строке тоже есть запятые
@GamiD Ух ну и огород..
Регулярки разные будут потому строки разные в одной строке нет возраста в другом города а в некоторых даже даты
Регулярку проще сделать универсальную, чтобы всё забирало и сразу.
чтобы в дальнейшем фильтровать через excel нужно ставить разделители "-" если даже нет даты или возраста
Разделитель для excel лучше использовать \t - обозначает символ табуляции.
я не смог регулярные выражения применить в полученный список изза этого пришлось объединить в строку
да я сделал сперва из списка в строку потом в строке сделал перенос строки для применения регулярных выражений так как по другому вроде для списка регулярки применить не возможно
Для применения регулярки к списку, можно использовать функцию:
[[NEW_LIST]] = [[PIC_URL_TO_DOWNLOAD]].map(function(el){
return el.replace(/\\/g, "/")
})
для списка придется использовать for а это долго
Долго только в режиме записи, при запуске всё происходит мгновенно.
Главная проблема не получается применить регулярку в notepad++ работает регулярка без проблем а в bas на полученный список из сайта не работает а если список полученный из сайта скопировать в ручную и обратно поставить на переменную или в шаблон то работает регулярка
Очень рад за notepad++, но ваша регулярка:
\#http://site\.ru/(.*)/(.*)/\|(.*)\ (.*)\|@(.*)@:
это жесть :D, ещё раз говорю, проще и быстрее было скинуть проект, чем расписывать всё по пунктам.
Полученный список объединил в строку без разделителя в полученном тексте был разделитель ";" с помощью "Разделить строку" разделил отдельно по строкам
что зачем? я не использую запятую как разделитель потому что в самом строке тоже есть запятые
Ну по факту, вы взяли список, перевели его в строку, а потом обратно в список, это всё ненужные телодвижения.
вот сам проект вывод должен быть такой
в результат должен выйти вот такой список
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(',');