Не рабтотает регулярка при чистке переменной

zenno60

Пользователь
Регистрация
09.05.2016
Сообщения
99
Благодарностей
1
Баллы
8
Текст:
"


1) Текст 1
2) Текст 2
3) Текст 3




"
Регулярное выражение:
(?<=\ )\w[\w\W]*(?<=\w)
При использовании регулярного выражения в "Конструктор регулярных выражений" получаем текст:
"1) Текст 1
2) Текст 2
3) Текст 3
"

При использовании регулярного выражения в екшене, получаю одни пробелы, текст отсутствует.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 613
Благодарностей
4 601
Баллы
113
конструктор ищет. А экшн, судя по сказанному, заменяет. В чём проблема?
 
  • Спасибо
Реакции: zenno60

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 106
Баллы
113
Как я понял, вы используете не тот экшен ("Обработка текста - Замена") для получения нужного результата, а нужно в данном случае использовать "Обработка текста - Regex". Регулярка получше: \w[\w\W]*\w
Ну или регулярку другую составлять, что-то типа \s{3,}

А вообще, для этого есть специально обученный экшен "Обработка текста - Trim".

ЗЫ. Не пойму, нахрена Вы парсите из текста страницы? Не проще из исходного кода сразу в нормальном виде без всякого г.?
 
Последнее редактирование:
  • Спасибо
Реакции: zenno60

zenno60

Пользователь
Регистрация
09.05.2016
Сообщения
99
Благодарностей
1
Баллы
8
Проблема была в том, что действительно использовал "Обработка текста - Замена"

Не проще из исходного кода сразу в нормальном виде без всякого г.?
Плохо разбираюсь в регулярных выражениях....
Поэтому и колупаюсь...

В данном случае использую три екшена:
- извлекаю текст: (?<="Начать\ выполнение\ задания"</h2>)[\w\W]*?(?=<span\ class="task-subtitle">Что)
- удаляю теги: <.*?>
- чищу от пробелов: (?<=\ )\w[\w\W]*(?<=\w)

Как совместить, чтобы три действия выполнялись одной регуляркой?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 106
Баллы
113

zenno60

Пользователь
Регистрация
09.05.2016
Сообщения
99
Благодарностей
1
Баллы
8
Прилагаю текст
HTML:
 <span class="task-subtitle">Описание задания:</span>
                                                                                    <h2 style="margin-top: -2px;">Для выполнения задания нажмите кнопку<br />"Начать выполнение задания"</h2>
                                                                                <span class="taskdescription">Подготовоить стенд:<br />
<b>1)</b> Применить пластиковый кирпич – применение в ремонте<br />
<b>2)</b> Альтернатива натуральному камню – керамогранит<br />
<b>3)</b> Оформить фасад<br />
<b>4)</b> Положить плитку на мастику<br />
<br />
Сложить инструмент в коробку<br />
<br />
Повторяем операцию три раза<br />
Готовим отчёт<br />
<br />
Подготовка дополнительных матриалов<br />
<br />
Передача отчёта руководителю</span>
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 106
Баллы
113
Так и не понятно, какой результат нужно получить.
Может так нужно: <.*?>|^\s|\n\s+|\s+$ заменить на пустоту
может так: сначала <.*?> заменить на пустоту, затем ^\s|\n\s+|\s+$ заменить на пустоту
ну или хз))
 
  • Спасибо
Реакции: zenno60

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