Регулярка для вытягивания ссылок

Тема в разделе "Регулярные выражения", создана пользователем sof, 26 авг 2015.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. sof

    sof Создатель

    Регистр.:
    17 фев 2013
    Сообщения:
    27
    Симпатии:
    12
    Мужики помогите составить регулярку которая бы вытягивала вот такие ссылки /personal/orders/?ID=1436988#development но только те ссылки где есть слово "Нет"

    Раньше у меня была регулярка такого типа (?<=ID=)\d+(?=[^>]*?>[^<]*?</a></td>[^<]*?<td>[^<]*?</td>[^<]*?<td>Нет</td>) но после смены верстки она теперь не работает.

    Вот кусок кода в нем 4 варианта где есть ссылки с Да и Нет

    Код:
        <tr class=" bx-odd" oncontextmenu="return bxGrid_anketa.oActions[10]" ondblclick="location = '/personal/orders/?ID=1436988#development';" title="Двойной щелчок - Просмотреть заявку">
                <td class="bx-actions-col bx-left"><a href="javascript:void(0);" onclick="bxGrid_anketa.ShowActionMenu(this, 10);" title="Действия" class="bx-action"><div class="empty"></div></a></td>
                <td>11.08.2015</td>
            <td>&nbsp;</td>
            <td>Новосибирск</td>
            <td>Да</td>
            <td>&nbsp;</td>
            <td class=" bx-right">&nbsp;</td>
        </tr>
        <tr class=" bx-even" oncontextmenu="return bxGrid_anketa.oActions[11]" ondblclick="location = '/personal/orders/?ID=1436759#development';" title="Двойной щелчок - Просмотреть заявку">
                <td class="bx-actions-col bx-left"><a href="javascript:void(0);" onclick="bxGrid_anketa.ShowActionMenu(this, 11);" title="Действия" class="bx-action"><div class="empty"></div></a></td>
                <td>11.08.2015</td>
            <td>&nbsp;</td>
            <td>Россия, Москва</td>
            <td>Нет</td>
            <td>&nbsp;</td>
            <td class=" bx-right">&nbsp;</td>
        </tr>
        <tr class=" bx-odd" oncontextmenu="return bxGrid_anketa.oActions[12]" ondblclick="location = '/personal/orders/?ID=1437710#development';" title="Двойной щелчок - Просмотреть заявку">
                <td class="bx-actions-col bx-left"><a href="javascript:void(0);" onclick="bxGrid_anketa.ShowActionMenu(this, 12);" title="Действия" class="bx-action"><div class="empty"></div></a></td>
                <td>11.08.2015</td>
            <td>&nbsp;</td>
            <td>Россия, Москва</td>
            <td>Нет</td>
            <td>&nbsp;</td>
            <td class=" bx-right">&nbsp;</td>
        </tr>
        <tr class=" bx-even" oncontextmenu="return bxGrid_anketa.oActions[13]" ondblclick="location = '/personal/orders/?ID=1436571#development';" title="Двойной щелчок - Просмотреть заявку">
                <td class="bx-actions-col bx-left"><a href="javascript:void(0);" onclick="bxGrid_anketa.ShowActionMenu(this, 13);" title="Действия" class="bx-action"><div class="empty"></div></a></td>
                <td>11.08.2015</td>
            <td>&nbsp;</td>
            <td>Феодосия</td>
            <td>Нет</td>
            <td>&nbsp;</td>
            <td class=" bx-right">&nbsp;</td>

    Буду очень благодарен Вам за помощь.
     
  2. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    385
    Симпатии:
    254
    Код:
    #\<tr((?!Нет).)*\<\/tr\>#su
     
  3. sof

    sof Создатель

    Регистр.:
    17 фев 2013
    Сообщения:
    27
    Симпатии:
    12
    эта регулярка у меня не работает она по ходу мне не подходит. Мне нужно чтобы с того кода что указал можно было вытянуть 2,3,4 ссылки где есть слово "Нет" то есть вот такие
    /personal/orders/?ID=1436759#development
    /personal/orders/?ID=1437710#development
    /personal/orders/?ID=1436571#development
     
  4. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    385
    Симпатии:
    254
    Не дочитал сразу. Если надо ссылку, тогда так:
    Код:
    #\<tr(.*?)location = '(.+?)';((?!Нет).)*\<\/tr\>#su
    Результат:
    Код:
    array (
      0 =>
      array (
        0 => '<tr class=" bx-odd" oncontextmenu="return bxGrid_anketa.oActions[10]" ondblclick="location = \'/personal/orders/?ID=1436988#development\';" title="Двойной щелчок - Просмотреть заявку">
                <td class="bx-actions-col bx-left"><a href="javascript:void(0);" onclick="bxGrid_anketa.ShowActionMenu(this, 10);" title="Действия" class="bx-action"><div class="empty"></div></a></td>
                <td>11.08.2015</td>
            <td>&nbsp;</td>
            <td>Новосибирск</td>
            <td>Да</td>
            <td>&nbsp;</td>
            <td class=" bx-right">&nbsp;</td>
        </tr>',
      ),
      1 =>
      array (
        0 => ' class=" bx-odd" oncontextmenu="return bxGrid_anketa.oActions[10]" ondblclick="',
      ),
      2 =>
      array (
        0 => '/personal/orders/?ID=1436988#development',
      ),
      3 =>
      array (
        0 => ' ',
      ),
    )
     
    sof нравится это.
  5. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    205
    Симпатии:
    259
    sof нравится это.
Статус темы:
Закрыта.