Сообщений: 2,228
Тем: 77
Зарегистрирован: Jan 2012
Репутация:
12,733
06-02-2012, 10:50 PM
(Сообщение последний раз редактировалось: 06-02-2012, 10:58 PM MrShyr.)
В общем сижу колдую над регулярными выражениями, и немного
защел в тупик, в общем требуется ваша помощь.
За ранее благодарен за любые варианты, все попробуем, проверим.
Для чего оно нужно:
Скажем просто - Титулы игроков.
Что требуется от регулярного выражения:
Должны быть разрешены все НИЖЕУКАЗАННЫЕ символы
вне зависимости от их размещения в строке, будь они русские,
английские, либо точки, запятые с тильдами и пробелами...
0-9 А-Я а-я A-Z a-z пробел, ну и символы ~,.!@#$%^&*()_+-={}[]:;"'<>?/\|
То есть сделать возможными в правиле надписи типа: ~Пр1веD!o(^^,)o~
с ограничением колличества символов {0,16}
Добавлено через 4 минуты
Есть такой вариант, но увы не дееспособный, так как
требованиям всем не соответствует...
[0-9A-Za-zА-Яа-я -\\[\\]<>\\(\\)\!|]{0,16}
Сообщений: 343
Тем: 4
Зарегистрирован: Jan 2011
Репутация:
2,824
Решение "влоп"
Код: [0-9А-Яа-яA-Za-z\ ~,.!@#$%^&*()_+\-={}[\]:;"'<>?/\|]{0,16}
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
06-02-2012, 11:56 PM
(Сообщение последний раз редактировалось: 06-02-2012, 11:57 PM Zubastic.)
Цитата:[0-9A-Za-zА-Яа-я -\\[\\]<>\\(\\)\!|]{0,16}
Выделенная штука написана неправильно.
Я конечно только предполагаю но:
0-9 - цифры
A-Z - заглавные
a-z - строчные
~-+ - спец символы по идее
Возможно их просто стоит перечислить, как:
~!@#$%^&*()_+=-
Но я не уверен.
Добавлено через 52 секунды
G1ta0 Написал:Решение "влоп"
Код: [0-9А-Яа-яA-Za-z\ ~,.!@#$%^&*()_+\-={}[\]:;"'<>?/\|]{0,16}
Подскажи, а как указать диапозон, т.е. более красивое и компактное решение?
Ибо так, это индусский код какой-то
Сообщений: 2,228
Тем: 77
Зарегистрирован: Jan 2012
Репутация:
12,733
06-03-2012, 12:09 AM
(Сообщение последний раз редактировалось: 06-03-2012, 12:24 AM MrShyr.)
G1ta0 Написал:Решение "влоп"
Код: [0-9А-Яа-яA-Za-z\ ~,.!@#$%^&*()_+\-={}[\]:;"'<>?/\|]{0,16}
Да, спасибо огромное, хороший варинт.
Но немного так же не до конца рабочий...
Не желает воспринимать символы ^ { } \ _ ~
И прошу обьяснить знающих, почему к примеру мягкий знак
не возможно написать более 8 символов?) Английские символы
любые помоему воспринимает, а некоторые ЛЮБЫЕ русские только до 8 символов, не понятно, пишет что якобы превышено допустимое колличество символов....
К примеру: Далеко Далеко
Титул не предоставляется возможным написать,
хотя состоит из 13 символов
Добавлено через 15 минут
Zubastic Написал:Подскажи, а как указать диапозон, т.е. более красивое и компактное решение?
Ибо так, это индусский код какой-то
Если и есть какие то диапозоны символов типа !@#$%, то я думаю появится проблема
заключающаяся в том что таких символов колличество не малое и не все поддерживаются клиентом, прийдется каким то боком делать не один диапозон а несколько + исключения.
Сообщений: 343
Тем: 4
Зарегистрирован: Jan 2011
Репутация:
2,824
MrShyr Написал:Да, спасибо огромное, хороший варинт.
Но немного так же не до конца рабочий...
Не желает воспринимать символы ^ { } \ _ ~
Вариант рабочий, я не знаю где вы пишите, эти символы заэскейпить надо. Насчет русского, если строки юникод, то надо модификатор (?u) заюзать.
Сообщений: 2,228
Тем: 77
Зарегистрирован: Jan 2012
Репутация:
12,733
06-03-2012, 12:35 AM
(Сообщение последний раз редактировалось: 06-03-2012, 12:39 AM MrShyr.)
G1ta0 Написал:Вариант рабочий, я не знаю где вы пишите, эти символы заэскейпить надо. Насчет русского, если строки юникод, то надо модификатор (?u) заюзать.
Дело в том что к примеру при работе с никами, практически во всех
сборочках действуют правила:
([0-9A-Za-z]{2,16})|([0-9\u0410-\u044f]{2,16})*
В которых как раз таки русские символы указываются юникодом.
А вот в люцере, как в люцере...
[0-9A-Za-z]{3,16}|[0-9А-Яа-я]{3,16}
Но при работе с никами, русские символы набиваются
в правильном колличестве 16=16
А при работе с титулами... 8=16 непонятно...
Добавлено через 4 минуты
Титул с английскими буквами:
AAAAAAAAAAAAAAAA -16 символов устанавливается отлично.
Титул с русскими буквами:
АААААААААААААААА -16 символов не устанавливается ссылаясь на превышенное колличество введенных символов.
При работе с никами такого не происходит.
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
Это скорее к разработчикам Люцеры
Сообщений: 2,228
Тем: 77
Зарегистрирован: Jan 2012
Репутация:
12,733
Zubastic Написал:Это скорее к разработчикам Люцеры
Смешься? Туда обращаться как в потолок плевать...
Сообщений: 3,401
Тем: 18
Зарегистрирован: Jan 2012
Репутация:
0
MrShyr, во всяком случае разраб присутствует на форуме и даже активен
Сообщений: 981
Тем: 77
Зарегистрирован: Oct 2011
MrShyr;192863 Написал:не возможно написать более 8 символов?) Английские символы
любые помоему воспринимает, а некоторые ЛЮБЫЕ русские только до 8 символов, не понятно, пишет что Все очень просто. UTF-8 - это многобайтный символ. mb_ereg() Вам в помощь.
P.S. не знаю как у Вас на яве точно название функции, там сориентируйся.
|