Рубрики
Без рубрики

Вы ненавидите Regex? Ну тогда у меня есть решение для вас …

Бухари Мухаммед Вы ненавидите Regex? Ну тогда у меня есть решение для вас … Осложнение в отношении читаемости вчерашнего регенератора в следующем произведении представлен мой последний пакет на NPM, который также доступен на Github в качестве хранилища. Я написал это в надежде, что это будет полезно

Бухари Мухаммед

Следующее произведение представляет мой последний Пакет на NPM, который также доступен на GitHub как Репозиторий Отказ Я написал это в надежде, что это будет полезно для всех, кому это может понадобиться.

Так … Что такое Pregx?

Pregx , вопреки общей верой, относится к: Популярное Regex (Шаблоны) и не перл регулярные выражения. Говоря о «общих», это библиотека – написана в JavaScript – целью является крупнейшая коллекция популярных и распространенных регулярные выражения .

Разработчики не использовались для регулярных выражений, могут столкнуться с трудностями при попытке использовать комплекс Регулярное выражение Обозначения и синтаксис. Эта библиотека должна помочь этим разработчикам достичь общих задач, требующих регулярных выражений. Он использует предварительно письменные модели, которые мы наиболее часто используем в наших проектах.

Почему бы не написать свои собственные регулярные выражения?

Не повторяйся (сухой) Подход заключается в том, что повторение в коде должно быть уменьшено через автоматизацию или абстракцию. Это фундаментальный принцип программирования, который должен быть подчиняться по возможности. Поскольку дублирование отдает время и пространство, я пошел к какой-то длине, чтобы найти решение не только для себя, но и для других.

Какой смысл за Сухой Принцип, если мы продолжаем изобретать хлеб каждый раз, когда Том, Дик или Гарри обнаружит пшеницу?

Я нашел общий Regex шаблоны. Моя идея состояла в том, чтобы аннотация каждая из этих популярных моделей в полезную чистую функцию собственной функции. Эта абстракция не будет мутировать или изменять состояние данной строки для соответствия. Затем каждая функция вернет массив элементов, сопоставляемых в данной строке.

Pregx не был разработан, чтобы противостоять оригинальности. Он имеет две одновременные цели. Одна цель – снизить время, когда разработчики тратят на попытку использовать Regex Отказ Другая цель – избежать сложности, где она не принадлежит.

Хотя, виновным, как взимается, этот пакет также (косвенно) предназначен для тех ленивых боймов, которые всегда уклоняются в писать регулярные выражения.

Опять же, вам может потребоваться написать свой собственный Regex Отказ Ваш подход полностью зависит от потребностей задачи под рукой.

Когда я должен использовать pregx?

Хороший вопрос, когда ты должен?

Pregx Может использоваться, когда встроенные функциональные возможности не достигают, или неадекватно для вашего комплекса желаемого результата. Некоторые могут утверждать, что Regex может достичь этой задачи.

Regex может эффективно сократить код. Однако он также может уменьшить читаемость вашего кода, в зависимости от сложности задачи под рукой.

Почему бы не выбрать готовое запеченное решение, которое абстрагировано в полезную функцию?

Это где Pregx вступает в игру. Шаблоны абстрагируются в функциях в соответствии с Функциональное программирование парадигмы Отказ Это делает его решением для общих задач Regex. Использование Pregx достигает того же результата, без урегулирования менее читаемого кода или восстановлению хлеба.

В широком смысле точный принцип: какой бы ни был узор, который вы готовите, есть, вероятно, человек, который уже написал его. Pregx берет это правило, накопив такие шаблоны для большего букета Нерегес ориентированные разработчики.

Потом опять же, это все зависит от того, что вам удобно. Если вы не горячо, написав свои собственные шаблоны, это простой выход.

Когда не использовать pregx

Если вы ищете необычный, шаблон, который супер специфичен для ваших потребностей, то Прег Просто не ответ. Прег не предназначен для замены regex. это было бы супер глупо. Regex всегда будет оставаться лучшим решением, когда дело доходит до точных или явных задач этой природы. Дендровя, хороший разработчик будет знать, когда использовать буханку и когда использовать пекарню.

Простота и полезность Pregx

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

Пример кредитной карты

В следующем примере показано, как соответствовать номеру кредитной карты, используя строку, с помощью getcreditcardnumbers () Отказ Можно даже указать тип кредитной карты типа PF, чтобы соответствовать, через CardType Свойство функции config объект. По умолчанию эта функция совпадает с номерами карты VISA. Проверьте этот образец:

Не впечатлило? У меня хватит трюков на нашей рукаве, чтобы побудить вас.

Пример почтового индекса

Если приведенный выше код не делал этого, то этот будет.

Узор getPostalcode () Функция входит в число множества шаблонов, которые я написал сам. Там есть много решений, которые пытаются сделать это. Нет совпадения Pregx ‘s стандартный

Я использовал Список почтовых индексов Википедии Как ссылка и приготовлена Pregx единственная самая большая функция. С Поддержка сопоставления почтовых адресов более 150 стран Эта функция – по крайней мере для меня – остается лучшее решение для достижения этой общей задачи. Взглянем:

В настоящее время поддерживаются шаблоны

Pregx Поддерживает курируемый список из 35 (и счетных) различных шаблонов, все хорошо проверены, чтобы соответствовать их соответствующему тексту. Вот список поддерживаемых шаблонов:

Убежденный?

Это только два примера многих шаблонов, которые содержит эту библиотеку. Для документирования, примеров использования и дополнительной информации о Прег проверить его Репозиторий на github. Еще лучше, клонировать его или проверить его, просто установив его через NPM:

npm install pregx --save

Я хотел бы услышать ваши отзывы об этом пакете. Pregx В настоящее время состоит из 35 шаблонов, я надеюсь, что он достигает ~ 100. Итак, не стесняйтесь вносить любые полезные модели. Звезда это на git Отказ

Это мой первый проект с открытым исходным кодом на NPM , но не мой первый на Github. Люблю это, вилочка . Ненавижу это, критика это. Чтобы получать обновления о прогрессе этого хранилища вместе с некоторыми крутыми советами, связанными с JavaScript/React, следуйте за мной в Twitter: @ bukharim96.

Спасибо за чтение этого поста.

Мир.

Оригинал: “https://www.freecodecamp.org/news/pregx-for-those-who-wish-to-dodge-regex-250e4a484ee0/”