Регулярное выражение: должно начинаться с буквы или цифры, но остальное может быть чем угодно


Я пытаюсь построить шаблон для использования при проверке.

Моя цель состоит в том, чтобы первым символом была буква или цифра, а остальное - что угодно.

I.пример:

  1. А'р4нд0м!
  2. 9!h3ll0.
  3. b1llin6s

Я подумал о: [a-zA-Z0-9_/][.*]++

Каким было бы решение?

Спасибо вам!

Author: Dan Fego, 2012-02-15

4 answers

Как я уже отмечал, буква или цифра - это [\pL\pN]. Поэтому строка, начинающаяся с одного из них, будет соответствовать шаблону

/^[\pL\pN]/
 6
Author: tchrist, 2012-02-15 15:09:26

Если первое число является цифрой или буквой, у вас есть ^[A-Za-z0-9]. (^ соответствует началу строки.) Для того, чтобы все остальное было чем угодно, достаточно простого .*, поэтому у вас есть ^[A-Za-z0-9].*.

 4
Author: Graeme Perrow, 2012-02-15 14:56:09

Вы можете немного урезать свое регулярное выражение:

^[a-zA-Z0-9].*

Начинается с буквы/цифры, может быть любой длины или любых символов после.

 2
Author: hexparrot, 2012-02-15 14:57:16

Вы должны привязать свое регулярное выражение в начале строки, используя /^/. Ваш класс символов [a-zA-Z0-9_/] также соответствует подчеркиванию и косой черте: это то, что вы намереваетесь? Кроме того, [.*]++ соответствует одной или нескольким точкам или звездочкам, а завершающий + излишне дублирует квантор.

Поскольку оставшаяся часть строки может быть "чем угодно", нет смысла сопоставлять ее, и

/^[A-Za-z0-9]/

Все будет хорошо.

 2
Author: Borodin, 2012-02-15 14:59:30