Не правильно или не коректно отрабатывает регулярное выражение

kuzenstudio

Client
Регистрация
26.06.2010
Сообщения
139
Благодарностей
28
Баллы
28
Добрый, помогите разобраться.
Есть текст в переменной: {-Variable.article-} далее - кубик "Обработка текста" Разделяем статью на части Regex : (?<=^|<.+>.*?</.+>)[\w\W]*?(?=<.+>.*?</.+>|$)|<.+>.+</.+>
И кладем ее в Список
Вопрос ! Если картинка расположена в начале статьи, то ее почему то пропускает и в списке в месте со статьей ее нет. А если в середине, то все ок, в списке она есть в месте со статьей.
Пример:
<img>Имя картинки не берется</img>
Как и многие другие части тела, мозг можно тренировать. Это помогает улучшить как память, так и скорость мышления.
<img>Если ТУТ Имя картинки то все ок</img>
Вот 5 достаточно простых, но эффективных советов от экспертов по улучшению умственных способностей:
Чистите зубы той рукой, которой вы пользуетесь реже. Это будет тренировать оба полушария вашего мозга, что улучшит память и скорость мышления.
Помогите решить проблему. Спасибо !
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
Не дружу с регулярками, особенно с такими интересными, но методом интуитивного ненаучного тыка решение было быстро подобрано

было:
1619632220424.png
стало:
1619632058225.png
(?<=<.+>.*?</.+>)[\w\W]*?(?=<.+>.*?</.+>|$)|<.+>.+</.+>
 

kuzenstudio

Client
Регистрация
26.06.2010
Сообщения
139
Благодарностей
28
Баллы
28
Не дружу с регулярками, особенно с такими интересными
Большое спасибо что помог, все работает !
^| получается что в начале был пробел ? Почему ты его убрал, метод тыка или как ?
Блин как все это запомнить и понимать(
 

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Большое спасибо что помог, все работает !
^| получается что в начале был пробел ? Почему ты его убрал, метод тыка или как ?
Блин как все это запомнить и понимать(
Думай как машина ) Опыт поможет )
 
  • Спасибо
Реакции: kuzenstudio и Alexmd

kuzenstudio

Client
Регистрация
26.06.2010
Сообщения
139
Благодарностей
28
Баллы
28
Добрый всем ! Так моя проблема и не решилась. Помогите пожалуйста с правильно рабочей регуляркой.
Один вариант регулярки корректно работает если в статье картинка первая(над текстом), вторая корректно если текст идет в начале, а потом картинка. Как бы мне сделать универсальную) Что первая, что вторая разделяет статью на части.
Эта:
(?<=^|<.+>.*?</.+>)[\w\W]*?(?=<.+>.*?</.+>|$)|<.+>.+</.+> корректно работает если текст в начале.
Эта:
(?<=<.+>.*?</.+>)[\w\W]*?(?=<.+>.*?</.+>|$)|<.+>.+</.+> корректно работает если картинка в начале

Помогите пожалуйста подружить обе !
Спасибо !
 

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