Нет, (?=.*(?:[a-z]))
означает, что может быть что угодно, но должно заканчиваться строчной буквой.
Это регулярное выражение означает:
/^(?=[A-Za-z0-9\'\s\d\.]{2,50}$)(?=.*(?:[a-z]))[a-zA-Z0-9]+[A-Za-z0-9\'\s\.]+$/m
Match линия, которая начинается с 2 до 50 алфавитно-цифровых символов, одинарных кавычек, пробелов или точек, а затем следует с прописной буквой, и продолжает с буквенно-цифровыми символами и должны концы за которыми следуют буквенно-цифровые символы, пробелы, одинарная кавычка или точка.
Здесь вы можете увидеть лучший графический подход для вашего регулярного выражения:
На самом деле, это может быть улучшено как:
/^(?=[A-Za-z\d'\s.]{2,50}$)(?=.*[a-z])[a-zA-Z\d]+[A-Za-z\d'\s.]+$/m
пожалуйста, вы можете уточнить «И следует буквой нижнего регистра», – jkushner
@jkushner Я проиндексировал, как ваши шаблоны использовались lo l, как «начать с A, а затем x, а затем blablabla». Обновит его –
Я понимаю. Итак, какова цель назначения здесь не захватывающей группы? – jkushner