Необходимо добавить подчеркивание к моему регулярному выражению - PullRequest
3 голосов
/ 16 апреля 2010

Я новичок в регулярных выражениях и просто не могу понять это:

'/^[A-Za-z0-9](?:.[A-Za-z0-9]+)$/'

Как сейчас, он разрешает точки в любое время после первого символа, и мне нравится добавлять _, чтобы разрешить и то, и другое. Спасибо

Ответы [ 3 ]

10 голосов
/ 16 апреля 2010

На самом деле, /^[A-Za-z0-9](?:.[A-Za-z0-9]+)$/ допускает любой символ после первой буквы, поскольку . - это специальный символ, соответствующий чему угодно.

Использование

/^[A-Za-z0-9](?:[._][A-Za-z0-9]+)$/

Внутриклассы символов (обозначаются квадратными скобками), точка теряет свое особое значение.

1 голос
/ 16 апреля 2010
/^[A-Za-z0-9]*(?:[._][A-Za-z0-9]+)*$/

В вашем нынешнем состоянии регулярное выражение разрешит любой символ (включая точку).

0 голосов
/ 16 апреля 2010
 '/^[A-Za-z0-9](?:.[A-Za-z0-9_]+)$/'

Надеюсь, это поможет

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