За последние 24 часа нас посетили 17605 программистов и 1313 роботов. Сейчас ищет 1121 программист ...

Текст неопределенной длинный который должен содержать..

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

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Смотрите, сейчас есть такое регулярное выражение:
    Код (PHP):
    1. <a href\=\"(.*?)\" class=\"same-class\">
    подстава подстав произойдет если до этой ссылки будет идти простая ссылка (без класса или с другим классом)

    подскажите, как мне при неопределенной длине - (.*?) указать что там НЕ могут содержатся некоторые символы, например пробелы, так же просьба подсказать как указать какие символы должны содержаться.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    А можно по подробнее
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    эмм... так я же вроде описал дальше не куда, есть тег <a мне из него надо выдернуть ссылку, но только того тега, у которого определенной класс, этот класс идет после href. или "я дурачок не знаю как это сделать" ты это хотел услышать?

    Добавлено спустя 31 минуту 48 секунд:
    Вот сделал:
    Код (Text):
    1. <a href\=\"([^\s]+)\" class=\"same-class\">
    Код (Text):
    1. <div>
    2.     <a href="http://yandex.ru/index.php" class="ya">
    3. </div>
    4. <div>
    5.     <a href="http://mail.ru/index.php" class="same-class">
    6. </div>
    Добавлено спустя 16 секунд:
    я не так глуп как выгляжу.
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    VLK сложно было понять, что хочешь сделать, всякое бывает.
    Ещё посмотри XPath, им легче разбирать html код.
     
  5. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    denis01, мне XPath не подойдет, т.к. это не РНР, а программа, она через регулярные выражения работает.

    Такой вопрос, а это XPath он как работает внутри, не через регулярные выражения? просто я везде слышу что регулярные выражения сильно нагружают, собственно возникает вопрос, а чем еще можно, если XPath это регулярные выражения тогда смысла нет.

    И еще вопрос, на сколько я знаю XPath это же для работы с XML, а он нормально будет работать с HTML5 или XHTML?
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну с учетом того что html это частный случай xml-я - да, работает
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тут ещё жадность могла помочь
     
  8. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    [^\s]* - НЕ пробельные символы (т.е. любые, кроме указанных)
    [\dabcdf] или [\da-f] - символы шестнадцатеричного числа
    [[:alpha:]] - только буквы
    и т.д. и т.п.
     
  9. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    всем спасибо.