Возможный дубликат:
каков окончательный почтовый индекс и регулярное выражение почтового индекса?
Мне нужно Regex, который может удовлетворить все три моих условия для почтового индекса. Например-
- 12345
- 12345-6789
- 12345 1234
Любые указатели и предложения будут очень признательны. Спасибо !
\d{5}([ \-]\d{4})?
.Ответы:
^
= Начало строки.\d{5}
= Соответствие 5 цифрам (для условий 1, 2, 3)(?:…)
= Группировка[-\s]
= Соответствует пробелу (для условия 3) или дефису (для условия 2)\d{4}
= Соответствие 4 цифрам (для условия 2, 3)…?
= Шаблон перед ним необязательный (для условия 1)$
= Конец строки.источник
\s
будет соответствовать любому пробелу, включая табуляцию и новые строки.00544
это действительный почтовый индекс;544
не является./(^\d{5}(?:[\s]?[-\s][\s]?\d{4})?$)/
Только для трех перечисленных условий эти выражения также могут работать:
Пожалуйста, посмотрите эту демонстрацию для дополнительных объяснений.
Если бы у нас были неожиданные дополнительные пробелы между 5 и 4 цифрами или непрерывный 9-значный почтовый индекс, например:
это выражение, например, будет второстепенным вариантом с меньшими ограничениями:
Пожалуйста, посмотрите эту демонстрацию для дополнительных объяснений.
Цепь RegEx
jex.im визуализирует регулярные выражения:
Тест
источник
Я знаю, что это может быть очевидным для большинства людей, которые часто используют RegEx, но в случае, если какие-либо читатели не знакомы с RegEx, я подумал, что должен указать на сделанное мной наблюдение, которое было полезно для одного из моих проектов.
В предыдущем ответе @kennytm:
Если вы хотите разрешить использование стандартных 5-значных и +4-значных почтовых индексов, это отличный пример.
Чтобы сопоставить только почтовые индексы в американском формате «Zip + 4», как мне нужно (только условия 2 и 3), просто удалите последний
?
чтобы он всегда соответствовал последней группе из 5 символов.Полезный инструмент, который я рекомендую для работы с RegEx, приведен ниже:
https://regexr.com/
Я часто использую этот инструмент, когда нахожу RegEx, который делает что-то похожее на то, что мне нужно, но может быть настроен немного лучше. Он также имеет изящное справочное меню RegEx и информативный интерфейс, который позволяет вам знать, как ваши изменения влияют на совпадения с образцом текста, который вы ввели.
Если я ошибся или пропустил важную информацию, поправьте меня.
источник