【问题标题】:How to verify regexp patterns?如何验证正则表达式模式?
【发布时间】:2009-10-12 09:36:28
【问题描述】:

验证给定正则表达式模式是否适用于给定场景并检查结果的常用方法是什么?

我想知道一般情况下,而不是特定的编程语言,以及学习编写正则表达式的最佳方法是什么?

【问题讨论】:

    标签: regex language-agnostic


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      我在学习时使用了这个资源:http://www.regular-expressions.info/,并且发现自己只要有需要记住的东西就会回到那里。它对学习非常有用,并且很好地涵盖了基础知识。它们还有各种可用于验证正则表达式的程序的链接。

      【讨论】:

        【解决方案3】:

        这不是“真正的”验证,但RegexBuddy 允许您验证您的正则表达式对您提供的任何样本数据是否符合您的预期。它还将正则表达式翻译成英文描述,有助于找出错误。此外,它了解所有主要的正则表达式风格,并且可以在它们之间翻译正则表达式。

        【讨论】:

        • +1 用于暗示“这不是‘真实’验证”。您只使用您的模式测试单个样本。
        • 没错。弄清楚你真正想要什么,然后找到所有相关的正面和负面测试用例无论如何都是真正的挑战。您可能能够证明您的正则表达式在给定场景中有效 - 但您的场景定义不正确......
        【解决方案4】:

        要测试正则表达式,您可以使用下面的 RegEx 测试工具:

        要了解更多关于如何学习正则表达式,请查看以下 SO 线程:

        【讨论】:

          【解决方案5】:

          RAD Rexexp designer 是一个很棒的工具

          【讨论】:

            【解决方案6】:

            使用您选择的工具设置自动化测试(因为正则表达式的实现因语言和库而异),将正则表达式应用于各种匹配和不匹配的输入,以验证您是否获得了正确的结果.

            虽然 RegexBuddy 等可能有助于最初创建正则表达式(或者可能不会;我从未使用过它们),但您仍然需要维护它,就像任何其他代码一样。当那个时候到来时,最好有一个测试脚本,它可以在几秒钟内运行所有旧的测试输入(加上产生更改需求的新输入),而不是必须在网站上坐上几十个几分钟,如果不是几小时,试图记住所有的测试输入并手动重新运行它们以确保你没有破坏任何东西。

            【讨论】:

            • 在 RegexBuddy 中,您可以将正则表达式与其测试数据组合添加到库中。如果您在代码中添加注释,提及包含正则表达式的 RegexBuddy 库,您可以立即检索正则表达式和测试数据。
            猜你喜欢
            • 2017-03-03
            • 1970-01-01
            • 2015-05-14
            • 2019-08-03
            • 2014-09-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多