Вы, похоже, неправильно поняли нотацию класса персонажа. От [
до ]
- это список символов, которые нужно сопоставить. Нет смысла перечислять один и тот же символ несколько раз, и в основном все символы, кроме ]
и -
(и начальные ^
для отрицания), просто совпадают, то есть теряют свое специальное значение регулярного выражения.
Давайте перефразируем ваше требование. Вы хотите, чтобы алфавит c [a-z]
повторялся один или несколько раз +
, за которым может следовать апостроф и другая последовательность алфавитов.
[a-z]+('[a-z]+)?
В некоторых диалектах регулярных выражений вы можете предпочесть не- захватывая открывающую скобку (?:
вместо простой (
.