Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Помогите пожалуйста составить регулярное выражение

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Omsk

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я в программе Adobe Dreamweaver делаю рутинные дейстия: копирую таблицу с веб-страницы, вставляю ее в окошко, потом очищаю значения ширины, добавляю столбец справа и расширяю его, добавляю снизу 4 строки и объединить несколько ячеек кроме последней в добавленном столбце.
 
Как все это можно сделать автоматически? Аналогично как в Фотошопе с помощью сценариев.
Я с помощью команды "заменить" смог добиться сброса всей ширины, а остальные действия не знаю как сделать.
 
Вот такая должна получиться таблица, в нее я добавил столбец справа и три строки снизу, и объединил в правом столбце сроки кроме последней.
 
Вот код исходной таблицы
Код:
 
<table border="0" width="100%" cellpadding="2" cellspacing="0">
  <tbody>
    <tr>
      <td td="" width="24">Высота (mm)</td>
      <td>103</td>
    </tr>
    <tr>
      <td td="" width="24">Резьба</td>
      <td>1/2 BSP</td>
    </tr>
    <tr>
      <td td="" width="24">Вес единицы (кг)</td>
      <td>0.25</td>
    </tr>
    <tr>
      <td td="" width="24">Объём коробки (м.куб)</td>
      <td>0.0034</td>
    </tr>
    <tr>
      <td td="" width="24">Вес коробки (кг)</td>
      <td>2.9995</td>
    </tr>
    <tr>
      <td td="" width="24">Количество в коробке (шт)</td>
      <td>12</td>
    </tr>
  </tbody>
</table>
 

Всего записей: 898 | Зарегистр. 22-02-2007 | Отправлено: 14:08 10-10-2014
protoror



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В notepad++ есть esc последовательности, без всякого regexp можно все сделать
делаешь замену </tbody> на что тебе надо. Используй \r\n для переноса на след строку, \t для табуляции
например замена
</tbody>  
на
\t<tr>\r\n\t\t\t<td>!!!</td>\r\n\t\t\t<td>@@@</td>\r\n\t\t</tr>\r\n\t</tbody>
 
сделает следующее
 
   <tr>
      <td>!!!</td>
      <td>@@</td>
    </tr>
  </tbody>

Всего записей: 494 | Зарегистр. 23-11-2009 | Отправлено: 15:43 10-10-2014
Omsk

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
protoror
Я не понял, в этом примере что заменяется?  
 
Вот мне нужно например добавить еще одну ячейку, чтобы там не было содержимого, можно пробел
 
   <tr>
      <td td="" width="24">Высота (mm)</td>
      <td>103</td>
      <td>еще одна ячейка</td>
    </tr>  
 
нужно чтобы после каждого последнего <td>***<td> добавлялось <td> <td>
Как это можно сделать этими esc последовательностями?

Всего записей: 898 | Зарегистр. 22-02-2007 | Отправлено: 16:18 10-10-2014
protoror



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omsk
открой нотепад++
вставь свой пример
нажми замена (ctrl+h)
вставь в найти </tbody>
в заменить на \t<tr>\r\n\t\t\t<td>!!!</td>\r\n\t\t\t<td>@@@</td>\r\n\t\t</tr>\r\n\t</tbody>  
режим поиска выстави расширенный
нажми заменить.

Всего записей: 494 | Зарегистр. 23-11-2009 | Отправлено: 16:47 10-10-2014
Omsk

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не получилось. Я вставил этот код:  

Код:
<table border="0" cellpadding="2" cellspacing="0">
  <tbody>
    <tr>
      <td td="">Высота (mm)</td>
      <td>272.03</td>
    </tr>
    <tr>
      <td td="">Резьба</td>
      <td>1 1/2-16 UN-2B</td>
    </tr>
    <tr>
      <td td="">Вес единицы (кг)</td>
      <td>1.6652</td>
    </tr>
    <tr>
      <td td="">Объём коробки (м.куб)</td>
      <td>0.0346</td>
    </tr>
    <tr>
      <td td="">Вес коробки (кг)</td>
      <td>9.9909</td>
    </tr>
    <tr>
      <td td="">Количество в коробке (шт)</td>
      <td>6</td>
    </tr>
    <tr>
      <td td="">Прокладки</td>
      <td>3929251</td>
    </tr>
    <tr>
      <td td="">Максимальный внешний диаметр (mm)</td>
      <td>129.03</td>
    </tr>
  </tbody>
</table>

И не произошло ничего. Вставлял и в код, который я привел выше.  
Почему нужно заменить именно </tbody>?

Всего записей: 898 | Зарегистр. 22-02-2007 | Отправлено: 12:54 11-10-2014 | Исправлено: Omsk, 12:56 11-10-2014
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
это _пример_

Всего записей: 24106 | Зарегистр. 06-12-2002 | Отправлено: 17:23 11-10-2014
protoror



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
И не произошло ничего. Вставлял и в код, который я привел выше.  
Почему нужно заменить именно </tbody>?

ничего произойти не могло, т.к. замена сработает в любом случае. Я даже показал выше что должно добавиться. Если делать согласно инструкции должно все получатся.
Почему </tbody> - это уникальный символ, и для добавления вниз таблицы ячеек он подходит как нельзя лучше.

Всего записей: 494 | Зарегистр. 23-11-2009 | Отправлено: 11:44 12-10-2014
Omsk

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сейчас нажал "заменить" два раза и получилось: добавилось снизу таблицы две строки, это уже ближе.  
 
А как можно добавить столбец слева?
Это надо чтобы после последнего </td> в такой ячейке
 <tr>
      <td td="" width="24">Высота (mm)</td>
      <td>103</td>
    </tr>
 
добавлялась еще одна строка <td> </td>
 
как это можно сделать? Тут уже алгоритм получается.

Всего записей: 898 | Зарегистр. 22-02-2007 | Отправлено: 18:17 15-10-2014
protoror



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Лучше пойми логику составления, все же просто
например заменяешь все </td></tr> на </td><td> </td> </tr>

Всего записей: 494 | Зарегистр. 23-11-2009 | Отправлено: 15:14 16-10-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Помогите пожалуйста составить регулярное выражение


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru