Как правильно взять нужное значние.

Регистрация
27.12.2012
Сообщения
70
Благодарностей
8
Баллы
8
Столкнулся с проблемой. Решил массово сокращать ссылки на u.to. И застрял практически на последнем этапе. Как взять ту самую ссылку? У меня в проекте сейчас есть блок "Взять ссылку", Что брать - outertext, атрибут href, тип поиска regexp, значение http://u\.to/* (может неправильно напечатал, не суть). Суть то в том, что он мне сохраняет всякие u.to/login и т.д. Как сохранить именно мою сгенерированную ссылку? Адреса ведь всегда разные у них...
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 310
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

Регистрация
27.12.2012
Сообщения
70
Благодарностей
8
Баллы
8

Manless

Client
Регистрация
09.01.2014
Сообщения
186
Благодарностей
33
Баллы
28
Ребят, не стал создавать новую тему, по regexp. Помогите пожалуйста сделать выражение.
Текст:
<td class="cntr">Значение 1</td>
<td>Значение 2</td>

Нужно чтобы результат был:
Значение 1
Значение 2
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 559
Благодарностей
8 729
Баллы
113
Код:
(?<=<td>).*?(?=</td>)|(?<=<td\ class="cntr">).*?(?=</td>)
upload_2014-8-31_1-5-16.png
 

Manless

Client
Регистрация
09.01.2014
Сообщения
186
Благодарностей
33
Баллы
28
sergodjan66, спасибо, но нужно универсальнее, я как то делал такое выражение, но забыл как. Вот например если исходник будет такой:
<td class="cntr">Значение 1</td>
<td class="cnqwtr">Значение 2</td>
<td class="cffntr">Значение 3</td>
<td class="cnertr">Значение 4</td>

то твое выражение не подойдет, и его надо будет изменять.

Как бы в этом выражении:

(?<=<td\ class="cntr">).*?(?=</td>)

сделать так чтобы игнорировались любые символы и буквы и цифры от "<td" до ">" и получилось бы

(?<=<td"любые символы">).*?(?=</td>)
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
891
Баллы
113
попробуйте так
(?<=\>).*?(?=</td>)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 559
Благодарностей
8 729
Баллы
113
или вот так:
Код:
((?<=<td\ class="[a-zA-Z0-9-_]+">).*?(?=</td>))|((?<=<td>).*?(?=</td>))
проверил - работает ок..

upload_2014-8-31_2-21-53.png
 

Manless

Client
Регистрация
09.01.2014
Сообщения
186
Благодарностей
33
Баллы
28
Из этого самый универасльный (?<=\>).*?(?=</td>) предложил Lexicon.

sergodjan66, спасибо :-) но немного не то :-) надо универсальнее :-) Маска типа такая: *<td*>Цель</td>*
Исходник:
<td class="cntr"><br>Значение 1</br></td>
<td class="cnqwtr"><s>Значение 2<s></td>
<td class="cffntr"><u>Значение 3</u></td>
<td class="cnertr"><li>Значение 4</li></td>
<td id="cntr"><strong>Значение 5</asdasd></td>
<td mops="cnqwtr"><b>Значение 6</strong></td>
<td kops="cffntr">Значение 7</td>
<td rops="cnertr">Значение 8</td>

Нужно спарсить всё что находится между тэгами <td....> и </td>
 
Последнее редактирование:

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 559
Благодарностей
8 729
Баллы
113
потерто хацкером....
 
Последнее редактирование:

Manless

Client
Регистрация
09.01.2014
Сообщения
186
Благодарностей
33
Баллы
28
Проще говоря хочу сделать шаблон <td*>Цель</td>, где * - там любые символы, буквы, цифры.
Когда делаю вот так (?<=<td \w\W\>).*(?=</td>) не срабатывает
 

Manless

Client
Регистрация
09.01.2014
Сообщения
186
Благодарностей
33
Баллы
28
Всё ) сделал (?<=<td\ [a-zA-Z0-9-_=" ]+>).*(?=</td>)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 559
Благодарностей
8 729
Баллы
113
можно вот по этой регулярке (<[^>]*>) делать замену на пустоту..
это универсальное самое и самое простое..

upload_2014-8-31_8-5-3.png
 
Последнее редактирование:
  • Спасибо
Реакции: Manless

Manless

Client
Регистрация
09.01.2014
Сообщения
186
Благодарностей
33
Баллы
28
sergodjan66
Во супер, в итоге получилось выражение
Код:
(?<=<td[^>]*>).*(?=</td>)
regexp1.png
 
Последнее редактирование:

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