题
任何人都不会使用有良好的regex library,他们喜欢使用?大多数regex,你在网上找到的或含有错误或是如此集中在边缘的情况下,它变成一个竞争验证的任何规格的100%。当然你可以写你自己的,但是当你是记账时地方便有一个图书馆周围。
解决方案
你可以搜索的经常表达的 regexlib.
其他提示
提升为c++
除了相当多的最佳Regex工具在市场上(严重),RegexBuddy约的唯一工具我知道这可以让你开关在不同Regex呈现的引擎。
看到的信息在这里:
http://en.wikipedia.org/wiki/RegexBuddy
RegexBuddy的专有经常表达的引擎允许的软件效仿的规则和限制的众多受欢迎的经常表达的味道。
最近,我做我所有的文本分析在Perl。如果我需要regex的另一种语言,我会去 PCRE.
The PCRE library is a set的职能,实现常规 表达的模式匹配使用相同的语法和语义 Perl5.PCRE有其自己本地API,以及一套 包装的功能相对应的POSIX regular expression API。The PCRE library是免费的,甚至商业建筑 软件。
PCRE最初是为 进出口MTA, 但是现在使用的许多高调开放源项目,包括 Apache, PHP, KDE, 后缀, 模拟, , 常.PCRE也已经找到方法进入一些众所周知的商业产品、样 苹果Safari.其他一些有趣的项目使用包括PCRE 鸡, Ferite, 缟玛瑙, Hypermail, Leafnode, Askemos, 和 文林.
PCRE是成熟的,并具有支持的许多项目。Apache和苹果都有既得利益使得高质量。我怀疑任何其他重新图书馆是有可能超过它在这两种功能性和质量(或可能是任何一)。
一个很好的来源,提供通常要求经常表达的是Perl's Regexp::共同的.
目前提供的模式如下(从家庭页):
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.
电子文本编辑树什么你在寻找你的类型。这是非常有用的,因为你可以粘贴'样品的文本'进入一个文件,并且只要输入您的regex进入搜索领域,看看它是匹配的正确的在你的面前。
没有这些'些regex建设者'的事情是替代实际上学习经常表达方式。