Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярные выражение, найти все совпадения цифр 
:(
    Опции темы
Akella
  Дата 19.5.2008, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Есть текст, в котором встречаются наборы цифр в разных форматах, вот наиболее часто используемые:
    200-711-25
    243-12-3
    1999-05-14
    1234567
    1-234567
    12 34 567
    1 500 000
    1-(123)-456-78-90
    755 58 69
    -------
    15000
    1 500 000 у.е.
    1 500 000 уе

Есть выражение: (\d[\d? -\-]{7,})
довести до ума не получается.
Какие условия? По идее выражение должно видеть только номера телефонов, как видно из списка, то две последние строки (с у.е. и уе) не есть номерами телефонов, вот из списка должно попасть в результаты всё, кроме последних строчек после -------
Буду признателен за помощь smile .

Это сообщение отредактировал(а) Akella - 19.5.2008, 09:19
PM MAIL   Вверх
Akella
Дата 19.5.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



вот ещё подсказали:
(\d[\d\(\)\- ]*\d)
Цитата

словами оно звучит так:
дай мне все строки, в которых первый и последний символ цифра, а внутри любое кол-во цифр, прбелов, тире и скобок


но проблема в том, что наборы типа 777 или 123 или 1254 тоже попадают, т.е. нужно ещё контролировать количество цифр, т.е. найти все наборы, где цифр, например от 7 до 11
PM MAIL   Вверх
dumb
Дата 19.5.2008, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



Код
^\s*(\d[\d\(\)\- ]{5,15}\d)\s*$

PM MAIL   Вверх
Akella
Дата 19.5.2008, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



вот ,например текст объявления:
Цитата

ДОМ, Автовокзал, ЗК,45/35, ч/у, хор.сост,шл/бл Т.560741, 499583,80984438809.


пока что самым нормальным шаблоном является этот: (\d[\d- ]{5,})
PM MAIL   Вверх
dumb
Дата 19.5.2008, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



хех, этот пример разительно отличается от того, что ты привел в первом посте. для составления регэкспа нужно как можно больше "случаев" текста.
твой регэксп совсем не имеет условия окончания.
PM MAIL   Вверх
Akella
Дата 19.5.2008, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



dumb, 
Цитата

Внимание регулярное выражение содержит ошибки:
preg_match_all(): No ending delimiter '^' found


http://regexpr.ru
PM MAIL   Вверх
dumb
Дата 19.5.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



без признаков начала-конца строки и whitespace'ов:
Код
(\d[\d\(\)\- ]{5,15}\d)

ты лучше чуть больше примеров текста выложи. smile
PM MAIL   Вверх
kemiisto
Дата 19.5.2008, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 16
Всего: 160



Akella, дайте лучше точное описание, что считается в этой задачке телефонным номером. Тогда запросто напишете выражение. Решать задачу фактически без формулировки...  smile 

Да и ещё, должен (по-моему) быть какой-то чёткий стандарт на телефонные номера: разделитель - либо пробел, либо тире; скобки - либо разрешены, либо нет. Тогда будет проше разобрать документ. Или документ уже имеется и там такая котовасия?  

Это сообщение отредактировал(а) kemiisto - 19.5.2008, 12:30


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Akella
Дата 19.5.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Вот то, что прога сканирует, цветом выделены номера телефонов, которые должны попасть в совпадения
Цитата

15ДОМ, Автовокзал, 2К, 50кв. м., хор.сост., газ, лет.кухня, 12000уе, вода во дворе Т.560-741
111ДОМ, Автовокзал, 3 комн.,60/32/10,5, котел, удва вдоме, тел., сост. отл., гараж с мансардой, учк5,7сот.,т. , 80978247435, \ллллл/. тазЫаЬ.со
104ДОМ, Автовокзал, ЗК,45/35, ч/у, хор.сост,шл/бл Т.560741, 499583,80984438809.
103ДОМ, Автовокзал, 4К, 60/40/8, все удва, газ, шл.бл, пласт.окна Т.499610, 560741.80974961349.
102ДОМ, Автовокзал, ул. Торговая, 10 соток, пло¬щадь 80/60/12, газ, вода, шлакоблок+кирпич. 7 500 000 уе., Т. 57-62-00,49-01-30,42-77-84.
102ДОМ, Автовокзал, 2К, 50кв. м., хор.сост., газ, 150000 уе., лет.кухня, вода во дворе Т.56 07 41
102ДОМ, Автовокзал, 2К, 50кв. м., хор.сост., 15 000 у.е., газ, лет.кухня, вода во дворе Т.8-(070)-255-78-89
101ДОМ, Автовокзал, 2К, 50кв. м., хор.сост., 15000 уе., газ, лет.кухня, вода во дворе Т.560741


Добавлено @ 12:49
Цитата(kemiisto @  19.5.2008,  12:24 Найти цитируемый пост)
что считается в этой задачке телефонным номером. 

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

Добавлено @ 12:54
Автор к сожалению не даёт возможности использовать пре и пост условия
http://regexpstudio.com/RU/

Это сообщение отредактировал(а) Akella - 19.5.2008, 13:04
PM MAIL   Вверх
Akella
Дата 19.5.2008, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



как видно, запятая является разделителем телефонов, если их несколько, может быть и точка с запятой

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

Добавлено через 1 минуту и 49 секунд
Как видно из примера, в качестве разделителя цифр в телефоне может быть пробел, скобки, тире, а может быть вообще без разделителей

Добавлено через 2 минуты и 36 секунд
Плохо, что в дельфи нет встроенных регулярок, как это в MSVS сделано, при чём там сделано, как мне сказали "по-уму".
PM MAIL   Вверх
dumb
Дата 19.5.2008, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



эм... может как-нибудь так?
Код
(\d[\d\(\)\- ]{4,15}\d)( [^$у]|[.,;\n\r])

PM MAIL   Вверх
Akella
Дата 19.5.2008, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



нет, это слишком сложное:
 Внимание регулярное выражение содержит ошибки:
preg_match_all(): Unknown modifier '('
PM MAIL   Вверх
dumb
Дата 19.5.2008, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



ты это.. когда проверяешь на regexpr.ru, обрамляй регулярку в слэши-то: /(блабла)(блаблабла)/

Добавлено через 3 минуты и 14 секунд
и кстати: применимо к регуляркам выражение "слишком сложное" практически не употребимо... smile ибо в жизни они почти всегда получаются "сложными".
PM MAIL   Вверх
kemiisto
Дата 19.5.2008, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 16
Всего: 160



Akella, можеть быть Вас устроит поиск всей строки телефонов, а не каждого в отдельности? Если да, то можно так:
Код

Т\. ?(((\d+)\)?( |-)?\(?)+(\d+))((,|.)? ?((\d+)( |-)?)+(\d+))+


Проект приаттачил. Вроде как работает. За исключением очевидных ошибок/опечаток (см. например, вторую строку т. , 80978247435). Такие опечатки не имеет смысла обрабатывать, т.к их может быть бесконечно много.

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  regexp.zip 66,50 Kb


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Akella
Дата 19.5.2008, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(kemiisto @  19.5.2008,  17:31 Найти цитируемый пост)
можеть быть Вас устроит 

можно меня на ТЫ, я не такой уже и старый  smile

Добавлено через 50 секунд
Цитата(kemiisto @  19.5.2008,  17:31 Найти цитируемый пост)
всей строки телефонов, а не каждого в отдельности?

нет, именно по отдельности, т.к. я потом по базе телефоны пробиваю

Добавлено через 3 минуты и 18 секунд
Цитата(kemiisto @  19.5.2008,  17:31 Найти цитируемый пост)
см. например, вторую строку т. , 80978247435). Такие опечатки не имеет смысла обрабатывать, т.к их может быть бесконечно много. 

