c# - 如果给定模式,是否有可以生成随机正则表达式字符串的类?

标签 c# regex string

<分区>

我收到一个输入字符串,它是一个正则表达式模式,我需要随机生成一个匹配该模式的字符串。我不知道这是否需要逐段解析正则表达式字符串并为每个部分使用随机生成器,或者是否有一个开箱即用的类具有此功能。

例子:

Input string = "[0-9][A-Z]"

Possible outputs = "1A", "9B", etc..

最佳答案

据我所知,Xeger是最流行的解决方案,但它是在 Java 中..

但是,显然有一个 C# 版本:Fare .
如果您阅读描述,他们会说 Xeger 已部分移植到 Fare 应用程序中,但没有完全移植。

Included a .NET port of Xeger, for generating random text from regular expressions. Xeger does not support all valid Java regular expressions. The full set of what is defined here and is summarized at (http://code.google.com/p/xeger/wiki/XegerLimitations).

不过,我还没有测试过它,也不知道它是否/如何工作。所以请自行决定使用。我找不到其他任何容易且准备就绪的东西,这似乎是一个差距。你会认为会有一些预制类(class)......

如果您知道您需要它来做一些相对简单的事情,那么我认为您最好编写自己的小型 RegexGenerator。它确实需要您解析每段输入 "[..]"并使用 Random 来生成那段字符串。

关于c# - 如果给定模式,是否有可以生成随机正则表达式字符串的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31731291/

相关文章:

c# - 为什么 Task<TResult>.Result 在这种情况下不起作用?

c# - 我可以在 foreach 中使用 StringBuilder 元素吗?

javascript 正则表达式来指示字符串开头不需要的数字

python - 为什么 Python 中的字符串没有 insert() 方法?

string - 从没有空格和标点符号的字符串中取消连接单词的算法

C# 读取 CSV 文件

c# - 尝试在没有模型出现 "tree may not contain dynamic operation"错误的情况下使用 DropDownListFor

java - 在 Java 中返回连接字符串并检查 null 或空的最佳方法是什么?

regex - Sed 匹配数字后跟字符串并返回数字

java - 正则表达式 模式匹配 java