Регулярное выражение, Как разрешить комбинацию точки (точки) и букв? - PullRequest
11 голосов
/ 07 июня 2010

Я хочу разрешить (.) И (a-zA-Z) буквы и _ и -, У меня проблемы с (.),

Есть идеи?

Заранее спасибо,

Иш

Ответы [ 7 ]

21 голосов
/ 07 июня 2010
[A-Za-z_.-]

- это класс символов, который включает в себя все символы, которые вы упомянули.Внутри класса персонажа нет необходимости экранировать ., и вы можете избежать экранирования -, если ставите его первым или последним.

Если числа тоже в порядке, вы можете сократить это до

[\w.-]
4 голосов
/ 07 июня 2010

Это будет делать [a-zA-Z_.-]+

За пределами класса символов ([]) вам необходимо экранировать точку (\.), поскольку она является метасимволом.

[a-z]+\.com  #matches `something.com`
2 голосов
/ 07 июня 2010

[a-zA-Z_\-.] должно работать. Возможно, вам придется использовать двойную косую черту, в зависимости от языка, который вы используете.

1 голос
/ 07 июня 2010

Побег, так как это специальный символ:

\.
0 голосов
/ 08 июня 2010

Как все уже говорили, если вы заключаете набор символов (в этой ситуации не нужно убегать) в квадратные скобки, вы говорите: «Пожалуйста, разрешите эти символы, которые я помещаю внутрь. Я нашел для вас эталонное видео: Пропустить до 22-23 мин.

0 голосов
/ 07 июня 2010

. Имеет особое значение в регулярных выражениях, оно используется для обозначения любого символа. Поэтому вам нужно использовать escape-символ.

Так что вам нужно использовать \.

0 голосов
/ 07 июня 2010

Это должно работать просто отлично:

  [A-z._\-]+

Имейте в виду, что вы должны избежать этой косой черты в зависимости от вашего языка программирования.

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