2015-03-25 3 views

ответ

0

Нет, (?=.*(?:[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 алфавитно-цифровых символов, одинарных кавычек, пробелов или точек, а затем следует с прописной буквой, и продолжает с буквенно-цифровыми символами и должны концы за которыми следуют буквенно-цифровые символы, пробелы, одинарная кавычка или точка.

Здесь вы можете увидеть лучший графический подход для вашего регулярного выражения:

Regular expression visualization

На самом деле, это может быть улучшено как:

/^(?=[A-Za-z\d'\s.]{2,50}$)(?=.*[a-z])[a-zA-Z\d]+[A-Za-z\d'\s.]+$/m 

Regular expression visualization

+0

пожалуйста, вы можете уточнить «И следует буквой нижнего регистра», – jkushner

+0

@jkushner Я проиндексировал, как ваши шаблоны использовались lo l, как «начать с A, а затем x, а затем blablabla». Обновит его –

+0

Я понимаю. Итак, какова цель назначения здесь не захватывающей группы? – jkushner

Смежные вопросы