我正在编写一个 Java 实用程序,它可以帮助我生成大量数据以进行性能测试。能够为字符串指定正则表达式以便我的生成器吐出与此匹配的内容,这将是真的很酷。
有什么东西已经出炉了,我可以用它来做这件事吗?或者有没有一个图书馆可以让我大部分时间到达那里?
最佳答案
编辑:
关于这个问题的建议库的完整列表:
* - 取决于 dk.brics.automaton
编辑: 正如评论中提到的,谷歌代码中有一个库可以实现这一点: https://code.google.com/archive/p/xeger/
另见 https://github.com/mifmif/Generex根据 Mifmif 的建议
原文:
首先,使用足够复杂的正则表达式,我相信这是不可能的。但是你应该能够为简单的正则表达式组合一些东西。
如果您查看类 java.util.regex.Pattern 的源代码,您会发现它使用 Node 实例的内部表示。每个不同的模式组件都有自己的 Node 子类实现。这些节点被组织成一棵树。
通过生成遍历这棵树的访问者,您应该能够调用重载的生成器方法或某种将某些东西拼凑在一起的生成器。
关于java - 使用正则表达式生成字符串而不是匹配它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115/