有没有人有一个很好的链接到一个网站或一个很好的工具来创建正则表达式而不是打破你的头来创建一个。该工具应该能够通过简单地选择某种模式文本来创建正则表达式。例如,如果我想要验证电话号码,我应该能够输入(000) - (111) - (1111)或000-000-0000或000-0000000 并且工具shold自动生成正则表达式。
答案 0 :(得分:40)
这是一个很好的在线正则表达式工具:www.gskinner.com/RegExr/
答案 1 :(得分:37)
我使用Rubular。它不仅适用于Ruby。
答案 2 :(得分:8)
在没有任何线索的情况下创建正则表达式不起作用。但是您可以使用可以帮助您创建它们的软件。我听说regexbuddy应该很好。
修改强>
的答案中可以找到为什么从任意字符串创建正则表达式无效的原因答案 3 :(得分:5)
Expresso有一个正则表达式GUI构建器 但我建议花一些时间学习正则表达式 - 你将能够比使用辅助生成器GUI更快地创建表达式
编辑:但它仍然无法读懂你的想法。你需要逐个构建正则表达式..因为我想要3个数字然后是 - 依此类推......它无法猜测你需要一个匹配字符串的电话号码
答案 4 :(得分:4)
要试试refiddle.com。他们的语料库测试使得为一组已知数据设计模式变得非常容易。您可以测试ruby,.NET和JavaScript表达式。
答案 5 :(得分:4)
答案 6 :(得分:3)
我也是RegexBuddy的粉丝,但如果您的预算紧张,您还可以使用名为Kodos的开源(和免费)实用程序。它最初设计用于调试和创建Python的正则表达式,但您可以使用它来验证任何正则表达式。
当然,它仍然依赖于您实际上知道如何构建正则表达式,但至少您可以使用它来验证或测试您拥有的内容。
答案 7 :(得分:3)
The Regex Coach给了我很多帮助 - 它几乎支持所有复杂的正则表达式;你实时看到你的修改如何对字符串进行操作;还有一个解析树的直观表示。
答案 8 :(得分:3)
如果你正在使用Eclipse,那么Sergey Evdokimov的Regex Util很高兴。它就位于您的IDE中,因此您不会丢失它,并提供有关匹配的即时反馈。然后,当您将其复制并粘贴到代码中时,它会为您完成所有转义/转义。
答案 9 :(得分:2)
我很惊讶没人提到Regexlib
答案 10 :(得分:2)
http://rgx-extract-replace.appspot.com提取捕获的组并将其格式化为不同的列。也提供简单的替换。
答案 11 :(得分:1)
人脑将创造比任何RegexBuddy更好,更易读的正则表达式。无论一块软件可以帮助您开发更快的正则表达式,这些正则表达式都会遇到一些问题:
最后,学习正则表达式将使您成为更好的程序员 - 您将能够阅读其他人的代码并了解它的作用,以及能够动态编写自己的正则表达式。比停止编码工作流程更快,转向一些外部程序,提出应该通过或失败的测试用例列表,然后将生成的正则表达式复制并粘贴到代码中而不知道它的作用。
答案 12 :(得分:1)
我喜欢RegexPal中的突出显示和附加功能。这是一个免费的网络工具,可以轻松访问快速参考。您甚至会注意到他们建议RegexBuddy获得更多功能,但您仍会在网络应用中找到RegexBuddy功能。