Есть ли у кого-нибудь хорошая библиотека regex, которую он предпочитает использовать? Большинство регексов, которые можно найти в Интернете, либо содержат ошибки, либо настолько сосредоточены на крайних случаях, что это превращается в соревнование по проверке всех спецификаций на 100%. Конечно, можно написать свой собственный, но при почасовой оплате удобно иметь под рукой библиотеку.
Помимо того, что RegexBuddy является практически лучшим инструментом Regex на рынке (серьезно), это единственный известный мне инструмент, позволяющий переключаться между различными движками рендеринга Regex.
См. информацию здесь:
http://en.wikipedia.org/wiki/RegexBuddy
Собственный движок регулярных выражений RegexBuddy позволяет эмулировать правила и ограничения множества популярных вариантов регулярных выражений.
В последнее время весь разбор текста я делаю на Perl. Если бы мне понадобились regex'ы на другом языке, я бы воспользовался PCRE.
Библиотека PCRE представляет собой набор функций, реализующих сопоставление шаблонов регулярных выражений с использованием того же синтаксиса. сопоставление шаблонов с использованием того же синтаксиса и семантики, что и в Perl 5. PCRE имеет свой собственный API, а также набор функций-оберток, соответствующих API регулярных выражений POSIX API. Библиотека PCRE является бесплатной, даже для создания коммерческого программного обеспечения.
Изначально PCRE была написана для. Exim MTA, но в настоящее время используется во многих известных проектах с открытым исходным кодом, включая Apache, PHP, KDE, Postfix, Analog, и Nmap. PCRE также нашел свое применение в некоторых известных коммерческих продуктах, таких как Apple Safari. Среди других интересных проектов, использующих PCRE, можно назвать следующие Chicken, Ферит, Оникс, Hypermail, Leafnode, Askemos, и Wenlin.
PCRE является зрелым и поддерживается множеством проектов. И Apache, и Apple заинтересованы в том, чтобы она была качественной. Я сомневаюсь, что какая-либо другая библиотека RE в ближайшее время сможет превзойти ее как по функциональности, так и по качеству (а возможно, и по качеству).
Один хороший источник, который обеспечивает обычно требуемые регулярные выражения, является Perl' s [Regexp:: Распространенный] [1].
В настоящее время обеспечивает образцы для следующего (от домашней страницы):
Regexp::Common::balanced
Provides regexes for strings with balanced parenthesized delimiters.
Regexp::Common::comment
Provides regexes for comments of various languages (43 languages currently).
Regexp::Common::delimited
Provides regexes for delimited strings.
Regexp::Common::lingua
Provides regexes for palindromes.
Regexp::Common::list
Provides regexes for lists.
Regexp::Common::net
Provides regexes for IPv4 addresses and MAC addresses.
Regexp::Common::number
Provides regexes for numbers (integers and reals).
Regexp::Common::profanity
Provides regexes for profanity.
Regexp::Common::whitespace
Provides regexes for leading and trailing whitespace.
Regexp::Common::zip
Provides regexes for zip codes.
[1]: https://metacpan.org/pod/Regexp:: Распространенный
электронный-texteditor hilights, что you' ре, ищущее, поскольку Вы печатаете его. Это невероятно полезно, поскольку Вы можете приклеить свой ' образец text' в файл, и просто напечатайте свой regex в поле поиска и посмотрите что it' s соответствие прямо перед Вами.
Ни один из этих ' визуальный regex builder' вещи - замены для того, чтобы на самом деле ИЗУЧИТЬ регулярные выражения.