Регулярка, "любой символ кроме"

  • Автор темы Автор темы piarche
  • Дата начала Дата начала

piarche

Пользователь
Регистрация
28.04.2015
Сообщения
141
Реакции
5
Баллы
18
Приветствую всех!

Подскажите как реализовать регуляркой, есть текст нужно взять то что заключено между метками
[VD]
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст [VTC]</li>[/VD]
[/VD]

регулярка \[VD][\w\W]*?\[/VD] берет

[VD]
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
остальные нормально берет


а мне надо только
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст [VTC]</li>[/VD]


делаю другую регулярку \[VD][^VD]*?\[/VD] такая регулярка не берет 4-ю строку так как содержит символ V

Сам вопрос, как сделать чтоб [^VD] - было не "все кроме символов V D", а "все кроме слова VD" нигде не нашел такой информации
 
На сколько понял, Вам нужна такая регулярка:
Код:
Развернуть Свернуть Копировать
(?<=\[VD])[\w\W]*(?=\[/VD])
?

Или так, чтобы взять все отдельно.

Код:
Развернуть Свернуть Копировать
\[VD].*\[/VD]
 
текст может выглядеть и так, могут быть переносы табуляции и т. д., это html
[VD]

[VD]<li class="symptoms_text">текст текст текст текст текст текст текст текст текст
текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст [VTC]</li>[/VD]

[/VD]


мне нужно только то что жирным, поэтому эти регулярки не подходят
 
и вложенность может быть
[VD]
[VD]
[VD]<li class="symptoms_text">текст текст текст текст текст текст текст текст текст
текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст текст</li>[/VD]
[VD]<li class="symptoms_text">текст текст [VTC]</li>[/VD]

[/VD]
[/VD]
 
Regex

Заменить
\[VD\]<li class="symptoms_text">([^<>]*)</li>\[/VD\]

На
[VD]<li class="symptoms_text">$1</li>[/VD]
 
ну я просто не стал сюда всю страницу закидывать

это html страница, и на ней может быть все что угодно [VD]то что между метками (что угодно)[/VD] и вот это мне надо взять, метки [VD] и [/VD] это я их расставил, ориентир только по меткам, но между метками могут быть еще метки например [VTC]

я конечно могу наделать кучу разных макросов и меток, но сам путаться потом буду
 
решение будет если из этого
[VD]
[VD]<li class="symptoms_text">текст текст текст текст текст текст текст текст текст
текст текст текст</li>[/VD]

вытянуть
[VD]<li class="symptoms_text">текст текст текст текст текст текст текст текст текст
текст текст текст</li>[/VD]
 
просто я думал, что регуляркой по быстрому решу, а оказалось нет
 
а что это за сервис, не пойму, и как им пользоваться?
 
\[VD]<[^.]*>\[\/VD]
такая даже получше будет
 
но все же, неужели нельзя указать в регулярке \[VD][^VD]*?\[/VD] чтоб не символы по отдельности V и D, а слово VD целиком указать
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)