2 место Регулярные выражения, что это такое и с чем их едят?

Gamma

Client
Регистрация
14.05.2016
Сообщения
83
Благодарностей
10
Баллы
8
Только в последней версии программы возникла такая ситуация. Раньше никогда не попадалось ситуаций, чтобы что то по разному работало в конструкторе и ПМ.
Да, у меня последняя версия, но пока что демо, может из за этого ?
 

scauter

Пользователь
Регистрация
05.07.2016
Сообщения
43
Благодарностей
0
Баллы
6
Код:
 ="invisible"></span><span
="tco-ellipsis"><span
="invisible">&nbsp;</span></span></a></p>
  <a href="/uolgaipane/status/768088428541906944"
="tweet-timestamp js-permalink js-nav js-tooltip" title="7:12 - 23 авг. 2016 г."><span
="_timestamp js-short-timestamp " data-aria-label-part="last" data-time="1471961526" data-time-ms="1471961526000" data-long-form="true">23 авг.</span></a>
Мне нужно из текста получить строки такого вида <a href="/uolgaipane/status/768088428541906944"
Составил регулярное выражение \ \ <a\ href=".*" Выбрал: ОБРАБОТКА ТЕКСТА--УДАЛИТЬ ЭЛЕМЕНТЫ НЕ УДОВЛЕТВОРЯЮЩИЕ РЕГУЛЯРНОМУ ВЫРАЖЕНИЮ.Но не удаляется не нужные строки.Хотя в конструкторе рег выражение в ручную всё обрабатывается Получается вот так
Код:
2      <a href="/AllKazNews/status/772828926775222273"
3      <a href="/spb_tales/status/772826840364900352"
4      <a href="/EdGlezin/status/772812437632548864"
5      <a href="/yinegveyikci/status/772798795272884225"
6      <a href="/sasha031266/status/772763149917388800"
но в шаблоне проджектмейкера это не срабатывает.
Подскажите как удалить все остальные строки или получить из текста нужные строки.
 

Hozy

Client
Регистрация
06.03.2016
Сообщения
146
Благодарностей
12
Баллы
18
Здравствуйте @ZennoScript и все все все)
Вопрос, как составить регулярное выражение в следующем случае:
login:password|proxy|UserAgent
Как получить login, password, proxy, useragent.
Код:
Login нахожу так - ^.*?(?=:)
Proxy - (?<=\|).*?(?=\|)
А с password и useragent проблема.
Читаю про регулярки, ни чего не понимаю(
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
Здравствуйте @ZennoScript и все все все)
Вопрос, как составить регулярное выражение в следующем случае:
login:password|proxy|UserAgent
Как получить login, password, proxy, useragent.
Код:
Login нахожу так - ^.*?(?=:)
Proxy - (?<=\|).*?(?=\|)
А с password и useragent проблема.
Читаю про регулярки, ни чего не понимаю(
Код:
Password: (?<=:).*?(?=\|)
UserAgent: (?<=\|.*\|).*
 
  • Спасибо
Реакции: Hozy

Hozy

Client
Регистрация
06.03.2016
Сообщения
146
Благодарностей
12
Баллы
18
Код:
Password: (?<=:).*?(?=\|)
UserAgent: (?<=\|.*\|).*
Спасибо! Пароль так и делал, но proxy имеет формат
Код:
login:password@ip:port
По этому по данной регулярке находит два совпадения. Пароль и
Код:
password@ip:port
Вот и не пойму, как указать нужное совпадение.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
Спасибо! Пароль так и делал, но proxy имеет формат
Код:
login:password@ip:port
По этому по данной регулярке находит два совпадения. Пароль и
Код:
password@ip:port
Вот и не пойму, как указать нужное совпадение.
Код:
Password: (?<=:).*?(?=\|.*:)
 
  • Спасибо
Реакции: Hozy

Hozy

Client
Регистрация
06.03.2016
Сообщения
146
Благодарностей
12
Баллы
18

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113
можно использовать одну и ту же регулярку для взятия 3-х параметров:
(по номерам совпадений: 0, 1 и 2)

Код:
(?<=(^|\|)).*?(?=(\||$|\r\n))
upload_2016-10-6_2-38-11.png


а 0 и 1 совпадение разложить потом доп. регулярками на составляющие..
 
  • Спасибо
Реакции: Hozy

Sapfire65

Client
Регистрация
05.06.2016
Сообщения
103
Благодарностей
22
Баллы
18
Подскажите плизз каким регулярным вырожением можно проверить наличие текста в переменной? Иногда нужно укажывать много разнообразных вариантов для парсинга текста. Даже с одного и того же источника. Приходиться писать дополнительные регулярки. Но использовать их целесообразно только проверив есть ли данные в переменной или нет.

Как проверить наличие данных в переменной?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
Подскажите плизз каким регулярным вырожением можно проверить наличие текста в переменной? Иногда нужно укажывать много разнообразных вариантов для парсинга текста. Даже с одного и того же источника. Приходиться писать дополнительные регулярки. Но использовать их целесообразно только проверив есть ли данные в переменной или нет.

Как проверить наличие данных в переменной?
Экшен If
'{-Variable.Var-}'!=''
 
  • Спасибо
Реакции: Sapfire65

Sapfire65

Client
Регистрация
05.06.2016
Сообщения
103
Благодарностей
22
Баллы
18
Экшен If
'{-Variable.Var-}'!=''
От души благодарю!

p/s Вот еслиб на форуме прикрутили вместо кнопки лайк кнопку отправить денюжку!
Яб за каждый правильный оперативный ответ от души благодарил.
В разумных циферках конечно XD
 
  • Спасибо
Реакции: SHoro и Dimionix

Sapfire65

Client
Регистрация
05.06.2016
Сообщения
103
Благодарностей
22
Баллы
18
Можно ли прямо в переменной, в результате обработанного регулярного выражения. Указать например перенос на новую строку после точки?

Или для этого придется работать со списком?

p/s Я ищу конец предложения в виде точки, и например заменяю на точку и перенос следующей строки.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
Можно ли прямо в переменной, в результате обработанного регулярного выражения. Указать например перенос на новую строку после точки?

Или для этого придется работать со списком?

p/s Я ищу конец предложения в виде точки, и например заменяю на точку и перенос следующей строки.
заменить \. на \.\r\n по регулярке
либо без регулярки заменить точку на .{-String.Enter-}
 
  • Спасибо
Реакции: SHoro

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
От души благодарю!

p/s Вот еслиб на форуме прикрутили вместо кнопки лайк кнопку отправить денюжку!
Яб за каждый правильный оперативный ответ от души благодарил.
В разумных циферках конечно XD
так сейчас вроде не проблема кинуть на вм или карту или любой кошель )
 

Sapfire65

Client
Регистрация
05.06.2016
Сообщения
103
Благодарностей
22
Баллы
18
так сейчас вроде не проблема кинуть на вм или карту или любой кошель )
Ну это то не проблема конечно. Но автоматизированно и сразу адресно это было бы кул.
 
  • Спасибо
Реакции: SHoro

scauter

Пользователь
Регистрация
05.07.2016
Сообщения
43
Благодарностей
0
Баллы
6
Возможно ли сделать так,чтобы один экшн обрабатывал текст сразу по двум регулярным выражениям? Например удалял строки не соответствующие этим рег выражениям.(?<=</div>).*(?=</div>) (?<=</div>).*(?=<br>).Или это нужно делать два списка и один обрабатывать первым выражением,а второй обрабатывать вторым выражением и затем всё соединить в один список.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
(?<=</div>).*(?=</div>)|(?<=</div>).*(?=<br>)
так попробуй. или так
((?<=</div>).*(?=</div>)|(?<=</div>).*(?=<br>))
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
Возможно ли сделать так,чтобы один экшн обрабатывал текст сразу по двум регулярным выражениям? Например удалял строки не соответствующие этим рег выражениям.(?<=</div>).*(?=</div>) (?<=</div>).*(?=<br>).Или это нужно делать два списка и один обрабатывать первым выражением,а второй обрабатывать вторым выражением и затем всё соединить в один список.
(?<=</div>).*(?=<(/div|br)>)
можно так сделать
 
  • Спасибо
Реакции: doc

SHoro

Client
Регистрация
02.08.2016
Сообщения
52
Благодарностей
5
Баллы
8
Привет всем
как задать пустую строку?
'' срабатывает при проверках, а вот как изначально вакуум задать ? текстовый экшн на такую запись создаёт именно строку
''
а мне нужна пустота..
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
string str = "";
 
  • Спасибо
Реакции: SHoro

SHoro

Client
Регистрация
02.08.2016
Сообщения
52
Благодарностей
5
Баллы
8

SHoro

Client
Регистрация
02.08.2016
Сообщения
52
Благодарностей
5
Баллы
8
ага!
string str = "";
return str;
 

Sapfire65

Client
Регистрация
05.06.2016
Сообщения
103
Благодарностей
22
Баллы
18
Помогите с регуляркой. Как взять последние три символа в переменной? Нужно парсить расширение файла. Например image.jpg Парсить jpg или .jpg
 

Sapfire65

Client
Регистрация
05.06.2016
Сообщения
103
Благодарностей
22
Баллы
18
Помогите с регуляркой. Как взять последние три символа в переменной? Нужно парсить расширение файла. Например image.jpg Парсить jpg или .jpg
Ах да, забыл сказать что путь к файлу выглядит примерно вот так https://lh3.googleusercontent.com/-jGCyqpnkLd4/WAp_lOWxaOI/AAAAAAADYEQ/XblypOtX_nkMBkqxUabICNoDHz34eJYmQCJoC/w530-h407-p/image.jpg
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113

Sapfire65

Client
Регистрация
05.06.2016
Сообщения
103
Благодарностей
22
Баллы
18
Существует необходимость очистить весь русский текст от английского. Какой регуляркой это можно реализовать?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
[a-zA-Z]+
заменить на пустоту по регулярке
 
  • Спасибо
Реакции: SHoro и Sapfire65

Sapfire65

Client
Регистрация
05.06.2016
Сообщения
103
Благодарностей
22
Баллы
18

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
Где можно почитать подробную инструкцию с примерами по составлению регулярок? Кроме вики
не знаю, мне нравится как всё расписано в вики. Туда и обращаюсь в случае чего
 
  • Спасибо
Реакции: SHoro и masterLomaster

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
  • Спасибо
Реакции: SHoro и doc

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