Конструктор регулярных выражений как использовать в логике скрипта?



  • Приветствую.
    Есть такая задача. Помогите разобраться пожалуйста)

    Имеем список [[NEW_LIST_FOR_UP]] В списке вот такие данные:

    "<div class="noq_post_info" post-author="user" post-date="1482406609" post-id="312494632" style="display:none;"/>" ,
    "<div class="noq_post_info" post-author="user" post-date="1486034008" post-id="316738468" style="display:none;"/>" ,
    "<div class="noq_post_info" post-author="user" post-date="1486556028" post-id="316893497" style="display:none;"/>" 
    

    C помощью конструктора регулярных выражений
    я построил выражение:

    "<div\ class="noq_post_info"\ post\-author="+.+"\ post\-date="+.+"\ post\-id="+(.+)"\ style="display:none;"/>"\ +
    

    Которое на выходе даёт мне айди вида:

    312494632
    316738468
    316893497
    

    Вот что мне надо делать с списком [[NEW_LIST_FOR_UP]] чтобы выполнить для каждого элемента списка такое регулярное выражение?



  • Разобрался для этого подойдёт в блоке "Регулярные выражения" - "Извлечь все данные" ))
    А какие ещё есть способы?
    В действиях "записи" тоже есть блок
    http://clip2net.com/s/3Ht1Zt7
    я пытаюсь применить прям к переменной через "Установить переменную" и через "Парсить строку" но всегда выходит ошибки. Вообщем хотелось бы увидеть пару примеров работы с регулярными выражениями в рамках использования BAS. Форум читал было пару примеров, но я не смог разобраться к сожалению.



  • @sitiros said in Конструктор регулярных выражений как использовать в логике скрипта?:

    Разобрался для этого подойдёт в блоке "Регулярные выражения" - "Извлечь все данные" ))
    А какие ещё есть способы?
    В действиях "записи" тоже есть блок
    http://clip2net.com/s/3Ht1Zt7
    я пытаюсь применить прям к переменной через "Установить переменную" и через "Парсить строку" но всегда выходит ошибки. Вообщем хотелось бы увидеть пару примеров работы с регулярными выражениями в рамках использования BAS. Форум читал было пару примеров, но я не смог разобраться к сожалению.

    Извлечь все данные удобнее использовать со строковыми переменными. Со списками не так удобно, но тоже можно. Через foreach.
    А так ещё есть xpath. Погугли. он тривиально осваивается.



  • так я и так парсингом через xpath получил список с данными, теперь дальше надо мне с этими данными работать, хотя может можно было сразу через xpath получить только нужные мне id, но я не смог и поэтому приходится изобретать велосипед) Ну и с регулярными выражениями столкнулся, хотелось бы подробнее о них узнать чтобы научиться их применять, ну и разобраться как они работают. Как и где их ещё можно в логике скрипта применять.



  • @sitiros said in Конструктор регулярных выражений как использовать в логике скрипта?:

    так я и так парсингом через xpath получил список с данными, теперь дальше надо мне с этими данными работать, хотя может можно было сразу через xpath получить только нужные мне id, но я не смог и поэтому приходится изобретать велосипед) Ну и с регулярными выражениями столкнулся, хотелось бы подробнее о них узнать чтобы научиться их применять, ну и разобраться как они работают. Как и где их ещё можно в логике скрипта применять.

    Да, через xpath можно получить сразу нужный параметр. Вроде в конце шаблона надо добавить @имя_параметра. Не подскажу точно как. Наверняка гуглится )
    Регулярные выражения могут помочь извлекать данные, например, из потрохов текста. К примеру, на почту приходит письмо с цифровым кодом подтверждения. Регуляркой можно выдернуть его сразу, даже если он не хранится в отдельном теге или параметре.



  • окей, буду пробовать разбираться)



  • Подскажите как лучше поступить?
    Имеем страницу:
    http://diesel.elcat.kg/index.php?showtopic=287496129#entry312494632

    Задача:

    • найти текст "up"
    • удалить текст если его писал автор темы
      -- спарсить имя автора не проблема он уже есть в переменной "USER"
      -- найти пост с текстом "up" , найти автора данного поста
      -- и если имя автора данного поста = "USER", то удалить пост, через кнопку "Удалить" тоесть найти так же кнопку у данного поста и нажать на неё.
      У всех постов есть уникальные id.

    Честно говоря пробовал по разному и запутался. Может кто поможет разобраться, хотя бы подскажите в каком направлении двигаться.


  • administrators

    @sitiros

    Честно говоря пробовал по разному

    Как пробовали? В чем запутались?

    1. Замечаем, что каждый пост имеет класс post_block
    2. Делаем цикл по .post_block
    3. Получаем текст каждого элемента.
    4. Если текст содержит up - делаем что вы хотите

    Попробуйте еще для тренировки найти имя пользователя, который написал up)
    0_1487072702497_searchup.xml



  • @support Большое спасибо, благодаря Вашему примеру я реализовал скрипт, так как мне надо)


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.