Хитрий regexp

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mlevel
мл. сержант
Сообщения: 105
Зарегистрирован: 2009-09-28 15:31:39

Хитрий regexp

Непрочитанное сообщение mlevel » 2010-10-07 21:24:59

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

1) могут присутствовать только символи rwdi
2) эти символы могут отсутствовать или появляться только один раз в строке


Допустимые варианты:

Код: Выделить всё

- rwdi
- rw
- ri
- id
Недопустимые варианты:

Код: Выделить всё

- rwdik
- ww
- riri
- ids
Мучаюсь второй день, помогите пожалуйста:)

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.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/

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Хитрий regexp

Непрочитанное сообщение FreeBSP » 2010-10-07 21:34:22

(?:r|)(?:w|)(?:d|)(?:i|)
как бэ таг?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

mlevel
мл. сержант
Сообщения: 105
Зарегистрирован: 2009-09-28 15:31:39

Re: Хитрий regexp

Непрочитанное сообщение mlevel » 2010-10-07 22:38:53

Пропускает повторение значений....

Код: Выделить всё

- ww
- riri

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Хитрий regexp

Непрочитанное сообщение FreeBSP » 2010-10-08 19:02:18

r{0,1}w{0,1}d{0,1}i{0,1}
?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Хитрий regexp

Непрочитанное сообщение hizel » 2010-10-08 19:18:06

я щитаю что эта задача не для regexp-а
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Хитрий regexp

Непрочитанное сообщение FreeBSP » 2010-10-08 22:12:48

да лан, дядь, наверняка реально регуляром сделать
просто где то я туплю, давно не занимался ими
ТС, где работаешь с регулярами?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Хитрий regexp

Непрочитанное сообщение hizel » 2010-10-08 22:38:01

FreeBSP писал(а): ТС, где работаешь с регулярами?
тут телепатом не надо быть, посмотри ls -l
только почему x нет, нипанятно
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Хитрий regexp

Непрочитанное сообщение FreeBSP » 2010-10-08 22:40:08

да я не об том откуда строка, а о том под чем работают регуляры
они ж везде, как правило, немного отличаются..
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

mlevel
мл. сержант
Сообщения: 105
Зарегистрирован: 2009-09-28 15:31:39

Re: Хитрий regexp

Непрочитанное сообщение mlevel » 2010-10-09 14:01:14

Это регуляр для check(проверка insert/update значений) в PostgreSQL.
((md_access)::text ~ 'r{0,1}w{0,1}d{0,1}i{0,1}'::text)
Текстовое значение md_access сравнивается с regexp 'r{0,1}w{0,1}d{0,1}i{0,1}'
Но все равно повторения пропускает, а остальное нет...

lamp
проходил мимо

Re: Хитрий regexp

Непрочитанное сообщение lamp » 2010-10-10 2:09:30

кажись вот оно:

Код: Выделить всё

/^([rwdi])(?!\1)(?:([rwdi])(?!\1)(?!\2))?(?:([rwdi])(?!\1)(?!\2)(?!\3))?(?:([rwdi])(?!\1)(?!\2)(?!\3)(?!\4))?$/
Последний раз редактировалось Alex Keda 2010-10-10 12:32:43, всего редактировалось 1 раз.
Причина: Товарищщи, цените чужое время, юзайте кнопочку [code]...