здесь нужно выцепить 80978247435, какая же  здесь очепятка?
PM MAIL   Вверх
Akella
Дата 19.5.2008, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



kemiisto, я такие взрослые выражения и сам потом не разрулю, если пользователям нужно будет что-либо подкорректировать  smile  но всё равно спасибо

Добавлено через 1 минуту и 54 секунды
мало того, проверил на regexpr.ru -> совпадений не найдено
PM MAIL   Вверх
kemiisto
Дата 19.5.2008, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 16
Всего: 160



Цитата(Akella @  19.5.2008,  23:26 Найти цитируемый пост)
kemiisto, я такие взрослые выражения и сам потом не разрулю, если пользователям нужно будет что-либо подкорректировать

Akella, где ты видел пользователей, даже чисто теоретически способных корректировать регулярные выражения? smile Или я не так понял... 

Цитата(Akella @  19.5.2008,  23:26 Найти цитируемый пост)
мало того, проверил на regexpr.ru -> совпадений не найдено

Не показатель! Мало ли! У меня в проекте Delphi всё сработало. Скачай лучше http://www.regexpstudio.com/Downloads/TestRExp.rar от автора TRegExpr и пользуй для проверки регулярных выражений. Там кстати моё выражение тоже катит (что не удивительно).

Проблема всё-таки с определением образца. Уж очень много альтернатив. Просто число - не катит; число, а потом какой-либо разделитель и опять число - опять не катит! Скобки ещё всякие, у.е. У меня складывается ощущение, что задача вообще не решаема. Даже вручную, словесно, сложно сформулировать правило поиска именно телефонных номеров в приведённом куске текста. 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Akella
Дата 21.5.2008, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(kemiisto @  19.5.2008,  23:38 Найти цитируемый пост)
Akella, где ты видел пользователей, даже чисто теоретически способных корректировать регулярные выражения? smile Или я не так понял... 

я имел ввиду, что пользователю захочется немного подкорректировать условие поиска телефонов, но корректировать-то буду я
тем более описания нет smile 

вот ответ с выражением и описанием
http://forum.vingrad.ru/index.php?showtopi...t&p=1516904

Добавлено через 1 минуту и 31 секунду
Цитата(kemiisto @  19.5.2008,  23:38 Найти цитируемый пост)
Скачай лучше ... 

вот им и пользуюсь, немного подкорректировал и пользуюсь, просто других библиотек нет для дельфи

Добавлено через 5 минут и 9 секунд
я не спорю, что она полностью решаема, просто хотелось бы поиметь несколько более менее подходящих выражений.

Добавлено через 7 минут и 16 секунд
а про исключения не в курсе? можно ли в выражении задавать исключения, допустим не брать во внимание наборы цифр, где много нулей подряд, например 150000 или 1 500 000

Добавлено через 9 минут и 37 секунд
как видно из текста, чаще всего (практически постоянно) попадаются номера, где разделитель пробел, тире или скобки, или без разделителей, ну так обычно телефоны и пишут, вот на таких условиях что можно придумать ещё?
PM MAIL   Вверх
dumb
Дата 22.5.2008, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



Akella, ты видел этот пост? - на твоем примере текста работает четко.
PM MAIL   Вверх
Akella
Дата 22.5.2008, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



а как описать это выражение?
PM MAIL   Вверх
dumb
Дата 23.5.2008, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



э.. словами?..

Код
(\d[\d\(\)\- ]{4,15}\d)( [^$у]|[.,;\n\r])

ищем последовательность, которая начинается и заканчивается цифрой, а между ними от 4 до 15 цифр,пробелов,тире или скобок. после должны быть либо разделители(.,;\n\r), либо пробел, за которым не следует символ $ или русская 'у'. smile
PM MAIL   Вверх
Akella
Дата 23.5.2008, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(dumb @  23.5.2008,  14:32 Найти цитируемый пост)
за которым не следует символ $ или русская 'у'.

т.е. можно задавать исключения? круто, опробуем-с  smile 
PM MAIL   Вверх
kemiisto
Дата 24.5.2008, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 16
Всего: 160



Цитата(Akella @  23.5.2008,  16:38 Найти цитируемый пост)
т.е. можно задавать исключения?

Естественно! Перечни символов (символьные классы) — просто конечный набор символов. Он ограничивается квадратными скобками и содержит перечисление символов, которые можно вместо него подставить. Заменяется он всего на один символ, входящий в это перечисление. Если первый символ перечня (идущий сразу после открывающейся квардратной скобки) — ^, то это означает символ, который отсутствует в данном перечислении.
Пример, 
Код

[^0-9]      // все символы, кроме цифр


Пролистай прикреплённый документ (он пока ещё не дописан), авось пригодится! Заодно оцени!  smile 

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  regexpr.pdf 223,89 Kb


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Akella
Дата 26.5.2008, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Спасибо, прочёл, дописывай. Будет полезным.
PM MAIL   Вверх
THandle
  Дата 26.5.2008, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Цитата(Akella @  26.5.2008,  12:33 Найти цитируемый пост)
Спасибо, прочёл, дописывай. Будет полезным. 

Не знаю что там было в предыдущем посте kemiisto прикреплено, не качается, но вот его же статья по регуляркам:

http://forum.vingrad.ru/articles/topic-213075.html
PM   Вверх
Akella
Дата 26.5.2008, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



я скачал и прочёл
PM MAIL   Вверх
Akella
Дата 26.5.2008, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Вот выражение
Цитата

regExp :=  '[\d]+((\.\d+)|())';

По идее мну нужно выудить числовое значение в скобках, допустим
Цитата
Кольцо 7 Дней (18,5)

или
Цитата
Кольцо 7 Дней (18.5)

или
Цитата
Кольцо 7 Дней (18)

или
Цитата
Кольцо 7 Дней (18.0)


правильно ли составлено выражение?
Я так понимаю, что или цифры, или выражение в скобках, так?

Добавлено @ 15:57
а мне нужны цифры в скобках

Это сообщение отредактировал(а) Akella - 26.5.2008, 16:26
PM MAIL   Вверх
Akella
Дата 26.5.2008, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



воде вот оно:
Код

regExp :=  '\(\d+(([,\.]\d+)|()).*?\)';


Это сообщение отредактировал(а) Akella - 26.5.2008, 16:42
PM MAIL   Вверх
dumb
Дата 26.5.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 13
Всего: 158



можно проще: 
Код
\(([\d.,]+)\)

к тому же у тебя в subexpr попадает только "дробная" часть, а все выражение вместе со скобками. приведенная рега поместит в subexpr все число.

Добавлено через 3 минуты и 25 секунд
только оно не очень строгое - в том плане, что и (...) будет удовлетворять условию. smile
PM MAIL   Вверх
Akella
Дата 29.5.2008, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



http://www.sweethome.in.ua/regexp/regexp.aspx
здесь ещё можно проверять(тестировать) регулярки
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0951 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.