【发布时间】:2009-02-12 21:46:12
【问题描述】:
他们是否有任何向导或工具可以为 PHP 创建和测试正则表达式,因为这太难了 :( ? 谢谢:)
【问题讨论】:
他们是否有任何向导或工具可以为 PHP 创建和测试正则表达式,因为这太难了 :( ? 谢谢:)
【问题讨论】:
RegexBuddy 是为此目的而广受欢迎的应用程序。它还需要 40 美元,并且只能在 Windows 上运行。
有关强大的免费替代品,请参阅this answer。
【讨论】:
reAnimator 是一个很好的工具,可以将你的正则表达式可视化为状态机——我发现它有时很有用。
Python 还允许你view a regex parse tree,如果你学会阅读它会很有帮助。
【讨论】:
使用示例数据进行单元测试。创建两个数组,一个包含匹配数据,一个包含不匹配数据(如果需要测试边缘情况)。
【讨论】:
试用和错误成功。
因为我花时间实际学习它,而不是依靠其他东西来为我做。
同样适用于任何语言/工具 - 花一点时间来学习语法和一般精神,你会远远比依赖智能感知、代码提示等更有效率.
【讨论】:
有强大的online tools。离线,
【讨论】:
Expresso 是免费的 Windows 程序,对正在分析的正则表达式进行了很好的分解和解释。
有关可立即从浏览器运行的在线工具,请参阅this answer。
【讨论】:
我总是用这个:http://gskinner.com/RegExr/
【讨论】:
反复试验。
还有print_r。
【讨论】:
在线...有一个带有 js/pcre/posix 实现的 ajax 正则表达式检查器,可以在您键入时进行检查.. 很酷。
【讨论】:
Regex Buddy 太过分了(40 美元),而且只能在 Windows 上运行。早在 2009 年,这也许是个不错的选择。
现在我们有免费的强大在线工具来构建和测试正则表达式。 Regex101 就是其中之一:
更多正则表达式测试工具见my other answer。
【讨论】:
我在测试正则表达式时通常使用Rubular。你也可以试试txt2re.com,它可以很方便地帮助你找出表达式,甚至可以生成相关的PHP代码。
【讨论】:
我曾经使用过正则表达式教练。但是因为它是基于 Perl 的,而且我大部分时间都在测试 .NET 正则表达式,所以我现在使用这个 online .NET regular expression tester。
【讨论】:
我喜欢 emacs 重建器。
【讨论】:
我已经编写了自己的工具:Regular Expression Tester。与许多其他基于 Web 的工具不同,这个工具可以将正则表达式分解为标记并描述每个标记的作用。它非常适合检查新的表达方式,或者您很久以前写的但不太记得的表达方式。
【讨论】:
既然您在谈论 PHP,您可能对Codebench 感兴趣。它是一个工具,不是专门用来分解正则表达式(你已经列出了很多),而是对它们进行基准测试。由于它相当通用,因此您还可以比较非正则表达式解决方案,因为本机字符串函数通常更快。此外,它还允许您针对多个主题(目标)进行基准测试。希望对您有用。
【讨论】:
我正在使用单元测试。这样,我可以逐步增加我的正则表达式,确保我测试的第一个案例仍然通过。如果我必须修改它,我有我所有的测试来支持我。
【讨论】:
这是另一个用于 Java 的在线正则表达式测试器:
【讨论】:
对于在线测试 Regx http://www.regexr.com/ 使用此站点,如果您的 regx 在此工作,那么您可以使用 preg_match() 函数在 writecodeonline.com 上检查 php。
【讨论】:
我写了一个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)
【讨论】: