
Помогите с вопросиком, пожалуйста..
Как сделать выборку только по регулярным выражениям, например:
^(\\|.+?\\|).. регулярок много..
^(~.+?~)
Спустя 5 часов, 16 минут, 37 секунд (9.08.2010 - 08:22) Lenarfate написал(а):
не стоит. накладно это очень, регулярки много памяти жрут, да еще и в запросах...
Спустя 2 часа, 34 минуты, 38 секунд (9.08.2010 - 10:57) uMnepaTop написал(а):
А какие есть альтернативы?
Есть у меня записи:
|key| value1
|key| value2
|key| value3
~key~ value1
~key~ value2
~key~ value3
Как можно сделать так, чтобы, если
^(\\|.+?\\|) > 2, записать в другую базу..
Есть у меня записи:
|key| value1
|key| value2
|key| value3
~key~ value1
~key~ value2
~key~ value3
Как можно сделать так, чтобы, если
^(\\|.+?\\|) > 2, записать в другую базу..
Спустя 11 часов, 47 минут, 22 секунды (9.08.2010 - 22:44) uMnepaTop написал(а):
Просьба помочь еще актуальна..

Спустя 2 дня, 6 часов, 1 минута, 19 секунд (12.08.2010 - 04:46) uMnepaTop написал(а):
Просьба ооочень актуальна.. Неужели вариантов никаких нет...

Спустя 5 часов, 44 минуты, 5 секунд (12.08.2010 - 10:30) DedMorozzz написал(а):
словами скажи что ты хочешь и конкретный пример. Тогда помогу. Ибо это:
"^(\\|.+?\\|) > 2" - вообще не то. При этом не важно что бы ты не хотел получить, этот кусок никогда не будет работать нормально
"^(\\|.+?\\|) > 2" - вообще не то. При этом не важно что бы ты не хотел получить, этот кусок никогда не будет работать нормально

Спустя 6 часов, 21 минута, 20 секунд (12.08.2010 - 16:51) uMnepaTop написал(а):
Да не, это не код..) Просто непонятно написал
Вообщем вопрос следующий:
Есть множество имен с одинаковыми основаниями (это tag) , например:
|tag| name1
|tag| name2
|tag| name3
и\или
~tag~ name1
~tag~ name2
~tag~ name3
Берем name с одинаковым tag и записываем в другую таблицу
Есть онлайн статистика psyhostats, там команды (кланы) они определяются по тегам (регуляркам), т.е если в NAME есть тег соответствующий регулярке, мы его (tag) пишем в бд..
Вот как-то так

Вообщем вопрос следующий:
Есть множество имен с одинаковыми основаниями (это tag) , например:
|tag| name1
|tag| name2
|tag| name3
и\или
~tag~ name1
~tag~ name2
~tag~ name3
Берем name с одинаковым tag и записываем в другую таблицу
Есть онлайн статистика psyhostats, там команды (кланы) они определяются по тегам (регуляркам), т.е если в NAME есть тег соответствующий регулярке, мы его (tag) пишем в бд..
Вот как-то так

