2

他们是否有任何向导或工具来为 PHP 创建和测试正则表达式,因为这太难了:(?谢谢 :)

4

20 回答 20

10

RegexBuddy是为此目的而广受欢迎的应用程序。它还需要 40 美元,并且只能在 Windows 上运行。

有关强大的免费替代品,请参阅此答案

于 2009-02-12T21:47:25.513 回答
6

reAnimator是一个很好的工具,可以将你的正则表达式可视化为状态机——我发现它有时很有用。

Python 还允许您查看正则表达式解析树,如果您学会阅读它,这将很有帮助。

于 2009-02-12T21:47:44.810 回答
6

使用示例数据进行单元测试。创建两个数组,一个包含匹配数据,一个包含不匹配数据(如有必要)以测试边缘情况。

于 2009-02-12T21:51:37.297 回答
4

有强大的在线工具。离线,

  • Regex Coach是一个很棒的免费离线正则表达式工具,我经常使用它。
  • 我也喜欢RegEx Buddy,但它要 40 美元而且我很便宜。
于 2009-02-12T21:49:40.827 回答
4

试用和错误成功。

因为我花时间实际学习它,而不是依靠其他东西来为我做。

这同样适用于任何语言/工具——花一点时间来学习语法和一般精神,你会依赖智能感知、代码提示等更有效率。

于 2009-07-13T21:24:14.097 回答
3

Expresso是免费的 Windows 程序,对正在分析的正则表达式进行了很好的分解和解释。

对于可以立即从浏览器运行的在线工具,请参阅此答案

于 2009-02-13T05:18:19.313 回答
2

我总是用这个: http: //gskinner.com/RegExr/

于 2009-02-12T21:53:48.853 回答
1

Regex Buddy 太过分了(40 美元),只能在 Windows 上运行。早在 2009 年,这也许是一个不错的选择。

现在我们拥有免费的强大在线工具来构建和测试正则表达式。Regex101就是其中之一:

  • 让您选择 RE 引擎(PCRE、JavaScript、Python)
  • 为比赛着色
  • 即时解释正则表达式
  • 有一个调试器
  • 可以创建到正则表达式操场的永久链接。

我的其他答案中有更多正则表达式测试工具。

于 2014-02-26T05:21:55.093 回答
1

我真的很喜欢RegexPal,它简单、清晰、无需安装且可在线免费获得。

于 2009-02-12T22:14:27.977 回答
1

在线...有一个带有 js/pcre/posix 实现的 ajax 正则表达式检查器,可以在您键入时进行检查.. 很酷。

http://www.rexv.org

于 2009-02-13T01:21:34.047 回答
1

反复试验。

print_r

于 2009-02-12T21:49:36.460 回答
0

由于您在谈论 PHP,您可能对Codebench感兴趣。它是一个工具,不是专门用来分解正则表达式(你已经列出了很多),而是对它们进行基准测试。由于它相当通用,因此您还可以比较非正则表达式解决方案,因为本机字符串函数通常更快。此外,它还允许您针对多个主题(目标)进行基准测试。希望你觉得它有用。

于 2009-07-15T09:36:52.667 回答
0

这是另一个用于 Java 的在线正则表达式测试器:

http://www.fileformat.info/tool/regex.htm

于 2009-02-12T23:01:14.697 回答
0

对于在线测试 Regx http://www.regexr.com/使用此站点,如果您的 regx 在此工作,那么您可以使用 preg_match() 函数在 writecodeonline.com 上检查它的 php。

于 2014-02-26T05:36:09.797 回答
0

我正在使用单元测试。这样,我可以逐步增加我的正则表达式,确保我测试的第一个案例仍然通过。如果我必须修改它,我有我所有的测试来支持我。

于 2009-11-29T17:12:52.450 回答
0

在测试正则表达式时,我通常使用Rubular 。您也可以试试txt2re.com,它可以很方便地帮助您找出表达式,甚至可以生成相关的 PHP 代码。

于 2009-02-12T21:48:24.217 回答
0

我曾经使用过正则表达式教练。但是因为它是基于 Perl 的,而且我大部分时间都在测试 .NET 正则表达式,所以我现在使用这个在线 .NET 正则表达式测试器

于 2009-07-13T20:56:14.777 回答
0

我喜欢 emacs 重建器。

于 2009-07-13T21:26:11.770 回答
0

我编写了自己的工具:Regular Expression Tester。与许多其他基于 Web 的工具不同,这个工具可以将正则表达式分解为标记并描述每个标记的作用。它非常适合检查新的表达方式,或者你很久以前写的但不太记得的表达方式。

于 2009-07-13T21:28:55.180 回答
0

我写了一个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)

打印正则表达式

于 2015-03-02T23:07:51.257 回答