Регулярные выражения на все случаи жизни

cherus09

Client
Регистрация
10.10.2016
Сообщения
172
Благодарностей
14
Баллы
18
Подскажите как перед определенным символом в тексте сделать перенос строки?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113
Подскажите как перед определенным символом в тексте сделать перенос строки?
Через "Обработка текста - Замена" заменяете символ на символ+перевод строки {-String.Enter-}.
 

cherus09

Client
Регистрация
10.10.2016
Сообщения
172
Благодарностей
14
Баллы
18

cherus09

Client
Регистрация
10.10.2016
Сообщения
172
Благодарностей
14
Баллы
18
И можно как-то сразу несколько символов указать?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113
А как на C# сделать?
И можно как-то сразу несколько символов указать?
Таким кодом можно:
(https://zennolab.com/discussion/threads/zamena-teksta-c.43596/post-322990)
C#:
string text = project.Variables["text"].Value; // переменная с текстом
text = text
    .Replace("1", "1\r\n")
    .Replace("2", "2\r\n")
    .Replace("3", "3\r\n")
    .Replace("4", "4\r\n");
return text;
 

Вложения

  • Спасибо
Реакции: cherus09

cherus09

Client
Регистрация
10.10.2016
Сообщения
172
Благодарностей
14
Баллы
18
Может подскажите как взять с удалением последний знак препинания в конце текста и положит его в переменную? И как добавить пробел перед заглавными буквами если его нет перед ними?
 
Последнее редактирование:

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
Добрый вечер. Есть текст такого вида:
Каст: Tina Turner Подсайт и сайт: tina.com/ru/Дата производства: 2005.12.05 Жанр: Rock pop rock R&B soul pop Продолжительность: 00:26:32Описание: Official video of Tina Turner performing 'What's Love Got to Do with It' in the secret black and white version, now upgraded to HD. Фото: СсылкаТип HD видео: 1080p Формат видео: MPEG Видео: MPEG4 Video (H264) 1920x1080 29.97fps 5995kbps [V: English [eng] (h264 high L4.1, yuv420p, 1920x1080, 5995 kb/s)] Аудио: AAC 48000Hz stereo 192kbps [A: SoundHandler [eng] (aac lc, 48000 Hz, stereo, 192 kb/s)]
Подскажите, пожалуйста, регулярку, чтобы можно было парсить куски наглийского текста и даты, например: Все, что находится между Каст (Tina Turner) и первой буквой русского алфавита, т.е. П (Подсайт и сайт). Все, что находится между Дата производства (2005.12.05) и Ж (Жанр). Все, что находится между Жанр (Rock pop rock R&B soul pop) и П (Продолжительность). Все, что находится между Описание (Official video of Tina Turner performing 'What's Love Got to Do with It' in the secret black and white version, now upgraded to HD.) и Ф (Фото). Вот по такому принципу.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113
как добавить пробел перед заглавными буквами если его нет перед ними?
Регулярка: \.(?=[A-ZА-Я]) ищет слипшиеся точку и заглавную букву.
Действие "Обработка текста - Замена (Regex)":

71956
 
Последнее редактирование:
  • Спасибо
Реакции: cherus09

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113
Добрый вечер. Есть текст такого вида:
Каст: Tina Turner Подсайт и сайт: tina.com/ru/Дата производства: 2005.12.05 Жанр: Rock pop rock R&B soul pop Продолжительность: 00:26:32Описание: Official video of Tina Turner performing 'What's Love Got to Do with It' in the secret black and white version, now upgraded to HD. Фото: СсылкаТип HD видео: 1080p Формат видео: MPEG Видео: MPEG4 Video (H264) 1920x1080 29.97fps 5995kbps [V: English [eng] (h264 high L4.1, yuv420p, 1920x1080, 5995 kb/s)] Аудио: AAC 48000Hz stereo 192kbps [A: SoundHandler [eng] (aac lc, 48000 Hz, stereo, 192 kb/s)]
Подскажите, пожалуйста, регулярку, чтобы можно было парсить куски наглийского текста и даты, например: Все, что находится между Каст (Tina Turner) и первой буквой русского алфавита, т.е. П (Подсайт и сайт). Все, что находится между Дата производства (2005.12.05) и Ж (Жанр). Все, что находится между Жанр (Rock pop rock R&B soul pop) и П (Продолжительность). Все, что находится между Описание (Official video of Tina Turner performing 'What's Love Got to Do with It' in the secret black and white version, now upgraded to HD.) и Ф (Фото). Вот по такому принципу.
Лучше приведите блоки текста, которые вы хотите спарсить, основываясь на тексте, который вы привели.
 
  • Спасибо
Реакции: mEdvEd71

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
1. Tina Turner
2. 2005.12.05
3. Rock pop rock R&B soul pop
4. Official video of Tina Turner performing 'What's Love Got to Do with It' in the secret black and white version, now upgraded to HD.
На разных страницах параметры парсинга могут меняться. Например, вместо Каст может быть Актеры или Имена актеров. Вместо Дата производства может быть Год, Дата или Год выпуска. Вместо описания Description и т. д. Как сделать автоматический парсинг нужных блоков при таких условиях? Пока я собрал все эти параметры в несколько кубиков и через проверку переменных, в которые записывается результат, (пустая-полная) сделал между ними переходы. Но в том случае, если попадается не учтенный параметр, то ничего не парсится, соответственно. (
 

udder

Client
Регистрация
28.03.2017
Сообщения
618
Благодарностей
128
Баллы
43
Есть переменная с числами от 1 до 50

Как обработать переменную чтобы перед каждой цифрой подставить свое слово?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113
  • Спасибо
Реакции: udder

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113
1. Tina Turner
2. 2005.12.05
3. Rock pop rock R&B soul pop
4. Official video of Tina Turner performing 'What's Love Got to Do with It' in the secret black and white version, now upgraded to HD.
На разных страницах параметры парсинга могут меняться. Например, вместо Каст может быть Актеры или Имена актеров. Вместо Дата производства может быть Год, Дата или Год выпуска. Вместо описания Description и т. д. Как сделать автоматический парсинг нужных блоков при таких условиях? Пока я собрал все эти параметры в несколько кубиков и через проверку переменных, в которые записывается результат, (пустая-полная) сделал между ними переходы. Но в том случае, если попадается не учтенный параметр, то ничего не парсится, соответственно. (
Попробуйте, приложил пример.
Регулярки можете дополнить еще вариантами доп. слов опор, по аналогии как сейчас.
 

Вложения

  • Спасибо
Реакции: mEdvEd71 и udder

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
Спасибо. А нельзя в xmlz или текстом набросать? У меня ZennoPoster 5...
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113

Вложения

  • Спасибо
Реакции: mEdvEd71

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
Спасибо огромное. На тестовом тексте все работает отлично. Но, открыл сейчас другую страницу:
Имя актрисы : Julia Roberts Название ролика : Ben Is Back Подсайт и сайт : [esubmovie.com/ben-is-back-2018/] Дата выхода : December 10th, 2018 Жанр : American drama film Продолжительность : 01:37:13Описание : Follows the charming yet troubled Ben Burns (Hedges), who returns home to his unsuspecting family one fateful Christmas Eve. Ben’s wary mother Holly Burns (Roberts) welcomes her beloved son’s return, but soon learns he is still very much in harm’s way. During the 24 hours that may change their lives forever, Holly must do everything in her power to avoid the Тип HD видео : 1080p Видео кодек : WVC Аудио кодек : WMA Формат видео : WMV Видео : WVC1 1920x1080 29.97fps 12000Kbps Аудио : Windows Media Audio 44100Hz stereo 128Kbps
И уже ничего не парсится. ( В исходниках нет единой структуры, меняются сами параметры, их расположение, количество и т.д. Единственное, что более-менее постоянное - это то, что параметрами парсинга являются русские слова между блоками английского текста... Можно ли как-то парсить от такого то и такого слова, допустим актрисы и до первой буквы русского алфавита после искомого текста? Просто больше ничего другого в голову не приходит. Может есть какой-то еще способ парсинга таких текстов? Если да, посоветуйте, пожалуйста.

Попробовал вот так записать: (?<=(Каст|Актеры|Имя\ актрисы):\ ).*?(?=\ П|Н). Тоже не парсит почему то.
 

Вложения

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113
На тестовом тексте все работает отлично. Но, открыл сейчас другую страницу:
Попробовал вот так записать: (?<=(Каст|Актеры|Имя\ актрисы):\ ).*?(?=\ П|Н). Тоже не парсит почему то.
В новом исходнике есть пробел перед двоеточием, его можно обыграть так - добавить перед двоеточнием в регулярках это: (\ |)
 
  • Спасибо
Реакции: mEdvEd71

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
Спасибо. Двоеточие я потом убирал. Его тоже в некоторых случаях может не быть или оно после пробела, или после нескольких.
 

Вложения

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
Эти все случаи можно учесть? Или же проще изначально без двоеточия парсить, а потом удалять его и обрезать получившиеся пробелы?
 

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
В таком варианте: (?<=(Каст|Актеры|Имя\ актрисы):\ | ).*?(?=\ П|Н) парсится вот так: актрисы : Julia Roberts . Сделал вот так: (?<=(Каст|Актеры|актрисы):\ | ).*?(?=\ П|Н) все равно почему то вместе с актрисой парсит?
 

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
А чтобы любую букву учитывать, сюда (?=\ П|Н) нужно весь алфавит прописать?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113
В таком варианте: (?<=(Каст|Актеры|Имя\ актрисы):\ | ).*?(?=\ П|Н) парсится вот так: актрисы : Julia Roberts . Сделал вот так: (?<=(Каст|Актеры|актрисы):\ | ).*?(?=\ П|Н) все равно почему то вместе с актрисой парсит?
(?<=(Каст|Актеры|Имя\ актрисы):\ |).*?(?=\ П|Н)
(после вертикальной линии не должно быть пробела)

А чтобы любую букву учитывать, сюда (?=\ П|Н) нужно весь алфавит прописать?
в этом случае П|Н можно заменить на [А-Я]
 
  • Спасибо
Реакции: mEdvEd71

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
Спасибо. Прописал вот так: (?<=(Каст|актера|актрисы)).*?(?=\ [А-Яа-я]). Вроде работает.

Что-то у меня вместо даты парсится не пойми что. Сделал вроде бы по образцу: (?<=(производства|Год|выхода|Дата|выпуска)).*?(?=\ [А-Яа-я]).

Вот так парсится нормально: (?<=(производства|выхода|выпуска)).*?(?=\ [А-Яа-я]). Добавляю Год: (?<=(производства|Год|выхода|выпуска)).*?(?=\ [А-Яа-я]), парсится хрень с шампанским. Добавляю Дата: (?<=(производства|выхода|выпуска|Дата)).*?(?=\ [А-Яа-я]), ничего не парсится. Как сделать, чтобы Дата, Год и прочие слова с заглавной буквы учитывались?
 

Вложения

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113

Вложения

  • Спасибо
Реакции: mEdvEd71

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
Спасибо. А как корректно сделать, чтобы при парсинге не учитывались двоеточия? Просто на некоторых страницах их нет иногда. И тогда нужные блоки не парсятся. Двоеточия лучше потом уже после парсинга убирать. Я пробовал удалять из регулярок таким образом: (?<=((Год|Дата|\s+(выхода|выпуска|производства)))(\s+|)).*?(?=Ж). Но опять начинает парситься какая-то белиберда. (
 

Вложения

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
И еще, когда блок под спойлером, то русские слова в исходнике дублируются, например Описание Описание:
Имя актрисы : Julia Roberts Название ролика : Ben Is Back Подсайт и сайт : [esubmovie.com/ben-is-back-2018/] Дата выхода : December 10th, 2018 Жанр : American drama film Продолжительность : 01:37:13Описание Описание : Follows the charming yet troubled Ben Burns (Hedges), who returns home to his unsuspecting family one fateful Christmas Eve. Ben’s wary mother Holly Burns (Roberts) welcomes her beloved son’s return, but soon learns he is still very much in harm’s way. During the 24 hours that may change their lives forever, Holly must do everything in her power to avoid the Тип HD видео : 1080p Видео кодек : WVC Аудио кодек : WMA Формат видео : WMV Видео : WVC1 1920x1080 29.97fps 12000Kbps Аудио : Windows Media Audio 44100Hz stereo 128Kbps
И блок не парсится. Вставил это двойное слово в регулярное выражение: (?<=(Описание|Description|Описание Описание)).*?(?=\ [А-Яа-я]), но все равно не работает.
 

Вложения

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 564
Благодарностей
9 180
Баллы
113
И еще, когда блок под спойлером, то русские слова в исходнике дублируются, например Описание Описание:
Проверил последним вариантом своего шаблона - парсит описание нормально, без повторов.

72101
 
  • Спасибо
Реакции: mEdvEd71

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
Без двоеточий не парсит. ( Иногда попадаются такие варианты.
Имя актрисы Julia Roberts Название ролика : Ben Is Back Подсайт и сайт : [esubmovie.com/ben-is-back-2018/] Дата выхода December 10th, 2018 Жанр American drama film Продолжительность : 01:37:13ОписаниеFollows the charming yet troubled Ben Burns (Hedges), who returns home to his unsuspecting family one fateful Christmas Eve. Ben’s wary mother Holly Burns (Roberts) welcomes her beloved son’s return, but soon learns he is still very much in harm’s way. During the 24 hours that may change their lives forever, Holly must do everything in her power to avoid the Тип HD видео : 1080p Видео кодек : WVC Аудио кодек : WMA Формат видео : WMV Видео : WVC1 1920x1080 29.97fps 12000Kbps Аудио : Windows Media Audio 44100Hz stereo 128Kbps
 

Вложения

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
И в таком варианте не срабатывает:
Имя актрисы: Pamela Denise Anderson Подсайт и сайт: en.wikipedia.org/wiki/Pamela_AndersonГод производства: 2008 г. Жанр: DramaДоп. информация: She is best known for her numerous appearances in Playboy magazine and for her work on the television series Home Improvement (1991–1993, 1997), Baywatch (1992–1997), and V.I.P. (1998–2002).Тип HD видео: 1080p Формат видео: MP4 Видео: MPEG4 Video (H264) 1920x1080 29.97fps 12599kbps Аудио: AAC 44100Hz stereo 255kbps Описание Описание Anderson rose to prominence after being selected as the February 1990 Playmate of the Month for Playboy magazine.[1] She went on to frequent appearances on the magazine's cover, holding the record of the most Playboy covers by any person.[5] Anderson became known to a wider audience in 1991, appearing as Lisa on the award-winning ABC comedy series Home Improvement for its first two seasons. The following year, she received international recognition for her starring role as C. J. Parker on the action-drama series Baywatch, further cementing her status as a sex symbol. From 1998 to 2002, Anderson played the role of Vallery Irons on the action-comedy series V.I.P Скриншоты
 

Вложения

mEdvEd71

Client
Регистрация
03.01.2021
Сообщения
167
Благодарностей
7
Баллы
18
Добрый вечер. Сделал такую регулярку для поиска даты (года) (19[0-9][0-9]|20[0-9][0-9]). Не знаю насколько правильно, но вроде работает. Еще такой вопрос, иногда при парсинге в описание попадают "хвосты" такого типа: "httpppamela.netforumviewtopic.php?t", "p?t y s", "!n b".
Here is the video featuring beautiful Pamela Denise Anderson. httpppamela.netforumviewtopic.php?t
Here is the video featuring beautiful Pamela Denise Anderson? p?t y s
Here is the video featuring beautiful Pamela Denise Anderson! ? !n b
Можно ли как-то их обрезать? Находить такие участки я думал таким образом: ([\.|\?|\!]\s+[^A-Z]), а вот как обрезать таким образом, чтобы удалялось все после знака препинания? Подскажите, пожалуйста. Заранее огромное спасибо.
 

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