Спустя 22 часа, 12 минут, 25 секунд (13.08.2010 - 15:04) uMnepaTop написал(а):
вопросик актуален..
Спустя 23 минуты, 2 секунды (13.08.2010 - 15:27) DedMorozzz написал(а):
Если есть какие-то спец символы - то напишу регулярку. Которая будет в автомате что-либо делать. Если такого критерия нету, тогда прийдёться задавать "таг" в ручную. Т.е. этот тег подаать в регулярку и тоже такое запросто напишу.
Без любого из этих пунктов - нереально. Ибо имя может быть Mega_Clan_Vova и Mega_Clan_Vasiliy_pupkin. и там и там есть подчерк. Но во 2м случае, он явно в нике. Уточни.
Без любого из этих пунктов - нереально. Ибо имя может быть Mega_Clan_Vova и Mega_Clan_Vasiliy_pupkin. и там и там есть подчерк. Но во 2м случае, он явно в нике. Уточни.
Спустя 7 минут, 52 секунды (13.08.2010 - 15:34) uMnepaTop написал(а):
Ну вот эти Mega_Clan_ совпадают, а значит это тег..
вот табличка из психостатса:
по этим регуляркам и определяются теги, это как бы популярные..
вот табличка из психостатса:
(8,70,'^(([^\\w\\d\\S]).+\\2).','','left','regex','-clan-playername'),
(7,60,'^(\\].+?\\[).','','left','regex',']clan[playername'),
(5,40,'^(<.+?>).','','left','regex','<clan>playername'),
(6,50,'^(\\|.+?\\|).','','left','regex','|clan|playername'),
(4,30,'^(\\{.+?\\}).','','left','regex','{clan}playername'),
(3,10,'^(\\(.+?\\)).','','left','regex','(clan)playername'),
(2,5,'^(\\[.+?\\]).','','','regex','[clan]playername'),
(9,100,'.(\\[.+?\\])$','','right','regex','playername[clan]'),
(10,110,'.(\\(.+?\\))$','','left','regex','playername(clan)'),
(11,120,'.(<.+?>)$','','right','regex','playername<clan>'),
(12,130,'.(\\|.+?\\|)$','','left','regex','playername|clan|'),
(13,80,'^([^\\|]+\\|)','','left','regex','clan|playername'),
(14,90,'^(~.+?~).','','left','regex','~clan~playername');
по этим регуляркам и определяются теги, это как бы популярные..
Спустя 21 минута, 45 секунд (13.08.2010 - 15:56) DedMorozzz написал(а):
<?php
$text = '`clan`nick' или 'clan`nick' или 'nick`clan`';
$text = preg_replace('#(([`~\\+\|])(.+?)\\2(.*))|(.*?[`~\\+\|](.*))|((.*?)[`~\\+\|])#','$4$6$8',$text);
echo $text;//nick
"Или" естесно в переменной текст ненадо. Эт те слова которые я тестил. В качестве разделителя может быть `~\+| . Если надо что нибуть ещё - допиши в шаблон.
Спустя 4 часа, 38 минут, 26 секунд (13.08.2010 - 20:35) uMnepaTop написал(а):
Спасибо, но надо наверное не реплейс, а матч.. =\
Мне же не заменять надо, а найти соответствия и если по регулярке подходит, и если похожих больше 2-х, добавляем в бд..
Напишите пожалуйста для preg_match
|clan|playername
~clan~playername
[clan]playername
я пытаюсь, но что-то совсем не могу с этим разобраться.. =\\
Мне же не заменять надо, а найти соответствия и если по регулярке подходит, и если похожих больше 2-х, добавляем в бд..
Напишите пожалуйста для preg_match
|clan|playername
~clan~playername
[clan]playername
я пытаюсь, но что-то совсем не могу с этим разобраться.. =\\
Спустя 12 часов, 58 минут, 31 секунда (14.08.2010 - 09:33) DedMorozzz написал(а):
ха, а что те ЭТО решение мешает использовать
)))

$text = '`clan`nick' или 'clan`nick' или 'nick`clan`';
$onlyName = preg_replace('#(([`~\\+\|])(.+?)\\2(.*))|(.*?[`~\\+\|](.*))|((.*?)[`~\\+\|])#','$4$6$8',$text);
echo $onlyName;//nick
Спустя 3 часа, 43 минуты, 44 секунды (14.08.2010 - 13:17) uMnepaTop написал(а):
Нде)
А как мне в tbl добавлять только те clan name , которые соответствуют регуляркам?
И которых больше 2-х одинаковых clan, т.е если тег подходит под регулярку, но такой тег всего 1, то не надо его в tbl писать
Если >=2 то запишем..
т.е
|clan|name_1
|clan|name_2
этих запишем в tbl,
|clan|name_1 (один раз всего встречается, нафиг нам один.. один это не клан нифига
)
не запишем
А как мне в tbl добавлять только те clan name , которые соответствуют регуляркам?
И которых больше 2-х одинаковых clan, т.е если тег подходит под регулярку, но такой тег всего 1, то не надо его в tbl писать

Если >=2 то запишем..
т.е
|clan|name_1
|clan|name_2
этих запишем в tbl,
|clan|name_1 (один раз всего встречается, нафиг нам один.. один это не клан нифига

не запишем
