Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Регулярные выражения в html
Fire73
сообщение 27.1.2020, 2:14
Сообщение #1


**

Neophyte
Сообщений: 34
Регистрация: 5.6.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.343
Возраст: 23



Здравствуйте!
Есть html код сохраненный в html.txt, который содержит для примера следующее:
Цитата
<a data-marker="channels/channelLink" class="router-link-root-3Ehp_" href="/profile/messenger/channel/u2i-7777777-2686861">
<div class="channel-preview-root-gu7_n" data-marker="channels/channel">
<svg width="1em" height="1em" viewBox="0 0 16 16"
class="icon-icon-1zv99 icon-variant-default-HBso- status-icon-root-2ns0T" data-marker="icon/messenger-statusdelivered" </a>

Нужно, чтобы он попытался найти - "statusdelivered" , если данное выражение найдено, то нужно искать в обратную сторону - "7777777" (в этом месте числа всегда разные и нужно эти числа сохранять в отдельный текстовый файл). После успешного действия , идти дальше и также выполнять цикл пока не сохранятся все числа, удовлетворяющие условию, что после них есть нужно значение "statusdelivered" . Заранее спасибо!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 27.1.2020, 2:43
Сообщение #2


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2398
Пользователь №: 18.746



Код
load_array %a c:\html.txt
set %result indexOf (%a noabs (statusdelivered))
for #i 1 size(%result)
    set #pos %result[#i 1] - 3
    set #n regexp (#p $res %a[#pos] (?<=-)\d+(?=-))
    set %res[#i] $res
    save_array %res c:\2\numbers.txt
end_for
end_script


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 27.1.2020, 11:31
Сообщение #3


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Код
--lua
local path_in = [[C:\html.txt]]    -- где искать
local path_out = [[C:\html2.txt]]  -- куда сохранить

log "clear"  log "mode compact"
local f = io.open(path_in, "rb")  -- открыть файл для чтения
local f2 = io.open(path_out, "wb")  -- открыть файл для записи
if f and f2 then   -- если открылись
       local s = f:read("*a")     -- прочитать файл
       f:close()  -- закрыть файл

        for w in s:gmatch("%-(%d+)%-.-statusdelivered") do   -- поиск
            log (w)
            f2:write(w .. "\r\n")
        end
        f2:close()  -- закрыть файл
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fire73
сообщение 27.1.2020, 17:43
Сообщение #4


**

Neophyte
Сообщений: 34
Регистрация: 5.6.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.343
Возраст: 23



Цитата(cirus @ 27.1.2020, 12:31) *

Код
--lua
local path_in = [[C:\html.txt]]    -- где искать
local path_out = [[C:\html2.txt]]  -- куда сохранить

log "clear"  log "mode compact"
local f = io.open(path_in, "rb")  -- открыть файл для чтения
local f2 = io.open(path_out, "wb")  -- открыть файл для записи
if f and f2 then   -- если открылись
       local s = f:read("*a")     -- прочитать файл
       f:close()  -- закрыть файл

        for w in s:gmatch("%-(%d+)%-.-statusdelivered") do   -- поиск
            log (w)
            f2:write(w .. "\r\n")
        end
        f2:close()  -- закрыть файл
end


Работает только до первого найденного числа, далее каждое значение записывается как:
"01".

Цитата
7777777
01
01
01
....
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 27.1.2020, 17:52
Сообщение #5


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Цитата
Работает только до первого найденного числа

Текст, в котором не работает...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 27.1.2020, 17:58
Сообщение #6


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2398
Пользователь №: 18.746



Цитата(cirus @ 27.1.2020, 17:52) *

Текст, в котором не работает...

text
...
<a data-marker="channels/channelLink" class="router-link-root-3Ehp_" href="/profile/messenger/channel/u2i-7777777-2686861">
<div class="channel-preview-root-gu7_n" data-marker="channels/channel">
<svg width="1em" height="1em" viewBox="0 0 16 16"
class="icon-icon-1zv99 icon-variant-default-HBso- status-icon-root-2ns0T" data-marker="icon/messenger-statusnotdelivered" </a>
...
<a data-marker="channels/channelLink" class="router-link-root-3Ehp_" href="/profile/messenger/channel/u2i-885888-2686861">
<div class="channel-preview-root-gu7_n" data-marker="channels/channel">
<svg width="1em" height="1em" viewBox="0 0 16 16"
class="icon-icon-1zv99 icon-variant-default-HBso- status-icon-root-2ns0T" data-marker="icon/messenger-statusdelivered" </a>
...

В файл будет записано 7777777, хотя правильный ответ 885888.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fire73
сообщение 27.1.2020, 18:03
Сообщение #7


**

Neophyte
Сообщений: 34
Регистрация: 5.6.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.343
Возраст: 23



Цитата
<a data-marker="channels/channelLink" class="router-link-root-3Ehp_" href="/profile/messenger/channel/u2i-77777777-2686861"><div class="channel-preview-root-gu7_n" data-marker="channels/channel"><div class="channel-preview-bulkAction-2yDjc"><label class="checkbox-root-2CWXZ checkbox-checkbox-3XVHi checkbox-size-s-2Z4MH" data-marker="channels/channel-checkbox"><input class="checkbox-input-1NORt" type="checkbox" data-marker="channels/channel-checkbox/input"><span data-marker="channels/channel-checkbox/text" class="checkbox-label-2YiDM text-text-2wp6P text-size-s-3wiyK text-color-default-3_Zz2"></span></label></div><div class="channel-preview-wrapper-BE5pB"><div data-markers="itemPreview" class="item-preview-root-1Yyf5" style="width: 80px; height: 65px; background-image: url("https://06.img.avito.st/140x105/8017575006.jpg");"></div><div class="channel-preview-context-392Nv"><div class="channel-preview-title-1QdtD" data-marker="channels/user-title"><div class="channel-preview-chatNameWrap-2fGwe"><div data-marker="avatar" class="contact-avatar-root-fzwtE channel-preview-chatAvatar-1x9g2"><img marker="avatar/image" class="contact-avatar-avatar-1q6hc" src="https://www.avito.st/stub_avatars/%D0%9C/12_24x24.png"></div><div class="channel-preview-chatName-1Yogu">Михаил Игнатьев</div></div><div class="channel-preview-datetime-1lQ39" data-marker="channels/channel-datetime"><svg width="1em" height="1em" viewBox="0 0 16 16" class="icon-icon-1zv99 icon-variant-default-HBso- status-icon-root-2ns0T" data-marker="icon/messenger-statusDelivered" aria-hidden="true" role="img" style="font-size: 1.4em;"><path d="M9.177 4.266a.75.75 0 011.146.968l-5.5 6.5a.75.75 0 01-1.103.046l-2.5-2.5a.75.75 0 011.06-1.06l1.924 1.923 4.973-5.877z" fill="#0AF"></path></svg> <time datetime="2020-01-16T13:49:43.713Z">16 янв</time></div></div><div class="channel-preview-item-2AjCW"><span data-marker="channels/item-title" class="channel-preview-itemTitle-30gVs">Айфон8</span><span data-marker="channels/item-price" class="channel-preview-itemPrice-28lcx">20 000 ₽</span></div><div class="channel-preview-text-iE5cA" data-marker="channels/last-message">

<a data-marker="channels/channelLink" class="router-link-root-3Ehp_" href="/profile/messenger/channel/u2i-888888888-2686861"><div class="channel-preview-root-gu7_n" data-marker="channels/channel"><div class="channel-preview-bulkAction-2yDjc"><label class="checkbox-root-2CWXZ checkbox-checkbox-3XVHi checkbox-size-s-2Z4MH" data-marker="channels/channel-checkbox"><input class="checkbox-input-1NORt" type="checkbox" data-marker="channels/channel-checkbox/input"><span data-marker="channels/channel-checkbox/text" class="checkbox-label-2YiDM text-text-2wp6P text-size-s-3wiyK text-color-default-3_Zz2"></span></label></div><div class="channel-preview-wrapper-BE5pB"><div data-markers="itemPreview" class="item-preview-root-1Yyf5" style="width: 80px; height: 65px; background-image: url("https://01.img.avito.st/140x105/7892589001.jpg");"></div><div class="channel-preview-context-392Nv"><div class="channel-preview-title-1QdtD" data-marker="channels/user-title"><div class="channel-preview-chatNameWrap-2fGwe"><div data-marker="avatar" class="contact-avatar-root-fzwtE channel-preview-chatAvatar-1x9g2"><img marker="avatar/image" class="contact-avatar-avatar-1q6hc" src="https://34.img.avito.st/avatar/social/64x64/6414872134.jpg"></div><div class="channel-preview-chatName-1Yogu">яна</div></div><div class="channel-preview-datetime-1lQ39" data-marker="channels/channel-datetime"><svg width="1em" height="1em" viewBox="0 0 16 16" class="icon-icon-1zv99 icon-variant-default-HBso- status-icon-root-2ns0T" data-marker="icon/messenger-statusDelivered" aria-hidden="true" role="img" style="font-size: 1.4em;"><path d="M9.177 4.266a.75.75 0 011.146.968l-5.5 6.5a.75.75 0 01-1.103.046l-2.5-2.5a.75.75 0 011.06-1.06l1.924 1.923 4.973-5.877z" fill="#0AF"></path></svg> <time datetime="2020-01-15T18:50:04.441Z">15 янв</time></div></div><div class="channel-preview-item-2AjCW"><span data-marker="channels/item-title" class="channel-preview-itemTitle-30gVs">Телефон iPhone XS Max 256 gb (Silver)</span><span data-marker="channels/item-price" class="channel-preview-itemPrice-28lcx">60 000 ₽</span></div><div class="channel-preview-text-iE5cA" data-marker="channels/last-message">


Это весь текст, думаю, чтоб понять всю картину, то необходимо взглянуть именно на этот код. Получается, что нужно записать: 77777777 и 888888888 построчно в отдельный файл.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 27.1.2020, 18:14
Сообщение #8


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2398
Пользователь №: 18.746



Цитата(Fire73 @ 27.1.2020, 18:03) *

text
<a data-marker="channels/channelLink" class="router-link-root-3Ehp_" href="/profile/messenger/channel/u2i-77777777-2686861"><div class="channel-preview-root-gu7_n" data-marker="channels/channel"><div class="channel-preview-bulkAction-2yDjc"><label class="checkbox-root-2CWXZ checkbox-checkbox-3XVHi checkbox-size-s-2Z4MH" data-marker="channels/channel-checkbox"><input class="checkbox-input-1NORt" type="checkbox" data-marker="channels/channel-checkbox/input"><span data-marker="channels/channel-checkbox/text" class="checkbox-label-2YiDM text-text-2wp6P text-size-s-3wiyK text-color-default-3_Zz2"></span></label></div><div class="channel-preview-wrapper-BE5pB"><div data-markers="itemPreview" class="item-preview-root-1Yyf5" style="width: 80px; height: 65px; background-image: url("https://06.img.avito.st/140x105/8017575006.jpg");"></div><div class="channel-preview-context-392Nv"><div class="channel-preview-title-1QdtD" data-marker="channels/user-title"><div class="channel-preview-chatNameWrap-2fGwe"><div data-marker="avatar" class="contact-avatar-root-fzwtE channel-preview-chatAvatar-1x9g2"><img marker="avatar/image" class="contact-avatar-avatar-1q6hc" src="https://www.avito.st/stub_avatars/%D0%9C/12_24x24.png"></div><div class="channel-preview-chatName-1Yogu">Михаил Игнатьев</div></div><div class="channel-preview-datetime-1lQ39" data-marker="channels/channel-datetime"><svg width="1em" height="1em" viewBox="0 0 16 16" class="icon-icon-1zv99 icon-variant-default-HBso- status-icon-root-2ns0T" data-marker="icon/messenger-statusDelivered" aria-hidden="true" role="img" style="font-size: 1.4em;"><path d="M9.177 4.266a.75.75 0 011.146.968l-5.5 6.5a.75.75 0 01-1.103.046l-2.5-2.5a.75.75 0 011.06-1.06l1.924 1.923 4.973-5.877z" fill="#0AF"></path></svg> <time datetime="2020-01-16T13:49:43.713Z">16 янв</time></div></div><div class="channel-preview-item-2AjCW"><span data-marker="channels/item-title" class="channel-preview-itemTitle-30gVs">Айфон8</span><span data-marker="channels/item-price" class="channel-preview-itemPrice-28lcx">20 000 ₽</span></div><div class="channel-preview-text-iE5cA" data-marker="channels/last-message">

<a data-marker="channels/channelLink" class="router-link-root-3Ehp_" href="/profile/messenger/channel/u2i-888888888-2686861"><div class="channel-preview-root-gu7_n" data-marker="channels/channel"><div class="channel-preview-bulkAction-2yDjc"><label class="checkbox-root-2CWXZ checkbox-checkbox-3XVHi checkbox-size-s-2Z4MH" data-marker="channels/channel-checkbox"><input class="checkbox-input-1NORt" type="checkbox" data-marker="channels/channel-checkbox/input"><span data-marker="channels/channel-checkbox/text" class="checkbox-label-2YiDM text-text-2wp6P text-size-s-3wiyK text-color-default-3_Zz2"></span></label></div><div class="channel-preview-wrapper-BE5pB"><div data-markers="itemPreview" class="item-preview-root-1Yyf5" style="width: 80px; height: 65px; background-image: url("https://01.img.avito.st/140x105/7892589001.jpg");"></div><div class="channel-preview-context-392Nv"><div class="channel-preview-title-1QdtD" data-marker="channels/user-title"><div class="channel-preview-chatNameWrap-2fGwe"><div data-marker="avatar" class="contact-avatar-root-fzwtE channel-preview-chatAvatar-1x9g2"><img marker="avatar/image" class="contact-avatar-avatar-1q6hc" src="https://34.img.avito.st/avatar/social/64x64/6414872134.jpg"></div><div class="channel-preview-chatName-1Yogu">яна</div></div><div class="channel-preview-datetime-1lQ39" data-marker="channels/channel-datetime"><svg width="1em" height="1em" viewBox="0 0 16 16" class="icon-icon-1zv99 icon-variant-default-HBso- status-icon-root-2ns0T" data-marker="icon/messenger-statusDelivered" aria-hidden="true" role="img" style="font-size: 1.4em;"><path d="M9.177 4.266a.75.75 0 011.146.968l-5.5 6.5a.75.75 0 01-1.103.046l-2.5-2.5a.75.75 0 011.06-1.06l1.924 1.923 4.973-5.877z" fill="#0AF"></path></svg> <time datetime="2020-01-15T18:50:04.441Z">15 янв</time></div></div><div class="channel-preview-item-2AjCW"><span data-marker="channels/item-title" class="channel-preview-itemTitle-30gVs">Телефон iPhone XS Max 256 gb (Silver)</span><span data-marker="channels/item-price" class="channel-preview-itemPrice-28lcx">60 000 ₽</span></div><div class="channel-preview-text-iE5cA" data-marker="channels/last-message">

Это весь текст, думаю, чтоб понять всю картину, то необходимо взглянуть именно на этот код. Получается, что нужно записать: 77777777 и 888888888 построчно в отдельный файл.

В файл запишутся нужные числа
Код
load_array %a c:\2\html.txt
set %result indexOf (%a noabs (statusDelivered))
for #i 1 size(%result)
    set #pos %result[#i 1]
    set #n regexp (#p $res %a[#pos] (?<=-)\d+(?=-))
    set %res[#i] $res
    save_array %res c:\2\numbers.txt
end_for
end_script


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 27.1.2020, 18:14
Сообщение #9


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Код
--lua
local path_in = [[html.txt]]    -- где искать
local path_out = [[C:\html2.txt]]  -- куда сохранить

log "clear"  log "mode compact"
local f = io.open(path_in, "rb")  -- открыть файл для чтения
local f2 = io.open(path_out, "wb")  -- открыть файл для записи
if f and f2 then   -- если открылся
       local s = f:read("*a")     -- прочитать файл
       f:close()  -- закрыть файл

        for w in s:gmatch("%-(%d+)%-%d+.><div.-statusDelivered") do   -- поиск
            log (w)
            f2:write(w .. "\r\n")
        end
        f2:close()  -- закрыть файл
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 27.1.2020, 18:22
Сообщение #10


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2398
Пользователь №: 18.746



Цитата(cirus @ 27.1.2020, 18:14) *

Код
--lua
local path_in = [[html.txt]]    -- где искать
local path_out = [[C:\html2.txt]]  -- куда сохранить

log "clear"  log "mode compact"
local f = io.open(path_in, "rb")  -- открыть файл для чтения
local f2 = io.open(path_out, "wb")  -- открыть файл для записи
if f and f2 then   -- если открылся
       local s = f:read("*a")     -- прочитать файл
       f:close()  -- закрыть файл

        for w in s:gmatch("%-(%d+)%-%d+.><div.-statusDelivered") do   -- поиск
            log (w)
            f2:write(w .. "\r\n")
        end
        f2:close()  -- закрыть файл
end


text
<a data-marker="channels/channelLink" class="router-link-root-3Ehp_" href="/profile/messenger/channel/u2i-77777777-2686861"><div class="channel-preview-root-gu7_n" data-marker="channels/channel"><div class="channel-preview-bulkAction-2yDjc"><label class="checkbox-root-2CWXZ checkbox-checkbox-3XVHi checkbox-size-s-2Z4MH" data-marker="channels/channel-checkbox"><input class="checkbox-input-1NORt" type="checkbox" data-marker="channels/channel-checkbox/input"><span data-marker="channels/channel-checkbox/text" class="checkbox-label-2YiDM text-text-2wp6P text-size-s-3wiyK text-color-default-3_Zz2"></span></label></div><div class="channel-preview-wrapper-BE5pB"><div data-markers="itemPreview" class="item-preview-root-1Yyf5" style="width: 80px; height: 65px; background-image: url("https://06.img.avito.st/140x105/8017575006.jpg");"></div><div class="channel-preview-context-392Nv"><div class="channel-preview-title-1QdtD" data-marker="channels/user-title"><div class="channel-preview-chatNameWrap-2fGwe"><div data-marker="avatar" class="contact-avatar-root-fzwtE channel-preview-chatAvatar-1x9g2"><img marker="avatar/image" class="contact-avatar-avatar-1q6hc" src="https://www.avito.st/stub_avatars/%D0%9C/12_24x24.png"></div><div class="channel-preview-chatName-1Yogu">Михаил Игнатьев</div></div><div class="channel-preview-datetime-1lQ39" data-marker="channels/channel-datetime"><svg width="1em" height="1em" viewBox="0 0 16 16" class="icon-icon-1zv99 icon-variant-default-HBso- status-icon-root-2ns0T" data-marker="icon/messenger-statusnotDelivered" aria-hidden="true" role="img" style="font-size: 1.4em;"><path d="M9.177 4.266a.75.75 0 011.146.968l-5.5 6.5a.75.75 0 01-1.103.046l-2.5-2.5a.75.75 0 011.06-1.06l1.924 1.923 4.973-5.877z" fill="#0AF"></path></svg> <time datetime="2020-01-16T13:49:43.713Z">16 янв</time></div></div><div class="channel-preview-item-2AjCW"><span data-marker="channels/item-title" class="channel-preview-itemTitle-30gVs">Айфон8</span><span data-marker="channels/item-price" class="channel-preview-itemPrice-28lcx">20 000 ?</span></div><div class="channel-preview-text-iE5cA" data-marker="channels/last-message">

<a data-marker="channels/channelLink" class="router-link-root-3Ehp_" href="/profile/messenger/channel/u2i-888888888-2686861"><div class="channel-preview-root-gu7_n" data-marker="channels/channel"><div class="channel-preview-bulkAction-2yDjc"><label class="checkbox-root-2CWXZ checkbox-checkbox-3XVHi checkbox-size-s-2Z4MH" data-marker="channels/channel-checkbox"><input class="checkbox-input-1NORt" type="checkbox" data-marker="channels/channel-checkbox/input"><span data-marker="channels/channel-checkbox/text" class="checkbox-label-2YiDM text-text-2wp6P text-size-s-3wiyK text-color-default-3_Zz2"></span></label></div><div class="channel-preview-wrapper-BE5pB"><div data-markers="itemPreview" class="item-preview-root-1Yyf5" style="width: 80px; height: 65px; background-image: url("https://01.img.avito.st/140x105/7892589001.jpg");"></div><div class="channel-preview-context-392Nv"><div class="channel-preview-title-1QdtD" data-marker="channels/user-title"><div class="channel-preview-chatNameWrap-2fGwe"><div data-marker="avatar" class="contact-avatar-root-fzwtE channel-preview-chatAvatar-1x9g2"><img marker="avatar/image" class="contact-avatar-avatar-1q6hc" src="https://34.img.avito.st/avatar/social/64x64/6414872134.jpg"></div><div class="channel-preview-chatName-1Yogu">яна</div></div><div class="channel-preview-datetime-1lQ39" data-marker="channels/channel-datetime"><svg width="1em" height="1em" viewBox="0 0 16 16" class="icon-icon-1zv99 icon-variant-default-HBso- status-icon-root-2ns0T" data-marker="icon/messenger-statusDelivered" aria-hidden="true" role="img" style="font-size: 1.4em;"><path d="M9.177 4.266a.75.75 0 011.146.968l-5.5 6.5a.75.75 0 01-1.103.046l-2.5-2.5a.75.75 0 011.06-1.06l1.924 1.923 4.973-5.877z" fill="#0AF"></path></svg> <time datetime="2020-01-15T18:50:04.441Z">15 янв</time></div></div><div class="channel-preview-item-2AjCW"><span data-marker="channels/item-title" class="channel-preview-itemTitle-30gVs">Телефон iPhone XS Max 256 gb (Silver)</span><span data-marker="channels/item-price" class="channel-preview-itemPrice-28lcx">60 000 ?</span></div><div class="channel-preview-text-iE5cA" data-marker="channels/last-message">

Опять неверно нахродит. В файл записал 77777777, хотя delivered 888888888


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fire73
сообщение 27.1.2020, 18:29
Сообщение #11


**

Neophyte
Сообщений: 34
Регистрация: 5.6.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.343
Возраст: 23



Спасибо огромное, друзья! Очень выручили! В итоге: из огромного текстового файла с помощью скрипта Fors1k выгружено 90% подходящий значений, с помощью скрипта cirus выгружено 100% подходящий значений.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 27.1.2020, 18:40
Сообщение #12


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26702
Пользователь №: 16.971
Возраст: 29



Цитата
Опять неверно нахродит.

А смысл усложнять задачу добавляя statusnotDelivered? Найти можно всё что нужно, если потребуется.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 27.1.2020, 18:49
Сообщение #13


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2398
Пользователь №: 18.746



Цитата(cirus @ 27.1.2020, 18:40) *

А смысл усложнять задачу добавляя statusnotDelivered? Найти можно всё что нужно, если потребуется.

Ну так просил автор
Цитата(Fire73 @ 27.1.2020, 2:14) *
сохранятся все числа, удовлетворяющие условию, что после них есть нужно значение "statusdelivered" .


Я так понял задачу, что есть строки со значением statusDelivered, и другие строки со значением statusNotDelivered / statusError , и т.п..


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fire73
сообщение 28.1.2020, 18:27
Сообщение #14


**

Neophyte
Сообщений: 34
Регистрация: 5.6.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.343
Возраст: 23



Доброго времени суток! Казалось, что всё хорошо, но всё равно подбираются неправильные значения.. Видимо, проблема в регулярных выражениях
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 28.1.2020, 18:30
Сообщение #15


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2398
Пользователь №: 18.746



Попробуй этим скриптом
Код
set $outpath c:\2\numbers.txt
filedelete ($outpath)
load_array %a c:\2\html.txt
set %result indexOf (%a noabs (statusDelivered))
for #i 1 size(%result)
    set #pos %result[#i 1]
    set $str %a[#pos]
    set $regexp "(?<=u2i-)\d+(?=-.{1111,1777}statusDelivered)"
    set #n regexp (#p $res $str $regexp)
    while #n = 1
        write ($outpath $res \r\n)
        set $str string_replace ($str $res abc)
        set #n regexp (#p $res $str $regexp)
    end_while
end_for
exec notepad $outpath
End_script

Получилось?


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fire73
сообщение 28.1.2020, 19:08
Сообщение #16


**

Neophyte
Сообщений: 34
Регистрация: 5.6.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.343
Возраст: 23



Цитата(Fors1k @ 28.1.2020, 19:30) *

Попробуй этим скриптом
Код
set $outpath c:\2\numbers.txt
filedelete ($outpath)
load_array %a c:\2\html.txt
set %result indexOf (%a noabs (statusDelivered))
for #i 1 size(%result)
    set #pos %result[#i 1]
    set $str %a[#pos]
    set $regexp "(?<=u2i-)\d+(?=-.{1111,1777}statusDelivered)"
    set #n regexp (#p $res $str $regexp)
    while #n = 1
        write ($outpath $res \r\n)
        set $str string_replace ($str $res abc)
        set #n regexp (#p $res $str $regexp)
    end_while
end_for
exec notepad $outpath
End_script

Получилось?

Всё, отлично! Спасибо
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 19.4.2024, 3:44
Designed by Nickostyle