Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Вопрос по регекспу.


Автор: ShurikA 29.4.2007, 20:30
Срезу говорю что я в регекспах очень слаб, по этому и спрашиваю в лоб... smile

Нужно проверить если стринг состоит из латинский букв (маленьких и заглавных), цифр, '_' и '-' и минимальная длинна стринга 1.
То что у меня получолось до сих пор это: 
"^[a-zA-Z0-9_\-]+$" 

но компайлер ругается на \-.

Автор: nornad 29.4.2007, 21:49
Код

(\w|-)+


Добавлено через 1 минуту и 57 секунд
Или если строка состоит только из этого дела (даже пробелов нет и от начала и до конца буквы-цифры-итп), то можно сразу для вставки в жабу:
Код

String pattern = "^(\\w|-)+$";


Добавлено через 4 минуты и 30 секунд
А ругается потому, что в символьном классе минус является спец.символом, позволяющим задавать последовательности. Если же и его надо в символьном классе указать, то ставят первым. Вот твой исправленный паттерн:
Код

"^[-a-zA-Z0-9_]+$"

Автор: LSD 29.4.2007, 23:55
Цитата(ShurikA @  29.4.2007,  21:30 Найти цитируемый пост)
но компайлер ругается на \-.

Сделай так "^[a-zA-Z0-9_\\-]+$" 

Автор: ShurikA 30.4.2007, 00:38
Цитата(LSD @  29.4.2007,  22:55 Найти цитируемый пост)
Сделай так "^[a-zA-Z0-9_\\-]+$"  

именно так в результате и сделал smile
спасибо  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)