Делимся регулярками

  • Автор темы Автор темы 7make
  • Дата начала Дата начала
Добрый день.
Т.к. на указанном сайте есть очень длинное предложения без пунктуации, то скорее всего это и есть причиной падений.
Как вариант, попробуйте добавить верхнее ограничение по кол-ву слов, например, до 40 слов:
Код:
(\b[A-ZА-Я](?:\w+[,;:]? ){3,40}\w{2,}[.!?])
 
Какой регуляркой поудалять слова и предложения с кириллицей Блокнотом++?
 
А как найти первый тег <div(.*?)> перед текстом? Маркер текста есть.
Чет не хочет он у меня искать.
 
А как найти первый тег <div(.*?)> перед текстом? Маркер текста есть.
Чет не хочет он у меня искать.
Здравствуйте. Дайте ссылку на сайт и укажите перед каким текстом искать тег div, указать желательно скриншотом.
 
ребят помогите в регулярках не силён, пробовал в конструкторе и не допонял. как обозначить вложенность тегов в парсинге, допустим есть:
Код:
<h2>
<img src="url.com/1.jpg">
<a href="url.com"/>То что нужно</a>
</h2>
Как мне выпарсить анкор ссылки, указав что именно в h2 собирать?

Заранее спасибо)
 
Код:
<h2>.+?<a[^>]+>(.+?)<\/a>\s*<\/h2>
ljbas_181204145124.png
 
Спасибо. Извините а как собирать все совпадения? чёт никак не пойму. собирает только 1 совпдение
 
Ага спасибо, эт понял. в конструкторе всё собирает. Но как дело в проекте доходит) ничё не получается
вот такие настройки https://clip2net.com/s/3Ysct8l
 
Для парсинга данных регулярными выражениями лучше использовать Parse custom result (Использовать регулярку).
Если вы собираете данные в массив, то его нужно выводить через .format. Т.е. в данном случае
Код:
$as.format('$a\n')
Детальнее о методе .format: http://a-parser.com/wiki/template-toolkit/#Метод-format-для-массивов
Также рекомендую ознакомиться с такими статьями Документации:
http://a-parser.com/wiki/results-representation/#Массивы-результатов
https://a-parser.com/wiki/result-format/
 
Все привет! Парни, помогите составить такую регулярку.
Имеем:
Мама мыла раму|Чисто чисто|Рама стала чистой папа не мыл раму|
Папа мыл раму|Чисто чисто|Рама стала чистой мама не мыла раму|
Жена мыла раму влажной губкой|Чисто чисто|Рама стала чистой мама и папа не мыли раму|

Нужно сделать проверку на наличие слов ДО первого разделителя |
К примеру нам нужно оставить строки где есть слово папа или влажной, соответственно сработает только на втором и третьем примере.
Искомые слова, могут быть в любом месте предложения (Мыл папа раму, Мыл раму папа и так далее), главное это поиск в предложении был ДО первого символа разделителя |
 
Спасибо преогромное!
 
Последнее редактирование:
Нужно спарсить все value непрочитанных писем от [email protected]

Вот кусок кода в котором фигурирует два непрочитанных письма, одно из которых от [email protected], а другое нам не нужно.

Я использую такую регулярку (попробуйте)
messageline_unread[\S\s]+?value="(.*?)"[\S\s]+?mailer-daemon

Но эта регулярка ищет первый value, а мне нужно самое короткое совпадение.
Помогите пожалуйста найти самое короткое совпадение.


Код:
            <tr id="msg_15758943780799221044_item" class="js-messageline messageline  messageline_unread">
    <td class="messageline__box messageline__box_left">
        <label class="messageline__label" for="msg_15758943780799221044">
            <input type="checkbox" id="msg_15758943780799221044" name="id" value="15758943780799221044" class="js-messageline-checkbox" />
            
        </label>
    </td>
    <td class="messageline__box">
        <a class="messageline__link" href="/message/15758943780799221044">
            <span class="messageline__from">
            
                <img src="https://img.imgsmail.ru/r/m_img/[email protected]" alt="" width="8" height="8" />
            
                Почта Mail.ru
            </span>
            <span class="messageline__subject">
                
                Вход с нового устройства в аккаунт
            </span>
        </a>
    </td>
    <td class="messageline__box messageline__box_right">
        <div class="js-messageline-rightcol messageline__actions">
            
                <a class="messageline__flag icon icon_message-flag js-flag" href="/cgi-bin/movemsg?form_sign=5c986384c7882115d314b703c13129ef&form_token=447966007f034c7a1901510e0105020d0657040b0d0b060400520700005006090354000a080a085557165858435459445e&id=15758943780799221044&mark=1&markmessage=6"></a>
            

            

            <span class="messageline__date">15:26</span>
        </div>
        <a class="js-messageline-scroller messageline__scroller" href="#btoolbar"></a>
    </td>
</tr>



            
            
            <tr id="msg_15752166650211077108_item" class="js-messageline messageline  messageline_unread">
    <td class="messageline__box messageline__box_left">
        <label class="messageline__label" for="msg_15752166650211077108">
            <input type="checkbox" id="msg_15752166650211077108" name="id" value="15752166650211077108" class="js-messageline-checkbox" />
            
        </label>
    </td>
    <td class="messageline__box">
        <a class="messageline__link" href="/message/15752166650211077108">
            <span class="messageline__from">
            
                <img src="https://img.imgsmail.ru/r/m_img/[email protected]" alt="" width="8" height="8" />
            
                [email protected]
            </span>
            <span class="messageline__subject">
                
                Ваше сообщение не доставлено. Mail failure.
            </span>
        </a>
    </td>
 
Удобнее это делать несколькими простыми регулярками. Сначала разбиваете на блоки <tr>...</tr>, а потом перебираете в цикле каждый блок, забирая с каждого отправителя, статус и value. Если отправитель и статус соответствуют искомым, то выводите value
 
333.png

если длинный title и многострочный, то регуляркой [\n\r]+ через конструктор результатов title будет в одну строку
 
Всем привет) или я туплю или не понимаю, в общем нужно получать в результате линки вида http:// и https:// , не доменом, я делал как-то через regexp, подскажите кому не сложно, чё-то башка не варит, а надо ...
 
Назад
Верх