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

EgorViking

Новичок
Регистрация
25.07.2014
Сообщения
2
Благодарностей
1
Баллы
1
Доброго времени суток, делаю парсер закрытых групп в одноклассниках. Столкнулся с проблемой, с помощью регулярки (?<=st\.groupId=)[\w\W]*?(?=&amp) - прекрасно парсятся все присутствующие группы на странице. Но!

Закрыте группы окружены конструкцией вида - <a href="/dk?st.cmd=altGroupMain&amp;st.groupId=52065120092230&amp;_prevCmd=altGroupSearch&amp;tkn=5284" class="sclnk"><div class="fll sz50 mr5"><div class="fll sz50 mr5"><img alt="" src="http://groupava2.mycdn.me/getImage?photoId=498176046150&amp;photoType=4" class="sz50 pho" /></div></div><img alt="" src="/res/img/t/loc2.png" class="ic12" />

Где groupId - собственно нужный параметр, ид группы. И "tkn=" и "photoId" рандомные параметры и "src="/res/img/t/loc2.png" собственно рисунок замочка, по которому и определяется закрытость группы.

Так вот, вопрос - как собственно оставить только закрытые группы?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 704
Баллы
113
див группы искать по атрибутам, брать из него innerhtml, проверять если ли там нужный код
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
Благодарю за ответы в других темах! Подскажите если код страницы

<span class="info-text">

Москва,

</span>

<span class="info-text">р-нЛенинский</span>

<span class="info-text text-user-address">



Как выпорсить регуляркой Москва



Если такая регулярка:

(?<=<span\ class="info-text">)[\w\W]*?(?=<span\ class="info-text">р-н)


То получается:

Москва,

</span>


А нужно ток город.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 362
Благодарностей
8 648
Баллы
113
а исходный код именно такой? с пустыми строками?
и после города всегда запятая есть?
 

Ztt7

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

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 362
Благодарностей
8 648
Баллы
113
впрочем, неважно, с пустыми строками или нет - главное в конце тримировать..
вот регулярка:
Код:
(?<=<span\ class="info-text">)[\w\W]*(?=,)
upload_2014-9-1_3-31-10.png
 
Регистрация
21.05.2014
Сообщения
153
Благодарностей
9
Баллы
18
Код:
@using System.Text.RegularExpressions;
String result = Regex.Replace("project.Variables['mestopolojenie'].Value", @"<[^>]*>", String.Empty);
почему эта строчка с regex удаления всех html кодов не работает?
Если убрать @using System.Text.RegularExpressions, то выкидывает ошибку "The name 'Regex' does not exist in the current context"
А такой код
Код:
string str = project.Variables['mestopolojenie'].Value;
string result = Regex.Replace(str, @"<[^>]*>", String.Empty);
выдаёт "Too many characters in character literal".:be:
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 704
Баллы
113
директивы using отдельно прописываются
Свой код - директивы using

Код:
using System.Text.RegularExpressions;
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
Подскажите что не так

Работает логика

{-Variable.Novostroiki_Proverka-}==00

-- --

Так не работает

{-Variable.Novostroiki_Proverka-}==Новостройки
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 704
Баллы
113
'{-Variable.Novostroiki_Proverka-}'=='Новостройки'
кавычки нужны для сравнения строк
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
rostonix , sergodjan66 Благодарю все заработало !
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
Подскажите есть разница в использовании db.mdb созданной в Microsoft Office Access LibreOffice Base ?
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
Подскажите как из .xlsx взять диапазон, чтоб попали несколько колонок или числа на скрине от (1-7)

Операция над таблицей / Прочитать ячейку / 79 ???

http://s011.radikal.ru/i318/1409/6a/28f7798a3f0f.jpg
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 704
Баллы
113
ячейка это ячейка. если нужно объединить данные всех ячеек в строке то нужно брать строку
 

Ztt7

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

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 704
Баллы
113
Взять строку там есть опция, а не ячейку
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
Не получается спарсеный текст (в переменной) сложить в одну строку

Вроде возможностей много, но пока не вышло сделать как нужно

Спарсеный текст такого вида 1, 4, 7, Кошка, Собака, Дом, 12.

Бывает не идеально спарсило и после Кошка_ лишний пробел

--
Нужен такой результат в .txt в одну строчку без переносов

1;4;7;Кошка ;Собака;Дом;12
-
А выходит так:

1;4;7;Кошка ;
Собака;
Дом;
12;


Что нужно сделать ? Благодарю
 

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43
Нужен такой результат в .txt в одну строчку без переносов

1;4;7;Кошка ;Собака;Дом;12
-
А выходит так:

1;4;7;Кошка ;
Собака;
Дом;
12;


Что нужно сделать ? Благодарю
Можно такой регуляркой привести в нужный вид:
Код:
{-String.Enter-}|(?<=;)\s|\s(?=;)|;$
 
Последнее редактирование:

Ztt7

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

LmPopo

Client
Регистрация
06.12.2012
Сообщения
299
Благодарностей
136
Баллы
43

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
Благодарю!
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
Кроме как С# Adres__ = Adres__ + "\r".Replace("\n", "");
А перенос строки и новую строку, тогда как убрать Обработка текста: замена ?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 704
Баллы
113
Просто {-String.Enter-} заменить на пустоту
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
{-String.Enter-}|(?<=;-)\s|\s(?=;-)|;$ , Enter - понял.
Но как потом убрать пустые строки, чтоб получать всегда 12345 или Дом ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 362
Благодарностей
8 648
Баллы
113
прогонять переменную через Обработка текста -> Trim
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
Благодарю!
Подскажите как взять рег. выражением

331 - ?
если : (left:124 и width:416px неизвестны) ???


position:fixed; left:124px; top:331px; width:416px; height:


(?<=position:fixed;\ left:124px;\ top: ).*?(?=px;\ width:416px;\ height: ) не работает
 

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
352
Баллы
63

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
СТЕПАН, Да я понимаю, но это не самый лучший вариант так как на странице много близкого по содержанию контента
Вопрос как взять
из position:fixed; left:124px; top:331px; width:416px; height: чем обозначить 124 и 416 эти 6 символов, чтоб они не учитывались

(?<=position:fixed;\ left:***px;\ top: ).*?(?=px;\ width:***px;\ height: ) *** *** вопрос написания, как правильно ?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 704
Баллы
113
а не проще забирать из кода элемента а не регуляркой?
 

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
352
Баллы
63
СТЕПАН, Да я понимаю, но это не самый лучший вариант так как на странице много близкого по содержанию контента
Вопрос как взять
из position:fixed; left:124px; top:331px; width:416px; height: чем обозначить 124 и 416 эти 6 символов, чтоб они не учитывались

(?<=position:fixed;\ left:***px;\ top: ).*?(?=px;\ width:***px;\ height: ) *** *** вопрос написания, как правильно ?
https://yadi.sk/i/xljbWITibWrcZ
 

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