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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

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

leftMIND

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
   Регулярные выражения
Обучающий материал
  • Книги    
  • Шпаргалки: от AZJIO (AutoIt3, PCRE) от Dave Child
  • wikipedia.org - Регулярные выражения на wiki  
  • edlinsoft.blogspot.com - Регулярные выражения в .NET Framework  
  • php.ru - Синтаксис регулярных выражений  
  • php.net - Синтаксис регулярных выражений  
  • regexpstudio.com - Регулярные выражения для Delphi  
    Официальные источники:
  • docs.notepad-plus-plus.org - Официальный источник Notepad++ (англ. яз.)  
  • pcre.org - Официальный справочник движка PCRE (англ. яз.)  

  •    Тестирование регулярных выражений
    Программы
    Онлайн сервисы
  • RegexBuddy - крутая и платная  
  • RegExp - бесплатно, AZJIO, PCRE, AutoIt3  
  • Expresso  
  • The Regex Coach  
  • RegExstar, Github (AutoHotKey, PCRE)
  • Обзор программ от ManHunter    
  • regexr.com здесь в Community множество готовых регулярных выражений  
  • pagecolumn.com - для javascript  
  • pagecolumn.com - для php  
  • cuneytyilmaz.com - для javascript  
  • php-include.ru - на флеш-плеере  
  • regex101.com  
  • easyregexp.ru  
  • debuggex.com - показывает структурно  

  •    Схожие темы
  • javascript регулярные выражения
  • PHP: Регулярные выражения (RegExp, Regular, eregi, preg)
  • Игра - Регулярно выражайтесь!
     
    первое сообщение темы...
    Обсуждение шапки данной темы ведётся в этой теме
    Рекомендации по составлению вопросов в данной теме:

  • Всего записей: 33 | Зарегистр. 07-04-2002 | Отправлено: 23:55 15-10-2002 | Исправлено: AZJIO, 15:18 12-02-2021
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Aleksandr N
    Что вам мешает использовать строку поиска как есть, без ненужной в данном случае городьбы с продвинутыми регэкспами?
    У вас задача - составить минимальную, желатеьно литеральную строку поиска, которая уникальна только для искомых строк и все.
    Это html - в нем возможны мельчайшие изменения - доп. пробелы, переводы строк, табы и т.д., которые, появившись, сделают навороченный регэксп неработоспособным и при этом корректировать его будет весьма непросто.
    Правило в html - использовать регэкспы с минимально возможным количеством регэкпа.
    Согласно вам, вы ищите
    <tr style="display:none"><td class=drug><a href=doc_1.htm><b class=b>[^<]*</a></td><td class=firm><a href=11.htm><b>Текст</b></a></td></tr>
    где синее - ключевой тег для замены
    красное - переменные строки
    Ну и заменяйте переменные куски на [^<>]*, и все это неключевое - в скобки () - будет переменной - \1 или $1 в зависимости от синтаксиса редактора:
    <tr style="display:none">(<td class=drug><a href=[^<>]*><b class=b>[^<]*</a></td><td class=firm><a href=[^<>]*><b>[^<>]*</b></a></td></tr>)
    заменить на
    <tr style="display:block">\1 или <tr style="display:block">$1

    Мне кажется, этот путь проще и надежнее, чем ждать у моря погоды и спотыкаться о каждый символ, не зная как изменить регэксп.
     
    Добавлено:
    Если нужны конкретные подстроки на месте переменных вида [^<>]*
    то, в зависимости от задачи можно вставить искомое напрямую (в том числе через альтернативу
    (1|3|9)\.html  - явный вид; (1|3|9) - три варианта возможной цифры
    (1|3|9)[^>]* - неявный вид, но с обязательным первым символом
     или  разбить это (или эти) выражение на подстроки
    Напр, нужно подстроку вида  
    цифры(1|3|9)цифры_и буквы.html
    \d*(1|3|9)\d*[^\.>]*\.html
    и т.д.
    Таким образом получится целевое выражение, например для doc_(0 или более цифр)5(0 или более цифр).htm (doc_5.htm, doc_95.htm, doc_3351.htm и т.д.) для примера ниже:
    <tr style="display:none">(<td class=drug><a href=doc_\d*5\d*\.htm><b class=b>[^<]*</b>[^<]*</a></td><td class=firm [^>]*>(<i>)?[^<]*(</i>)? *<a href=[^<>]*>(<b>)?[^<>]*(</b>)?</a></td></tr>)
    заменить на
    <tr style="display:block">\1 или <tr style="display:block">$1
    То, есть вся задача разбивается на 2 подзадачки
     - составление общей уникальной строки (выше описано)
     - составление подстрок, если они должны иметь конкретные известные элементы (цифры, буквы, сочетания и тд)
    То есть, задача, по сути тривиальная.
    Добавлено2:
    Но поскольку задача ИЗНАЧАЛЬНО сформулирована некорректно, то конкретно данном случае (практически табличного представления данных, где уникальность строк сама по себе высокая и балластного кода мало) она состоит в поиске и замене подстрок в тех строках, которые содержат другую подстроку.
    [Подстрока_для_замены][символыА][подстрока-условие-замены][символыB]
    Поскольку строка достаточно длинна, символыВ можно не рассматривать. Необходимо только чтобы подстрока-условие-замены не была ни с чем перепутана в оставшейся подстроке (условие уникальности). В простейшем случае (когда нужно присутствие 5 в текстовом поле) это так:
    <tr style="display:none">(<td class=drug><a href=[^<>]*><b class=b>[^<>5]*5)
    заменить на
    <tr style="display:block">\1 или <tr style="display:block">$1

    Всего записей: 1173 | Зарегистр. 17-01-2011 | Отправлено: 16:28 29-02-2020 | Исправлено: Jonmey, 19:55 29-02-2020
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Возможно всё и правильно, но регулярное выражение используется для поиска, а в предлагаемой строке я что-то не вижу не вижу куда можно было ввести искомый текст.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 16:41 29-02-2020
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Aleksandr N
    Какой у вас искомый текст?
    Вы же сами дали выше его. Или это были ваши фантазии?
    Давайте конкретную страницу и будет вам регэксп.

    Всего записей: 1173 | Зарегистр. 17-01-2011 | Отправлено: 16:45 29-02-2020
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Какие фантазии??? По-моему всё четко сказано. Хорошо, вот пример той самой строки: https://cloud.mail.ru/public/2Mby/4j4VxGNRu  
    Нужно чтобы было "<tr style="display:block">" в тех строках где есть искомое "5".

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 17:01 29-02-2020
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Aleksandr N
    Ну как хотите. Мне разбираться в хитросплетениях ваших витиеватых хотелок лень.
    "Пусть пробуют они -
    Я лучше пережду
    ." ©

    Всего записей: 1173 | Зарегистр. 17-01-2011 | Отправлено: 17:06 29-02-2020 | Исправлено: Jonmey, 17:07 29-02-2020
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Ну я рассчитывал на помощь более мудрых пользователей, так скажем, а не любителей цитат. Конкретный пример есть, что ещё нужно??? Ответа не вижу.
    All
    Всё ещё жду конкретной помощи.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 17:50 29-02-2020
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksandr N, название классов у вас постоянное или меняются для каждой страницы?
    И на всякий случай уточню, я правильно понимаю, что искать надо в этой части строки (выделил синим)?

    Код:
    <tr style="display:none"><td class=drug><a href=doc_1.htm><b class=b>Иванов</b> (12345)</a></td><td class=firm><a href=11.htm><b>Текст</b></a></td></tr>  
    <tr style="display:none"><td class=drug><a href=doc_2.htm><b>Ливанов</b></a></td><td class=firm>&nbsp;</td></tr>  
    <tr style="display:none"><td class=drug><a href=doc_3.htm><b class=b>Петров<SUP>&reg;</SUP></b> (12345<SUP>&reg;</SUP>)</a></td><td class=firm colspan=2><i></i> <a href=33.htm>Текст</a></td></tr>  
    <tr style="display:none"><td class=drug><a href=doc_4.htm>Сидоров</a></td><td class=firm colspan=2>Текст</td></tr>

    А во второй и последней получается искать не должно?
     
     
    + У вас в примере <b>Текст</b> выделено жирным, а в странице которую вы выложили в облако не выделен. Это в примере лишнее выделение или учитываться должны оба варианта или как?

    Всего записей: 6821 | Зарегистр. 20-03-2009 | Отправлено: 18:34 29-02-2020 | Исправлено: regist123, 18:47 29-02-2020
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
    Выше я выложил именно одну из тех страниц. Там, к примеру одно из лекарств представлено строкой "<b class=b>5-НОК</b> (5-NOK)</a>". Тоесть в тестовой строке поиск по видимой строке "Иванов (12345)" и так далее по строкам. Тоесть только по левой части.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 19:18 29-02-2020
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksandr N, на мои вопросы вы не ответили.
    Aleksandr N написал(а)
    Цитата:
    Там, к примеру одно из лекарств представлено строкой "<b class=b>5-НОК</b> (5-NOK)</a>".

    И в ней как раз нету regist123 написал(а)
    Цитата:
    <b>Текст</b>

    жирным не выделено.
     
    И к примеру из вашей странички

    Код:
    <tr style="display:none"><td class=drug><a href=doc_6455.htm><b class=b>5-НОК</b> (5-NOK)</a></td><td class=firm colspan=2><i></i> <a href=fir_96.htm>LEK d.d.,  (Словения)</a></td></tr>
    <tr style="display:none"><td class=drug><a href=doc_1.htm><b>5-ФТОРУРАЦИЛ-ЭБЕВЕ</b> (5-FLUOROURACIL-EBEWE)</a></td><td class=firm colspan=2><i></i> <a href=fir_206.htm>EBEWE PHARMA, GmbH.Nfg.KG (Австрия)</a></td></tr>

    Поиск должен идти в обоих строчках или только где <b class=b> ?

    Всего записей: 6821 | Зарегистр. 20-03-2009 | Отправлено: 20:46 29-02-2020
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
    Да вроде-бы старался ответить... Поиск только в строке " 5-НОК (5-NOK)", в строке "LEK d.d.,  (Словения)" поиск НЕ ведётся. Я просто обратил внимание на то что строка поиска может быть разделена тегами. Надеюсь объяснил.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 20:54 29-02-2020
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Aleksandr N
    Вам задали простейший вопрос:

    Цитата:

    Код:
    <tr style="display:none"><td class=drug><a href=doc_6455.htm><b class=b>5-НОК</b> (5-NOK)</a></td><td class=firm colspan=2><i></i> <a href=fir_96.htm>LEK d.d.,  (Словения)</a></td></tr>  <tr style="display:none"><td class=drug><a href=doc_1.htm><b>5-ФТОРУРАЦИЛ-ЭБЕВЕ</b> (5-FLUOROURACIL-EBEWE)</a></td><td class=firm colspan=2><i></i> <a href=fir_206.htm>EBEWE PHARMA, GmbH.Nfg.KG (Австрия)</a></td></tr>
    Поиск должен идти в обоих строчках или только где <b class=b> ?

    Вы отвечаете:
    Цитата:
    Поиск только в строке " 5-НОК (5-NOK)", в строке "LEK d.d.,  (Словения)" поиск НЕ ведётся.

    Где в заданном вопросе было что-то сказано про "LEK d.d.,  (Словения)"?
    У вас совсем с чтением туго или вы так резвитесь над помощниками?
    Попробуем повторить тот же самый вопрос в красках:

    Цитата:

    Код:
    <tr style="display:none"><td class=drug><a href=doc_6455.htm><b class=b>5-НОК</b> (5-NOK)</a></td><td class=firm colspan=2><i></i> <a href=fir_96.htm>LEK d.d.,  (Словения)</a></td></tr>
    <tr style="display:none"><td class=drug><a href=doc_1.htm><b>5-ФТОРУРАЦИЛ-ЭБЕВЕ</b> (5-FLUOROURACIL-EBEWE)</a></td><td class=firm colspan=2><i></i> <a href=fir_206.htm>EBEWE PHARMA, GmbH.Nfg.KG (Австрия)</a></td></tr>
    Поиск должен идти в обоих строчках или только где <b class=b> ?

    Если случилось чудо и вопрос у вас родил здравый ответ, то в случае первого варианта ответа в вышеприведенную добавку нумбер два с решением кусок <b class=b> заменить на <b[^>]*>, а в случае второго варианта ответа менять в предложенном решении ничего не нужно.

    Всего записей: 1173 | Зарегистр. 17-01-2011 | Отправлено: 21:07 29-02-2020 | Исправлено: Jonmey, 21:19 29-02-2020
    Aleksandr N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey
    Уважаемый, ты собирался переждать... На ТЫ это не знак не уважения. Я думаю тем кому нужно, тот поймёт.
    На всякий случай, строка поиска выделена красным:

    Код:
     
    <tr style="display:block"><td class=drug><a href=doc_6455.htm><b class=b>5-НОК</b> (5-NOK)</a></td><td class=firm colspan=2><i></i> <a href=fir_96.htm>LEK d.d.,  (Словения)</a></td></tr>
    <tr style="display:block"><td class=drug><a href=doc_1.htm><b>5-ФТОРУРАЦИЛ-ЭБЕВЕ</b> (5-FLUOROURACIL-EBEWE)</a></td><td class=firm colspan=2><i></i> <a href=fir_206.htm>EBEWE PHARMA, GmbH.Nfg.KG (Австрия)</a></td></tr>
    <tr style="display:block"><td class=drug><a href=doc_2.htm><b class=b>H-B-ВАКC II</b> (H-B-VAX II)</a></td><td class=firm colspan=2><i></i> <a href=fir_11.htm>MERCK SHARP &amp; DOHME, B.V. (Нидерланды)</a></td></tr>
     

     
    Добавлено:
    Jonmey
    Строка "<tr style="display:none">(<td class=drug><a href=[^<>]*><b class=b>[^<>5]*5)" не работает.
     
    Добавлено:
    Или если искать "и", то в результате замены получается "<tr style="display:block">ванов</b> (12345)</a></td><td class=firm><a href=11.htm><b>Текст</b></a></td></tr>"

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 21:23 29-02-2020
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksandr N, если я правильно понял задачу, то пробуйте такой вариант.

    Код:
    \<tr style="display:none"\>(?=\<td class=drug\>\<a href=\w*\.htm\>\<b( class=b)?\>[^\r\n]*АВЕ[^\r\n]*</a>\</td\>\<td class=firm)

    Если тестировать в Notepad++ то там у меня отрабатывает в таком виде:

    Код:
    <tr style="display:none">(?=<td class=drug><a href=\w*\.htm><b( class=b)?>[^\r\n]*КЛАВ[^\r\n]*</a></td><td class=firm)

     
    И по вашему желанию, чтобы быстрей отрабатывало можно внутрь ещё добавить ?> - думаю вы и сами сможете это сделать.
     
    Добавлено:
    Вместо: КЛАВ (АВЕ) разумеется подставляете своё вхождение названия лекарства.

    Всего записей: 6821 | Зарегистр. 20-03-2009 | Отправлено: 21:40 29-02-2020
    Aleksandr_N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
    Про "КЛАВ" я естественно понял. Вроде-бы работает правильно. Я ещё раз повнимательнее всё перепроверю.
    Скорость не столь важна, но
    Цитата:
    можно внутрь ещё добавить ?>  
    куда конкретно? Просто как сказал в выражениях не понимаю вообще...
     
     
    Добавлено:
    regist123
    А нет... Строка может быть и такой:
    "<tr style="display:none"><td class=drug><a href=lact_1574.htm><b>Absinthium</b></a></td><td class=firm>&nbsp;</td></tr>"
    В строке "<b(class=b)?>" это не сработает.

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 21:51 29-02-2020
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Без создания групп (должно быстрей работать):

    Код:
    \<tr style="display:none"\>(?=\<td class=drug\>\<a href=\w*\.htm\>\<b(?: class=b)?\>[^\r\n]*АВО[^\r\n]*\</a\>\</td\>\<td class=firm)

     
    Добавлено:
    Aleksandr_N написал(а)
    Цитата:
    А нет... Строка может быть и такой:

    Aleksandr_N, прежде чем дальше двигаться, чтобы не путаться. Вы какой вариант используете с экранированием угловых скобок или второй что у меня в Npp работает?
    И у меня и на этой строке срабатывает при поиске по вхождению "sin".

    Цитата:
    В строке "<b(class=b)?>" это не сработает.

    вы сначала проверьте, а потом если не сработает, напишите какой именно вариант регулярки используете (вместе с вхождением для поиска).

    Всего записей: 6821 | Зарегистр. 20-03-2009 | Отправлено: 22:04 29-02-2020 | Исправлено: regist123, 22:20 29-02-2020
    Aleksandr_N

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    regist123
    Просто на другой странице перед текстом может быть тэг "<b class=b>", а может быть только "<b>". И насколько я понял выражение чувствительно к регистру. А можно без такой чувствительности? Пользователь может искать "5-нок", а не "5-НОК".

    Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 22:19 29-02-2020
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    regist123
    Цитата:
    Без создания групп (должно быстрей работать):
    Код:
    \<tr style="display:none"\>(?=\<td class=drug\>\<a href=\w*\.htm\>\<b(?: class=b)?\>[^\r\n]*АВО[^\r\n]*\</a\>\</td\>\<td class=firm)
     

    Это вряд ли.
    976 шагов на первом вхождении
     
    Прежний ваш вариант
    Код:
    \<tr style="display:none"\>(?=\<td class=drug\>\<a href=\w*\.htm\>\<b( class=b)?\>[^\r\n]*АВО[^\r\n]*</a>\</td\>\<td class=firm)  
    976 шагов на первом вхождении
     
    Предложенный мной выше вариант

    Код:
    <tr style="display:none">(<td class=drug><a href=[^<>]*><b[^>]*>[^<>]*АВО)
    74 шага на первом вхождении

    Всего записей: 1173 | Зарегистр. 17-01-2011 | Отправлено: 22:22 29-02-2020 | Исправлено: Jonmey, 22:23 29-02-2020
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksandr_N написал(а)
    Цитата:
    Просто на другой странице перед текстом может быть тэг "<b class=b>", а может быть только "<b>".  

    Я выше дописал, вы видно не прочитали  
    regist123 написал(а)
    Цитата:
    вы сначала проверьте, а потом если не сработает




    Цитата:
    И насколько я понял выражение чувствительно к регистру. А можно без такой чувствительности?

    Вы же в RAD Studio всё это делаете, просто дописываете там флаг "/i" - и будет не чувствительно.  
     
    Добавлено:
    Jonmey написал(а)
    Цитата:
    Это вряд ли.

    А никто и не писал, что на кол-во шагов это повлияет.

    Цитата:
    Если группа используется только для группировки и её результат в дальнейшем не потребуется, то можно использовать группировку вида (?:шаблон). Под результат такой группировки не выделяется отдельная область памяти и, соответственно, ей не назначается номер. Это положительно влияет на скорость выполнения выражения, но понижает удобочитаемость.

    Всего записей: 6821 | Зарегистр. 20-03-2009 | Отправлено: 22:24 29-02-2020
    Jonmey

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    regist123
    Цитата:
    А никто и не писал, что на кол-во шагов это повлияет.

    А это кто писал?

    Цитата:
    Без создания групп (должно быстрей работать)

    Разбор посимвольный, а потому число шагов = быстродействию.

    Всего записей: 1173 | Зарегистр. 17-01-2011 | Отправлено: 22:31 29-02-2020
    regist123



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jonmey написал(а)
    Цитата:
    Предложенный мной выше вариант

    Но к примеру ваш вариант

    Код:
    <tr style="display:none">(<td class=drug><a href=[^<>]*><b[^>]*>[^<>]*FLUO)

    не найдёт строку

    Код:
    <tr style="display:none"><td class=drug><a href=doc_1.htm><b>5-ФТОРУРАЦИЛ-ЭБЕВЕ</b> (5-FLUOROURACIL-EBEWE)</a></td><td class=firm colspan=2><i></i> <a href=fir_206.htm>EBEWE PHARMA, GmbH.Nfg.KG (Австрия)</a></td></tr>

    А в моём больше шагов, но зато более всё прозрачно и легко корректируется даже неопытным в регулярках.

    Цитата:
    А это кто писал?

    Я не писал про кол-во шагов, а только про создание групп. И выше привёл цитату, где поясняется это влияния.

    Всего записей: 6821 | Зарегистр. 20-03-2009 | Отправлено: 22:33 29-02-2020 | Исправлено: regist123, 22:36 29-02-2020
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

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


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru

    Рейтинг.ru