Бесплатно напишу регулярное выражение. Часть 2.

Severip

Client
Joined
Oct 17, 2013
Messages
346
Reaction score
99
Points
28
Когда я РИА парсил, то шел таким путем: 1- Сначала через regex берем всю новость по тегам в отдельную переменную, 2- потом уже из этой переменной регулярками ее разбираем на зоголовок, теги, картинку и текст, 3- и уже в заголовке, тексте и тегах просто убивается весь html и все левые символы просто через замену. Для удаления html регулярка вот: <[\w\W]*?>
 
  • Thank you
Reactions: Bening

Bening

Client
Joined
May 25, 2016
Messages
6
Reaction score
0
Points
1
Когда я РИА парсил, то шел таким путем: 1- Сначала через regex берем всю новость по тегам в отдельную переменную, 2- потом уже из этой переменной регулярками ее разбираем на зоголовок, теги, картинку и текст, 3- и уже в заголовке, тексте и тегах просто убивается весь html и все левые символы просто через замену. Для удаления html регулярка вот: <[\w\W]*?>
Спасибо! Буду пробовать.
 

xuligan

Client
Joined
Mar 7, 2011
Messages
156
Reaction score
42
Points
28
есть вот такие строк, надо брать то что выделено, ну это я их выделил что бы понятней было что надо
Киевская, Киев, р-н. Галицький, Волощака
Киевская, Киев, р-н. Личаківський, Личаківська вулиця
Киевская, Киев, р-н. Лычаковский, Шафарика&nbsp; улица
Киевская, Киев, р-н. Галицький, Балабана Маєра вулиця
 

doc

Client
Joined
Mar 30, 2012
Messages
8,685
Reaction score
4,648
Points
113
(?<=([^,\n]+,){2}\s*)[А-Я]\w+(\s+[А-Я]\w+)*
 
  • Thank you
Reactions: xuligan

xuligan

Client
Joined
Mar 7, 2011
Messages
156
Reaction score
42
Points
28
(?<=([^,\n]+,){2}\s*)[А-Я]\w+(\s+[А-Я]\w+)*
если не затруднит, переделайте/доделайте чутка, просто попадаются и другие строки, вот такого плана,
Киевская, Киев, Дж. Ленона
Киевская, Киев, р-н. Франківський, В.Великого
 

konfuciy

Client
Joined
May 7, 2014
Messages
1,402
Reaction score
131
Points
63
если не затруднит, переделайте/доделайте чутка, просто попадаются и другие строки, вот такого плана,
Киевская, Киев, Дж. Ленона
Киевская, Киев, р-н. Франківський, В.Великого
такое попробуй
(?<=,)[^,&]+?(?=(улица|вулиця|\&|\n))
 

xuligan

Client
Joined
Mar 7, 2011
Messages
156
Reaction score
42
Points
28
такое попробуй
(?<=,)[^,&]+?(?=(улица|вулиця|\&|\n))
всё как бы нармуль, только последние не ловит Киевская, Киев, р-н. Франківський, В.Великого
а так спасибо
 

konfuciy

Client
Joined
May 7, 2014
Messages
1,402
Reaction score
131
Points
63
всё как бы нармуль, только последние не ловит Киевская, Киев, р-н. Франківський, В.Великого
а так спасибо
неправда ваша, проверил, ловит все из ваших примеров, кроме как если идет последняя строка в тексте, этот момент я упустил, дополняю
(?<=,)[^,&]+?(?=(улица|вулиця|\&|\n|$))
 
  • Thank you
Reactions: xuligan

xuligan

Client
Joined
Mar 7, 2011
Messages
156
Reaction score
42
Points
28
Спасибо, сейчас всё просто шоколадно))))))
 
  • Thank you
Reactions: konfuciy

arthyrgrex

Client
Joined
May 12, 2013
Messages
104
Reaction score
31
Points
28
Ребят, подскажите пожалуйста, как удалить все после 33 символа в строке?
 

konfuciy

Client
Joined
May 7, 2014
Messages
1,402
Reaction score
131
Points
63
Ребят, подскажите пожалуйста, как удалить все после 33 символа в строке?
regex
^.{33}
 

arthyrgrex

Client
Joined
May 12, 2013
Messages
104
Reaction score
31
Points
28
regex
^.{33}
это регулярка удаляет все символы до 33, а мне нужно после 33 =)
чет все до меня не дойдет, как это сделать.
если возможно - чтобы работала в notepad++
 

silent

Client
Joined
Apr 5, 2014
Messages
237
Reaction score
85
Points
28
(?<=.{33})\w+
 

konfuciy

