Автор Тема: Помогите подобрать регулярное выражение  (Прочитано 1559 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн andriy111 [?]

  • Новичок
  • *
  • Сообщений: 58
  • Репутация: 0
  • Пол: Мужской
    • Награды
Привет всем!
У меня такая ситуация:
Код:
<table class="table table-bordered"> <td colspan="2" class="td-header"> TEXT </td> </tr> <tr><td colspan="2" class="td-header"> TEXT </td> </tr> <tr><td colspan="2"> TEXT </td> </tr> <tr></table> 
Элемент страницы имеет такой вид, но количество <td colspan="2" class="td-header"> TEXT </td> в таблице разное.

Как мне отправить все элементы ТЕХТ в массив в независимости от их количества.

Пробовал
Код: AutoIt [Выделить]
$td_blocks = StringRegExp($stroka, '<td colspan="2" class="td-header">(.*?)<\/td> <\/tr><tr> ',3)

Но он берет по несколько элементов ТЕХТ в один элемент массива!
Помогите подобрать регулярное выражение, спасибо!

Русское сообщество AutoIt

Помогите подобрать регулярное выражение
« Отправлен: Декабрь 07, 2016, 14:50:49 »

Оффлайн ra4o [?]

  • Продвинутый
  • ***
  • Сообщений: 588
  • Репутация: 95
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Помогите подобрать регулярное выражение
« Ответ #1, Отправлен: Декабрь 07, 2016, 16:09:55 »
Код: AutoIt [Выделить]
#include <Array.au3>
$Text='<table class="table table-bordered"> <td colspan="2"' & _
'class="td-header"> TEXT </td> </tr> <tr><td colspan="2" class="td-header">' & _
'TEXT </td> </tr> <tr><td colspan="2"> TEXT </td> </tr> <tr></table>'

$asResult = StringRegExp($text, '(\w*)(?: </td>)', 3)
If @error == 0 Then _ArrayDisplay($asResult)
 

« Последнее редактирование: Декабрь 07, 2016, 16:26:16 от ra4o »

Оффлайн andriy111 [?]

  • Новичок
  • *
  • Сообщений: 58

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
Re: Помогите подобрать регулярное выражение
« Ответ #2, Отправлен: Декабрь 07, 2016, 16:30:07 »
Код: AutoIt [Выделить]
#include <Array.au3>
$Text='<table class="table table-bordered"> <td colspan="2"' & _
'class="td-header"> TEXT </td> </tr> <tr><td colspan="2" class="td-header">' & _
'TEXT </td> </tr> <tr><td colspan="2"> TEXT </td> </tr> <tr></table>'

$asResult = StringRegExp($text, '([\w]*)(?: </td>)', 3)
If @error == 0 Then _ArrayDisplay($asResult)
 


Спасибо за помощь, я допустил ошибку что не скинул оригинальный код.
Поэтому и не работает на оригинальном коде

Оригинал :
 <table class="table table-bordered"> <tr> <td colspan="2" class="td-header"> Ведомости </td> </tr> <tr> <td> номер </td> <td> 457778422110:74:000:0058 </td> </tr> <tr> <td> назначение </td> <td> 01.01 Для  </td> </tr> <tr> <td> Форма </td> <td> Право  </td> </tr> <tr> <td> Площа  </td> <td> 0.6265 га </td> </tr> <tr> <td> Место </td> <td> Место </td> </tr> <tr> <td colspan="2" class="td-header"> Ведомости
<span style="font-size: 10px;">* актуальная </span> </td> </tr> <tr> <td> ПИП </td> <td> Подворная </td> </tr> <tr> <td> Дата </td> <td> 20.09.2016 </td> </tr> <tr> <td> Номер (номер) </td> <td> 16548454 </td> </tr> <tr> <td> Орган </td> <td> Нотариус </td> </tr><tr> <td colspan="2" class="td-header"> Ведомости </td> </tr> <tr> <td> Вид </td> <td> Право  </td> </tr> <tr> <td> Наименование </td> <td> Общество </td> </tr> <tr> <td> Код </td> <td> 39219007 </td> </tr> <tr> <td> Дата  </td> <td> 29.08.2014 </td> </tr> <tr> <td> Номер </td> <td> 6852448 </td> </tr> <tr> <td> Орган </td> <td> служба </td> </tr> <tr><td colspan="2"></td></tr><tr> <td> Вид  </td> <td> Право  </td> </tr> <tr> <td> особености </td> <td> общество </td> </tr> <tr> <td> Код </td> <td> 39219007 </td> </tr> <tr> <td> Дата </td> <td> 29.08.2014 </td> </tr> <tr> <td> Номер </td> <td> 15315724 </td> </tr> <tr> <td> Орган </td> <td> области </td> </tr> <tr><td colspan="2"></td></tr><tr> <td> Вид  </td> <td> Право  </td> </tr> <tr> <td> андомоство </td> <td> общество </td> </tr> <tr> <td> Код </td> <td> 30568554 </td> </tr> <tr> <td> Дата  </td> <td> 05.07.2016 </td> </tr> <tr> <td> Номер  </td> <td> 15315772 </td> </tr> <tr> <td> Орган </td> <td> области </td> </tr></table>

Помогите пожалуйста, спасибо!

Оффлайн ra4o [?]

  • Продвинутый
  • ***
  • Сообщений: 588
  • Репутация: 95
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Помогите подобрать регулярное выражение
« Ответ #3, Отправлен: Декабрь 07, 2016, 16:45:21 »
Может так :
Код: AutoIt [Выделить]
$asResult = StringRegExp($text, '([\d\wА-яЁё:. ]*)(?: </td>)', 3)
If @error == 0 Then _ArrayDisplay($asResult)


Русское сообщество AutoIt

Re: Помогите подобрать регулярное выражение
« Ответ #3 Отправлен: Декабрь 07, 2016, 16:45:21 »

Оффлайн andriy111 [?]

  • Новичок
  • *
  • Сообщений: 58

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
Re: Помогите подобрать регулярное выражение
« Ответ #4, Отправлен: Декабрь 07, 2016, 16:50:42 »
Может так :
Код: AutoIt [Выделить]
$asResult = StringRegExp($text, '([\d\wА-яЁё:. ]*)(?: </td>)', 3)
If @error == 0 Then _ArrayDisplay($asResult)


Спасибо!
А какое регулярное выражение для того чтобы отобрать в массив строго то что между всеми <td colspan="2" и <td colspan="2" вместе со всеми </td> <td> внутри?
Спасибо!


Добавлено: Декабрь 07, 2016, 17:13:54
Я воспользовался таким регулярным выражением
Код: AutoIt [Выделить]
 $td_blocks = StringRegExp($stroka, '<td(.*?)<td ',3)



Добавлено: Декабрь 08, 2016, 14:02:25
Еще раз привет всем.
Таки не получилось сделать универсально регулярное выражение которое бы нормально работало.
Может кто поможет!
Спасибо!
« Последнее редактирование: Декабрь 08, 2016, 14:02:25 от andriy111, Причина: Объединение сообщений »

Русское сообщество AutoIt

Re: Помогите подобрать регулярное выражение
« Ответ #4 Отправлен: Декабрь 07, 2016, 16:50:42 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
2749 Просмотров
Последний ответ Октябрь 04, 2011, 10:16:20
от gregaz
0 Ответов
1015 Просмотров
Последний ответ Январь 12, 2014, 13:14:11
от madmasles
3 Ответов
1390 Просмотров
Последний ответ Январь 31, 2014, 09:22:30
от madmasles
4 Ответов
2560 Просмотров
Последний ответ Март 14, 2014, 15:31:22
от C2H5OH
3 Ответов
902 Просмотров
Последний ответ Август 03, 2014, 19:11:10
от CreatoR
0 Ответов
523 Просмотров
Последний ответ Декабрь 17, 2014, 05:37:43
от madmasles
6 Ответов
4416 Просмотров
Последний ответ Май 10, 2016, 17:49:00
от disthyounossa1979bit
2 Ответов
522 Просмотров
Последний ответ Сентябрь 02, 2016, 22:45:36
от Alofa
2 Ответов
474 Просмотров
Последний ответ Сентябрь 11, 2016, 08:55:29
от DezmontDeXa
1 Ответов
1006 Просмотров
Последний ответ Июнь 14, 2017, 15:05:18
от inververs