Регулярное выражение для соответствия первому и последнему символу

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

Я знаю, что это соответствует первому символу:

/^[a-z]/i

но как я могу проверить и последний символ? Это:

/^[a-z][a-z]$/i

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

Любая помощь будет высоко оценена.

Ответ 1

Ниже regex будет соответствовать строкам, которые начинаются и заканчиваются буквенным символом.

/^[a-z].*[a-z]$/igm
Строка

a также начинается и заканчивается буквенным символом, правильно? Затем вы должны использовать следующее регулярное выражение.

/^[a-z](.*[a-z])?$/igm

DEMO

Объяснение:

^             #  Represents  begining of a line.
[a-z]         #  alphabatic  character.
.*            #  Any character 0 or more times.
[a-z]         #  alphabatic  character.
$             #  End of a line.
i             #  case-insensitive match.
g             #  global.
m             #  multiline

Ответ 2

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

/^[a-z].*[a-z]$/im

DEMO