Это еще одна из тех замечательных идей, которые, увидев, вы не можете понять, почему ее не изобрели раньше. Вербальные выражения используют свободный интерфейс для определения соответствия любой целевой строке.
Вы знаете, как это бывает. Вы сидите и смотрите на регулярное выражение, и вы знаете, что означают все части, но … что оно делает? Даже если вы эксперт, бывают случаи, когда вы упускаете символ или объем символа. Регулярные выражения являются плотными и поэтому подвержены ошибкам.
Там должен быть лучший способ.
Введите словесные выражения. Нет, это не отменяет регулярных выражений, это упрощает их создание.
Идея исходит из способности JavaScript создавать плавные интерфейсы путем объединения вызовов методов в стиле jQuery. Этот трюк часто используется для создания простых предметно-ориентированных языков, и это и есть вербальное выражение.
У вас есть такие методы, как startOfLine, а затем, и вы можете изменить их вместе так:
VerEx (). StartOfLine (). Then («Я программист»);
возвращает регулярное выражение, которое соответствует строке «Я программист» в начале строки.
Легкий! Мой любимый метод вербального выражения — это возможно (строка), который соответствует нулевой или однократной строке. Так:
VerEx (). Find («ISBN»). Возможно («:»)
генерирует регулярное выражение, которое находит строку «ISBN» или «ISBN:»
Вы можете взглянуть на документацию, она не очень полная, но способ работы Verbal Expressions довольно очевиден. Обратите внимание, что статический объект VerEx возвращает стандартный объект регулярного выражения, который можно использовать, как если бы вы написали регулярное выражение вручную.
Очевидно, что если вы являетесь мастером регулярных выражений, вы, вероятно, не будете впечатлены, но для остальных из нас, смертных, это кажется действительно простым способом работы. Шансы понять вербальное выражение после нескольких недель его не видения намного выше, чем у плотного регулярного выражения.
Библиотеку JavaScript можно использовать в браузере или в Node.js.
Если вы думаете, что это было бы хорошей идеей для языков, отличных от JavaScript, то вас опередил ряд других проектов GitHub для Ruby, C #, Python, Java, Groovy, PHP, Haskell и C ++.
Если вы хотите узнать больше о регулярных выражениях в JavaScript, см. Статью Яна Эллиота «Мастер регулярных выражений JavaScript», или для получения аналогичной помощи в C # см. «Подробно о регулярных выражениях .NET», а если вы хотите немного повеселиться, вспомните сайт кроссвордов с регулярными выражениями