Регулярное выражение для строки первых символов - PullRequest
0 голосов
/ 11 февраля 2011

в моем приложении на Rails мне нужно проверить строку, при создании которой первые символы не могут быть пустыми или составлены из каких-либо специальных символов.

Например: «файл» и «% файл» недопустимы. Вы знаете, что Regex я должен использовать?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 11 февраля 2011

Следующее регулярное выражение будет соответствовать, только если первая буква строки представляет собой букву, цифру или '_':

^\w

Для ограничения только буквами или цифрами:

^[0-9a-zA-Z]

Значение ^ имеет особое значение в регулярных выражениях, когда оно находится за пределами класса символов ([...]), оно соответствует началу строки (без фактического совпадения с какими-либо символами).

Есливы хотите сопоставить все недопустимые строки, вы можете поместить ^ внутри класса символов, чтобы отрицать его, поэтому предыдущие выражения будут:

^[^\w]

или

^[^0-9a-zA-Z]
1 голос
/ 11 февраля 2011

Хорошее место для интерактивного опробования регулярных выражений Ruby: Rubular . Ссылка, которую я дал, показывает ответ, который дал @Dave G вместе с несколькими тестовыми примерами (и на первый взгляд кажется, что это работает). Вы можете расширить примеры, чтобы убедить себя в этом.

0 голосов
/ 11 февраля 2011

регулярное выражение

^[^[:punct:][:space:]]+

Должен делать то, что вы хотите. Я не уверен на 100% в том, что предоставляет Ruby в отношении регулярных выражений и поддержки классов POSIX, поэтому ваш пробег может варьироваться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...