Здравствуйте! Подскажите как с помощью регулярных выражений извлечь число которое идёт первым? Оно может быть от 5 чисел до 7. То есть из текста с числами я извлекаю примерно такую комбинацию чисел с помощью регулярного выражения
iimGetLastExtract().match(/\d+/g);
и получается следующее:
483279,4,2411,2,0,14,2024,01,15,20,21,43,15,01,24,8,21
Теперь надо как-то взять первое число 483279, оно в данном случае из 6-ти чисел. Но может быть и из 5-ти и из 7-ми. Подскажите каким регулярным выражением лучше всего извлекать в данном случае?
15-01-2024 21:03:44
Уже сам разобрался. С помощью квантификатора. Для того, чтобы найти числа от 5 до 7 цифр, мы можем указать границы в фигурных скобках: \d{5,7}
Он у вас при извлечении выделяет весь текст содержимого или только первую строчку?
С этим я уже разобрался, по своему написал. Составную команду зделал, точнее в несколько этапов извлекаю что надо, несколькими командами.
Конечно можно было бы наверное и одной командой, но... как получилось.
PS а вот со счетчиком циклов, который бы останавливался после определенного количества искомых фраз, пока затык. То что вы написали выше, так и не работает.
Denzar пишетЭто регулярное выражение, что вы прислали, не работает. Точнее удаляет лишнее вместе с паролем, оставляя только слово wildexpress.
скрытый текст
Что это? Хоть бы текст какой написали. Нифига не понятно.
Если получится, запишу видео, где наглядно и чётко видно как это регулярное выражение, что вы написали, извлекает из текста вместо пароля слово wildexpress.
Denzar пишетJamesGoodwin пишетУх как тут наворочено! Спасибо, что откликнулись! Эх, если б этот код ещё и то, что надо извлекал... Но увы, он извлекает не пароль, а второе слово по счёту - wildexpress :(
скрытый текст
А что это за сайт/ресурс? Это конструктор регулярных выражений? А как им пользоваться? Может у меня получилось бы, если б знал как им пользоваться. А так-то это регулярное выражение, что вы прислали, не работает. Точнее удаляет лишнее вместе с паролем, оставляя только слово wildexpress. Так что тут надо дальше думать (мне) как правильно сделать/написать регулярное выражение, чтоб удаляло всё лишнее кроме пароля.
…Ух как тут наворочено! Спасибо, что откликнулись! Эх, если б этот код ещё и то, что надо извлекал... Но увы, он извлекает не пароль, а второе слово по счёту - wildexpress :(
Здравствуйте! Люди, подскажите пожалуйста какую команду надо применить чтоб извлечь из текста пароль буквенно-числовой?
Вот такой текст
Входящее - wildexpress (Контакт не определен) Текст сообщения: j9gu5 (04.12.22 20:57)
Извлекать тут надо j9gu5 .
Вот так выглядит:
Denzar
Скрипт три раза проверяет текст на совпадение и если три раза воспало, то прирывает цикл.
Как он у вас работает?
Он продолжает гнать 100 раз без остановки. После 3-х раз ничего не прерывается.
25-11-2022 17:06:15
Явно этот счётчик кривой. Ведь даже InfSub обратил на это внимание, вот его цитата:
Алимусловия для переменной "y" пишутся в параметрах цикла for(y = 0; y <= 3; y++){}иначе используется while(true){}
Denzar
скрытый текстВыделить кодКод:
for(i=1;i<=100;i++){ iimPlayCode('URL GOTO=https://forum.mozilla-russia.org/'); var y = 0 for(;;){ if(iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS=1 TYPE=SPAN ATTR=TXT:Полезная<SP>информация')>0){ y++ if(3 == y){break} } iimPlayCode('WAIT SECONDS=1') } }Исправил. Человеческий фактор.
Так а всё равно ж ничего не изменилось. Как не работало, так и не работает.
Вы его хоть проверяли на работоспособность или так написали и выложили? )))
Denzar
скрытый текстВыделить кодКод:
for(i=1;i<=100;i++){ iimPlayCode('URL GOTO=https://forum.mozilla-russia.org/'); var y = 0 for(;;){ if(iimPlayCode('SET !TIMEOUT_STEP 1\nTAG POS=1 TYPE=SPAN ATTR=TXT:Полезная<SP>информация')>0){ if(3 == y){ y++ break } } iimPlayCode('WAIT SECONDS=1') } }
А как этот скрипт работает? Он же не останавливается после 3 раз считывания искомой фразы. Что-то я вообще не понял что это за скрипт получился. Он точно правильный?:/
Здравствуйте! Подскажите как написать простой счётчик в цикле для определенной фразы? То есть, работает скрипт в цикле и при нахождении на странице определенной фразы останавливается. Но не сразу надо, а только после определенного количества повторов появления этой фразы. Вот простой пример скрипта, надо там только счётчик как-то добавить
for(i=1; i<=100; i++){ iimPlayCode('URL GOTO=https://forum.mozilla-russia.org/'); f=iimPlayCode('TAG POS=1 TYPE=SPAN ATTR=TXT:Полезная<SP>информация'); if(f>0) // тут должен быть счётчик для данной фразы // break; }
31-08-2022 12:59:08
Или может это неправильное направление? Подскажите, может есть вариант проще и лучше, чтоб остановить цикл скрипта при условии если за время работы будет найдена определенная фраза заданное количество раз?
del
Если использовать такой код,
скрытый текстВыделить кодКод:
iimPlayCode('TAG POS=1 TYPE=DIV ATTR=TXT:СМС<SP>от:<SP>YahooДата<SP>СМС:* EXTRACT=TXT'); q=iimGetLastExtract().match(/\d+/g); iimPlayCode('TAG POS=1 TYPE=TEXTAREA FORM=NAME:qrf ATTR=NAME:body CONTENT='+q);
то выдаст числа с запятымискрытый текст
код здесь из себя представляет последнее 5-тизначное число, оно-то и надо. Но как его извлечь отдельно?
Нашёл решение как извлечь отдельно. Это делается с помощью квантификаторов. Примерно так:
Но теперь осталась загвоздка как числа в кавычках заменить на переменную q
[spoiler=почти готовый код][code]
iimPlayCode('TAG POS=1 TYPE=DIV ATTR=TXT:СМС<SP>от:<SP>YahooKДата<SP>СМС:* EXTRACT=TXT'); q=iimGetLastExtract().match(/\d+/g);
iimPlayCode('TAG POS=1 TYPE=TEXTAREA FORM=NAME:qrf ATTR=NAME:body CONTENT='+q);
alert( "25,2022,10,17
Если использовать такой код,
iimPlayCode('TAG POS=1 TYPE=DIV ATTR=TXT:СМС<SP>от:<SP>YahooДата<SP>СМС:* EXTRACT=TXT'); q=iimGetLastExtract().match(/\d+/g); iimPlayCode('TAG POS=1 TYPE=TEXTAREA FORM=NAME:qrf ATTR=NAME:body CONTENT='+q);
Здравствуйте! Помогите пожалуйста подкорректировать команду извлекающую код из текста.
Нужен только код подтверждения. Но при использовании команды q=iimGetExtract().match(/\d+/g).join(''); оно все числа из текста извлекает, получается так:
Приветствую тех немногих, кто ещё тут бывает.
Приветствую! Я как раз один из тех кто тут ещё бывает. Столкнулся с казалось бы простой, но в то же время непонятной задачей: на сайте при вводе пароля приходится использовать для записи скрипта режим EVENT (потому что при обычном способе записи/ввода пароля оно не срабатывает). Ну да это ладно, EVENT так EVENT. Но прикол в том, что даже при использовании команды EVENT пароль по нормальному срабатывает только когда браузер развёрнут. А если браузер свернуть, то тогда при работе скрипта при вводе пароля и нажатии ввод оно пишет "некорректный пароль". Приходится постоянно держать браузер открытым (развёрнутым), тогда всё норм работает. Но это оооочень неудобно. Вот как это побороть? непонятно
На сайте Нагибаки нашёл вроде то, что надо
Подскажите пожалуйста как сохранять в файл так, чтоб каждый раз новое содержимое переписывало старое? Например этот код сохраняет всё с новой строки
iimPlayCode('TAG POS=1 TYPE=DD ATTR=TXT:* EXTRACT=TXT\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=numer.txt');
InfSub
Ух ты! Классно! Работает! Спасибо большое!
Я и сам уже так и этак пробовал, нашёл на сайте регулярные выражения, вот тут:
Здравствуйте! Подскажите как вырезать всё лишнее которое сохраняется с помощью этого кода:
var iP=iimPlayCode, f1='FRAME NAME=ifmail; iP(f1+'TAG POS=1 TYPE=STRONG ATTR=TXT:Please<SP>enter<SP>the<SP>following<SP>code<SP>* EXTRACT=TXT'); a=iimGetLastExtract(); alert(+a);
Если его один раз запускаешь окно выбора открывается
А ты попробуй с новой чистой страницы, точнее в новой чистой вкладке браузера загрузить страницу. И список выбора стран не откроется.
TAB CLOSEALLOTHERS TAB OPEN TAB T=2 TAB T=1 TAB CLOSE WAIT SECONDS=2 CLEAR URL GOTO=https://www.aliexpress.com/item/4001297334567.html TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" WAIT SECONDS=2 TAG POS=1 TYPE=BUTTON ATTR=TYPE:button
Попробуй запустить у себя именно этот код, что я сейчас тут написал. Он закрывает все вкладки, открывает новую и в ней исполняется с чистого нового листа и чистыми куками. И в новой вкладке браузера загружает страницу и только после этого уже нажимает на открытие списка стран.
Попробуй пожалуйста, выпадет ли список стран, посмотрим.
Я не знаю чем тебе этот код не угодил
у меня всё прекрасно отрабатывает
PS видео лучше скачать и глядеть на компе в оригинале. На яндекс-диске оно воспроизводится не очень качественно.
PPS попробуй пожалуйста воспроизвести у себя этот код. Там всего лишь добавлена команда CLEAR и ссылка на сайт Али по которой надо переходить.
PPPS команда CLEAR в начале кода обязательна!
CLEAR URL GOTO=https://www.aliexpress.com/item/4001297334567.html TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" WAIT SECONDS=2 TAG POS=1 TYPE=BUTTON ATTR=TYPE:button
А может стоит применить функцию имитации мыши? Есть такая, нашёл в интернете.
/***-= Функция имитации мыши =-***/ function triggerMouseEvent (node, eventType) { var clickEvent = window.document.createEvent ('MouseEvents'); clickEvent.initEvent (eventType, true, true); node.dispatchEvent (clickEvent); }
Squatter Спасибо огромное! Всё получилось! Работает как надо!
PS Не. Всё равно не так как надо. Приходится всё равно открывать выпадающий список стран и нажимать там кнопку SAVE. И когда страница после этого перезагрузится, то купон становится таким номиналом какой есть на самом деле. Поэтому тут мне всё же желательнее было бы такой код в ява-скрипте, который бы нажимал так, чтоб выпадающее окно со списком стран всё таки выпадало. Но как это сделать... непонятно :(
Вот этот код в принципе рабочий
Попробуй такВыделить кодКод:
TAG POS=1 TYPE=A ATTR=HREF:javascript:void(0) WAIT SECONDS=1 TAG POS=1 TYPE=A ATTR=DATA-ROLE:country WAIT SECONDS=1 TAG POS=1 TYPE=li ATTR=data-name:"Belarus" 'TAG POS=1 TYPE=li ATTR=data-code:"by"
Попробовал, не получается все равно, не раскрывается выпадающий список. Однако есть такой нюанс (он и раньше был), когда работает скрипт, когда страница почти загрузилась и в этот момент нажать в ручную мышью куда нибудь на страницу (только не на ссылку, чтоб по ней не перейти), то после этого, когда страница загрузится и далее скрипт нажимает на список выпадающих стран, то этот список выпадает и страны открываются, можно их выбирать. Но если вручную мышью не клацать, то список стран так и не открывается чисто скриптом.
То есть тут я так понимаю это связано с работой ява-скриптов которые в самом исходном коде страницы сайта алиэкспресс. Конкретно с вот этим HREF:javascript:void(0). Вот у тебя он в самой первой строке п