ругулярки
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- Bormental
- сержант
- Сообщения: 267
- Зарегистрирован: 2008-09-26 21:26:35
- Откуда: подмордорье
- Контактная информация:
ругулярки
как реализовать условие И в регулярках, например ИЛИ работает при такой конструкции
SELECT * FROM `razdel2` WHERE TXT regexp 'закон|рф'
а И работает только в таком виде
SELECT * FROM `razdel2` WHERE TXT regexp 'закон' and TXT regexp 'рф'
можно как нибудь составить запрос чтото вроде
SELECT * FROM `razdel2` WHERE TXT regexp 'закон&&рф'
т.е. выводились строки где TXT содержит оба слова, независимо от порядка
есть еще конечно MATCH AGAINST но у меня он с cp1251 выдает все по нулям на кирилице, с латиницей работает нормально
мускл 5.1 виндовые и юниксовые сборки
SELECT * FROM `razdel2` WHERE TXT regexp 'закон|рф'
а И работает только в таком виде
SELECT * FROM `razdel2` WHERE TXT regexp 'закон' and TXT regexp 'рф'
можно как нибудь составить запрос чтото вроде
SELECT * FROM `razdel2` WHERE TXT regexp 'закон&&рф'
т.е. выводились строки где TXT содержит оба слова, независимо от порядка
есть еще конечно MATCH AGAINST но у меня он с cp1251 выдает все по нулям на кирилице, с латиницей работает нормально
мускл 5.1 виндовые и юниксовые сборки

Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: ругулярки
Bormental писал(а):SELECT * FROM `razdel2` WHERE TXT regexp '(закон.*рф)|(рф.*закон)'
юзай UTF-8 и лучше юзать LIKEBormental писал(а):но у меня он с cp1251 выдает все по нулям

- Bormental
- сержант
- Сообщения: 267
- Зарегистрирован: 2008-09-26 21:26:35
- Откуда: подмордорье
- Контактная информация:
Re: ругулярки
это конечно интересно, а если слов 20? переборов многовасто будет, чем лайк лучше регекспа?zg писал(а):Bormental писал(а):SELECT * FROM `razdel2` WHERE TXT regexp '(закон.*рф)|(рф.*закон)'

-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: ругулярки
тогда только LIKEBormental писал(а):это конечно интересно, а если слов 20?

он лучше оптимизитрованBormental писал(а):чем лайк лучше регекспа?
- Bormental
- сержант
- Сообщения: 267
- Зарегистрирован: 2008-09-26 21:26:35
- Откуда: подмордорье
- Контактная информация:
Re: ругулярки
кстати LIKE не пахает с кирилицей в 1251 кодировочке))) на ютф както не хоца переписывать все

-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: ругулярки
http://anton-pribora.ru/articles/mysql/mysql-charsets/
...
Расставляя точки над и, Character Set - транслируется как "кодировка", а Collation - сравнение. В чём разница? Сравнение - это правила сравнения букв кодировки. Сравнения работают только в рамках кодировки, и нельзя сравнивать данные в латинице по правилам кирилицы. Поясню на примере: мы, как увидим позже, внесли данные в таблицу на латинице, а сортировать нужно на кирилице, для чего можно использовать ключевое слово collate:
всё и не нада, только базуBormental писал(а):на ютф както не хоца переписывать все