Client
Joined
May 7, 2014
Messages
1,402
Reaction score
131
Points
63
это регулярка удаляет все символы до 33, а мне нужно после 33 =)
чет все до меня не дойдет, как это сделать.
дык пользуешь Обработка текста/Регекс и получаешь искомое - строку за вычетом всего после 33го символа. берешь в ту же переменную
 

konfuciy

Client
Joined
May 7, 2014
Messages
1,402
Reaction score
131
Points
63
.
если возможно - чтобы работала в notepad++
в ноутпаде++ другие правила совсем
(^.{33}).*
заменить на \1
 

arthyrgrex

Client
Joined
May 12, 2013
Messages
104
Reaction score
31
Points
28
В нотепад++ работает следующая регулярка:
(?<=^.{33}).+

Спасибо doc
 

Nord

Client
Joined
Mar 22, 2012
Messages
2,414
Reaction score
1,481
Points
113
а как найти в тексте кей который в кавычках и состоит из 32 символов(цифры и маленькие латинские)?

Спасибо вики)
(?<=")\w{32}(?=")
 
Last edited:

silent

Client
Joined
Apr 5, 2014
Messages
237
Reaction score
85
Points
28
а как найти в тексте кей который в кавычках и состоит из 32 символов(цифры и маленькие латинские)?

Спасибо вики)
(?<=")\w{32}(?=")
"\w{32}"
 
  • Thank you
Reactions: Nord

Nord

Client
Joined
Mar 22, 2012
Messages
2,414
Reaction score
1,481
Points
113

silent

Client
Joined
Apr 5, 2014
Messages
237
Reaction score
85
Points
28
  • Thank you
Reactions: Nord

Sanekk

Client
Joined
Jun 24, 2016
Messages
999
Reaction score
390
Points
63
Хлопцы помогите вытащить этот номер:
{\"hash\":\"f990f9a75fe190bd35\",\"sureBoxText\":false,\"strongCode\":0,\"joinParams\":false,
конструктор рег.выражений не помогает,там получается такая регулярка (?<=hash\\":\\").*?(?=\\) но в с# коде лезут ошибки,требует вставить скобки или ;
Наверное нужно что-то еще экранировать,но не знаю как,пробовал ставить @ перед регуляркой,но тоже не спасает.
 

doc

Client
Joined
Mar 30, 2012
Messages
8,685
Reaction score
4,648
Points
113
Хлопцы помогите вытащить этот номер:
{\"hash\":\"f990f9a75fe190bd35\",\"sureBoxText\":false,\"strongCode\":0,\"joinParams\":false,
конструктор рег.выражений не помогает,там получается такая регулярка (?<=hash\\":\\").*?(?=\\) но в с# коде лезут ошибки,требует вставить скобки или ;
Наверное нужно что-то еще экранировать,но не знаю как,пробовал ставить @ перед регуляркой,но тоже не спасает.
если ставишь @ то двойные кавычки нужно даблить
@"(?<=hash\\"":\\"").*?(?=\\)"
 
  • Thank you
Reactions: Sanekk

Nord

Client
Joined
Mar 22, 2012
Messages
2,414
Reaction score
1,481
Points
113
Есть урл на картинку. Нужно спарсить расширение файла, тоесть от последней точки до конца строки. Подскажите? Честное пионерское, сяду за изучение регулярок =)
 

doc

Client
Joined
Mar 30, 2012
Messages
8,685
Reaction score
4,648
Points
113

silent

Client
Joined
Apr 5, 2014
Messages
237
Reaction score
85
Points
28
уже ответили
либо так .*\.(.*)$
 
  • Thank you
Reactions: Nord

sidor800

Client
Joined
Apr 16, 2013
Messages
123
Reaction score
43
Points
28
Подскажите как удалить все после 20 слов в много строчном тексте
 

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
113
Подскажите как удалить все после 20 слов в много строчном тексте
Заменить (?<=^(\w+\W+){19}\w+).* на пустоту.

Но проще выпарсить нужное регуляркой ^(\w+\W+){19}\w+
 
  • Thank you
Reactions: sidor800

sidor800

Client
Joined
Apr 16, 2013
Messages
123
Reaction score
43
Points
28
Подскажите как взять 3 последних слова
 

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
113
  • Thank you
Reactions: sidor800

sidor800

Client
Joined
Apr 16, 2013
Messages
123
Reaction score
43
Points
28
Подскажите как одним регулярным выражение удалить все теги, но оставить определенные p br img
есть выражение [^\s\d\w-":] удаляет все спецсимволы кроме -": надо что то наподобие но для тегов
 

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)