The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Вложеное регулярное выражение, !*! zhukovia, 31-Мрт-17, 05:19  [смотреть все]
Допустим есть строка вида:

<p>привет</p> &p_not& <p>привет1</p> <p>привет2</p> &p_not& <p>привет10</p>

Можно ли как то составить регулярное выражение чтобы удалить все теги <p> и </p> заключенные между &p_not& (удалить вместе с &p_not&), но при этом оставить <p> и </p> которые не входят в "скобки" &p_not&? Текст может быть очень длинным и "скобок" &p_not& может быть не одна. Есть ли вообще такая возможность?

  • Вложеное регулярное выражение, !*! Led, 01:25 , 01-Апр-17 (1)
  • Вложеное регулярное выражение, !*! михалыч, 08:35 , 01-Апр-17 (2)
    > Допустим есть строка вида:
    > <p>привет</p> &p_not& <p>привет1</p> <p>привет2</p> &p_not& <p>привет10</p>
    > Можно ли как то составить регулярное выражение чтобы удалить все теги <p>
    > и </p> заключенные между &p_not& (удалить вместе с &p_not&), но при
    > этом оставить <p> и </p> которые не входят в "скобки" &p_not&?
    > Текст может быть очень длинным и "скобок" &p_not& может быть не
    > одна. Есть ли вообще такая возможность?

    Я ничего не понял.
    что в сухом остатке должно получиться?
    это -

    <p>привет</p><p>привет10</p>

    ?
    тогда так:

    echo '<p>привет</p> &p_not& <p>привет1</p> <p>привет2</p> &p_not& <p>привет10</p>' | perl -pe 's|(?<=\<\/p\>).*&p_not&.*&p_not&.*(?=\<p\>)||'

    • Вложеное регулярное выражение, !*! zhukovia, 14:11 , 01-Апр-17 (3) –1
      > Я ничего не понял.
      > что в сухом остатке должно получиться?
      > это -
      <p>привет</p><p>привет10</p>

      > ?
      > тогда так:
      > echo '<p>привет</p> &p_not& <p>привет1</p> <p>привет2</p> &p_not& <p>привет10</p>'
      > | perl -pe 's|(?<=\<\/p\>).*&p_not&.*&p_not&.*(?=\<p\>)||'

      Нет должно получиться <p>привет</p> привет1 привет2 <p>привет10</p>
      Т.е. убрать теги у тех слов что находятся внутри &p_not&.

    • Вложеное регулярное выражение, !*! zhukovia, 14:11 , 01-Апр-17 (4) –1
      > Я ничего не понял.
      > что в сухом остатке должно получиться?
      > это -
      <p>привет</p><p>привет10</p>

      > ?
      > тогда так:
      > echo '<p>привет</p> &p_not& <p>привет1</p> <p>привет2</p> &p_not& <p>привет10</p>'
      > | perl -pe 's|(?<=\<\/p\>).*&p_not&.*&p_not&.*(?=\<p\>)||'

      Нет должно получиться <p>привет</p> привет1 привет2 <p>привет10</p>
      Т.е. убрать теги у тех слов что находятся внутри &p_not&.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру