Я пытаюсь понять следующее регулярное выражение, я понял исходную часть, но не смог понять, что делает {3,19} здесь
/[A-Z][A-Za-z0-9\s]{3,19}$/
Я пытаюсь понять следующее регулярное выражение, я понял исходную часть, но не смог понять, что делает {3,19} здесь
/[A-Z][A-Za-z0-9\s]{3,19}$/
Это пользовательская операция повторения, известная как Quantifier.
\d{3}
найдет ровно три цифры.
[a-c]{1,3}
найдет любое событие a, b или c как минимум один раз, но до трех раз.
\w{0,1}
означает, что символ слова будет найден. Это то же самое, что и размещение вопросительного знака, например: \w?
(\d\w){1,}
найдет любую комбинацию цифры, за которой следует символ слова, по крайней мере, один раз, но до бесконечности. Таким образом, он будет соответствовать 1k1k2k4k1k5j2j9k4h1k5k
. Это то же самое, что и символ плюса, например: (\d\w)+
b{0,}\d
по желанию найдет букву b
, за которой следует цифра, но также может соответствовать бесконечной букве b
, за которой следует цифра. Таким образом, он будет соответствовать 5
, b5
или даже bbbbbbb5
. Это то же самое, что и Asterisk. например: b*\d
Они 'quantifiers' - это означает "совпадение предыдущего шаблона между 3 и 19 раз"
Когда вы изучаете регулярные выражения, им действительно нужно играть с ними в интерактивном инструменте, который может выделить совпадения. Мне всегда нравился инструмент Regex Coach, но это только Windows. Например, множество онлайн-инструментов - играйте с вашим регулярным выражением здесь, например.
{n,m}
означает "повторить предыдущий элемент как минимум n
раз и самое большее m
times", поэтому выражение
[A-Za-z0-9\s]{3,19}
означает "соответствие между 3 и 19 символами, которые являются буквами, цифрами или пробелами". Обратите внимание, что повторение по умолчанию является жадным, поэтому оно будет пытаться совместить столько символов, сколько возможно в пределах этого диапазона (здесь это не вступает в игру, так как конец привязки строки делает это так, что на самом деле существует только одна возможность для каждого матч).
Регулярное выражение, которое у вас есть /[A-Z][A-Za-z0-9\s]{3,19}$/
, разрывается, чтобы означать это:
[A-Z]
Мы ищем прописную букву
Далее
[A-Za-z0-9\s]{3,19}
серия букв, цифр или пробелов между 3 и 19 символами
$
Затем конец строки.
Он должен будет соответствовать [A-Za-z0-9\s] между 3 и 19 раз.
Здесь хорошее справочное руководство по регулярному выражению:
то, что запятые разделенные числа в фигурной скобке в конце регулярного выражения означает
Он обозначает квантификатор с диапазоном, указанным в фигурной скобке.
фигурные скобки для работы с аргументами. Где мы можем указать одно целое или два целых числа, которые действуют как диапазон между двумя числами.
/[A-Z][A-Za-z0-9\s]{3,19}$/
Используя онлайн-сайты регулярных выражений, мы можем понять следующее: