регулярка, значение может быть и небыть.

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

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

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    Есть код




    <div id=\"story-body-text\" class=\"entry-content\">

    класс class=\"entry-content\" может быть а может и не быть


    может быть так

    <div id=\"story-body-text\" class=\"entry-content\">
    или так

    <div id=\"story-body-text\">

    так работает <div id=\"story-body-text\"(?!(?:class=\"entry-content\")>)

    но в массив попадает class=\"entry-content\">
    а мне надо чтоб ее небыло


    Помогите составить регулярку. на <div id=\"story-body-text\" class=\"entry-content\">
    Спасибо
     
  2. recasher2k12

    recasher2k12

    Регистр.:
    19 фев 2012
    Сообщения:
    156
    Симпатии:
    78
    Может так проще?
    Код:
    <div id=\\"story-body-text\\"( class=\\"entry-content\\")?>
     
  3. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    чтото вроде ~<div id="story-body-text"(?: class="entry-content")?~
     
    асс нравится это.
  4. Waki

    Waki Постоялец

    Регистр.:
    14 ноя 2012
    Сообщения:
    64
    Симпатии:
    21
    <div id=\\"story-body-text.{1,}">
     
  5. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    да, как вариант. Но регулярка - жадная, если будет строка <div id=\"story-body-text\" class=\"entry-content\"> <a href="xxx"> то захватит всё.
     
  6. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    KillDead То что надо. Вродьбы пашет.

    Я так делал но не пахало.

    правда на конце небыло знака ?
    вот так пашет
    <div id=\"story-body-text\"(?: class=\"entry-content\")?>(.*?)
     
Статус темы:
Закрыта.