他们是否有任何向导或工具来为 PHP 创建和测试正则表达式,因为这太难了:(?谢谢 :)
20 回答
RegexBuddy是为此目的而广受欢迎的应用程序。它还需要 40 美元,并且只能在 Windows 上运行。
有关强大的免费替代品,请参阅此答案。
reAnimator是一个很好的工具,可以将你的正则表达式可视化为状态机——我发现它有时很有用。
Python 还允许您查看正则表达式解析树,如果您学会阅读它,这将很有帮助。
使用示例数据进行单元测试。创建两个数组,一个包含匹配数据,一个包含不匹配数据(如有必要)以测试边缘情况。
有强大的在线工具。离线,
- Regex Coach是一个很棒的免费离线正则表达式工具,我经常使用它。
- 我也喜欢RegEx Buddy,但它要 40 美元而且我很便宜。
试用和错误成功。
因为我花时间实际学习它,而不是依靠其他东西来为我做。
这同样适用于任何语言/工具——花一点时间来学习语法和一般精神,你会比依赖智能感知、代码提示等更有效率。
我总是用这个: http: //gskinner.com/RegExr/
我真的很喜欢RegexPal,它简单、清晰、无需安装且可在线免费获得。
在线...有一个带有 js/pcre/posix 实现的 ajax 正则表达式检查器,可以在您键入时进行检查.. 很酷。
反复试验。
和print_r
。
由于您在谈论 PHP,您可能对Codebench感兴趣。它是一个工具,不是专门用来分解正则表达式(你已经列出了很多),而是对它们进行基准测试。由于它相当通用,因此您还可以比较非正则表达式解决方案,因为本机字符串函数通常更快。此外,它还允许您针对多个主题(目标)进行基准测试。希望你觉得它有用。
这是另一个用于 Java 的在线正则表达式测试器:
对于在线测试 Regx http://www.regexr.com/使用此站点,如果您的 regx 在此工作,那么您可以使用 preg_match() 函数在 writecodeonline.com 上检查它的 php。
我正在使用单元测试。这样,我可以逐步增加我的正则表达式,确保我测试的第一个案例仍然通过。如果我必须修改它,我有我所有的测试来支持我。
在测试正则表达式时,我通常使用Rubular 。您也可以试试txt2re.com,它可以很方便地帮助您找出表达式,甚至可以生成相关的 PHP 代码。
我曾经使用过正则表达式教练。但是因为它是基于 Perl 的,而且我大部分时间都在测试 .NET 正则表达式,所以我现在使用这个在线 .NET 正则表达式测试器。
我喜欢 emacs 重建器。
我编写了自己的工具:Regular Expression Tester。与许多其他基于 Web 的工具不同,这个工具可以将正则表达式分解为标记并描述每个标记的作用。它非常适合检查新的表达方式,或者你很久以前写的但不太记得的表达方式。
我写了一个python库来完成这个,它在cloudtb.re下
text = 'so foo is the opposite of bar but without foo there is no bar?'
exp = '(foo).*?(bar)'
searched = cre.research(exp, text)
print(searched)